Strona 1 z 1

Sterownik Kamerki internetowej - kompilacja

: 06 maja 2007, 13:36
autor: LOCO
Witam, chce zainstalowac sterownik do mojej nietypowej kamerki, która pod komenda lsusb jest wykrywana jako NHJ, Ltd Che-ez! Snap / iClick Tiny VGA Digital Camera


Mam sterownik sqcam dla kernela 2.6 jednak kiedy trzeba zrobic make wywala takie cos w terminalu ;

Kod: Zaznacz cały

pablo@pablo-desktop:~/sqcam$ sudo make
make -C /usr/src/linux-headers-2.6.20-15-generic SUBDIRS=/home/pablo/sqcam modules
make[1]: Wejście do katalogu `/usr/src/linux-headers-2.6.20-15-generic'
  CC [M]  /home/pablo/sqcam/sq905.o
In file included from /home/pablo/sqcam/sq905.c:39:
/home/pablo/sqcam/usbvideo.h:19:26: error: linux/config.h: No such file or directory
In file included from /home/pablo/sqcam/sq905.c:39:
/home/pablo/sqcam/usbvideo.h:203: error: field ‘vdev’ has incomplete type
/home/pablo/sqcam/usbvideo.h:277: error: field ‘vdt’ has incomplete type
/home/pablo/sqcam/sq905.c:84: error: field ‘vdev’ has incomplete type
/home/pablo/sqcam/sq905.c: In function ‘sqcam_ioctl’:
/home/pablo/sqcam/sq905.c:309: warning: implicit declaration of function ‘video_devdata’
/home/pablo/sqcam/sq905.c:309: warning: initialization makes pointer from integer without a cast
/home/pablo/sqcam/sq905.c:310: error: dereferencing pointer to incomplete type
/home/pablo/sqcam/sq905.c:336: warning: implicit declaration of function ‘copy_to_user’
/home/pablo/sqcam/sq905.c:347: warning: implicit declaration of function ‘copy_from_user’
/home/pablo/sqcam/sq905.c: In function ‘sqcam_open’:
/home/pablo/sqcam/sq905.c:549: warning: initialization makes pointer from integer without a cast
/home/pablo/sqcam/sq905.c:551: error: dereferencing pointer to incomplete type
/home/pablo/sqcam/sq905.c:561: warning: ISO C90 forbids mixed declarations and code
/home/pablo/sqcam/sq905.c: In function ‘sqcam_close’:
/home/pablo/sqcam/sq905.c:629: warning: initialization makes pointer from integer without a cast
/home/pablo/sqcam/sq905.c:630: error: dereferencing pointer to incomplete type
/home/pablo/sqcam/sq905.c: In function ‘sqcam_read’:
/home/pablo/sqcam/sq905.c:737: warning: initialization makes pointer from integer without a cast
/home/pablo/sqcam/sq905.c:738: error: dereferencing pointer to incomplete type
/home/pablo/sqcam/sq905.c: In function ‘sqcam_mmap’:
/home/pablo/sqcam/sq905.c:782: error: dereferencing pointer to incomplete type
/home/pablo/sqcam/sq905.c:783: error: dereferencing pointer to incomplete type
/home/pablo/sqcam/sq905.c:783: error: dereferencing pointer to incomplete type
/home/pablo/sqcam/sq905.c:785: warning: initialization makes pointer from integer without a cast
/home/pablo/sqcam/sq905.c:795: error: dereferencing pointer to incomplete type
/home/pablo/sqcam/sq905.c:795: warning: ISO C90 forbids mixed declarations and code
/home/pablo/sqcam/sq905.c:816: warning: implicit declaration of function ‘remap_page_range’
/home/pablo/sqcam/sq905.c:816: error: ‘PAGE_SHARED’ undeclared (first use in this function)
/home/pablo/sqcam/sq905.c:816: error: (Each undeclared identifier is reported only once
/home/pablo/sqcam/sq905.c:816: error: for each function it appears in.)
/home/pablo/sqcam/sq905.c: At top level:
/home/pablo/sqcam/sq905.c:855: error: unknown field ‘owner’ specified in initializer
/home/pablo/sqcam/sq905.c:855: warning: initialization from incompatible pointer type
/home/pablo/sqcam/sq905.c: In function ‘sqcam_exclusive_release’:
/home/pablo/sqcam/sq905.c:866: error: dereferencing pointer to incomplete type
/home/pablo/sqcam/sq905.c:873: warning: implicit declaration of function ‘video_unregister_device’
/home/pablo/sqcam/sq905.c:887: error: dereferencing pointer to incomplete type
/home/pablo/sqcam/sq905.c: At top level:
/home/pablo/sqcam/sq905.c:894: error: variable ‘sqcam_template’ has initializer but incomplete type
/home/pablo/sqcam/sq905.c:895: error: unknown field ‘owner’ specified in initializer
/home/pablo/sqcam/sq905.c:895: warning: excess elements in struct initializer
/home/pablo/sqcam/sq905.c:895: warning: (near initialization for ‘sqcam_template’)
/home/pablo/sqcam/sq905.c:896: error: unknown field ‘name’ specified in initializer
/home/pablo/sqcam/sq905.c:896: warning: excess elements in struct initializer
/home/pablo/sqcam/sq905.c:896: warning: (near initialization for ‘sqcam_template’)
/home/pablo/sqcam/sq905.c:897: error: unknown field ‘type’ specified in initializer
/home/pablo/sqcam/sq905.c:897: warning: excess elements in struct initializer
/home/pablo/sqcam/sq905.c:897: warning: (near initialization for ‘sqcam_template’)
/home/pablo/sqcam/sq905.c:898: error: unknown field ‘hardware’ specified in initializer
/home/pablo/sqcam/sq905.c:898: warning: excess elements in struct initializer
/home/pablo/sqcam/sq905.c:898: warning: (near initialization for ‘sqcam_template’)
/home/pablo/sqcam/sq905.c:899: error: unknown field ‘release’ specified in initializer
/home/pablo/sqcam/sq905.c:899: warning: excess elements in struct initializer
/home/pablo/sqcam/sq905.c:899: warning: (near initialization for ‘sqcam_template’)
/home/pablo/sqcam/sq905.c:900: error: unknown field ‘fops’ specified in initializer
/home/pablo/sqcam/sq905.c:900: warning: excess elements in struct initializer
/home/pablo/sqcam/sq905.c:900: warning: (near initialization for ‘sqcam_template’)
/home/pablo/sqcam/sq905.c:901: error: unknown field ‘minor’ specified in initializer
/home/pablo/sqcam/sq905.c:901: warning: excess elements in struct initializer
/home/pablo/sqcam/sq905.c:901: warning: (near initialization for ‘sqcam_template’)
/home/pablo/sqcam/sq905.c: In function ‘sqcam_probe’:
/home/pablo/sqcam/sq905.c:961: error: invalid application of ‘sizeof’ to incomplete type ‘struct video_device’ 
/home/pablo/sqcam/sq905.c:961: error: invalid application of ‘sizeof’ to incomplete type ‘struct video_device’ 
/home/pablo/sqcam/sq905.c:961: error: invalid application of ‘sizeof’ to incomplete type ‘struct video_device’ 
/home/pablo/sqcam/sq905.c:972: warning: implicit declaration of function ‘video_register_device’
/home/pablo/sqcam/sq905.c:972: error: ‘VFL_TYPE_GRABBER’ undeclared (first use in this function)
/home/pablo/sqcam/sq905.c: In function ‘usbvideo_rvmalloc’:
/home/pablo/sqcam/sq905.c:1336: warning: implicit declaration of function ‘SetPageReserved’
/home/pablo/sqcam/sq905.c:1336: warning: implicit declaration of function ‘vmalloc_to_page’
/home/pablo/sqcam/sq905.c: In function ‘usbvideo_rvfree’:
/home/pablo/sqcam/sq905.c:1353: warning: implicit declaration of function ‘ClearPageReserved’
/home/pablo/sqcam/sq905.c: In function ‘usbvideo_kvirt_to_pa’:
/home/pablo/sqcam/sq905.c:1364: warning: implicit declaration of function ‘page_address’
make[2]: *** [/home/pablo/sqcam/sq905.o] Błąd 1
make[1]: *** [_module_/home/pablo/sqcam] Błąd 2
make[1]: Opuszczenie katalogu `/usr/src/linux-headers-2.6.20-15-generic'
make: *** [module] Błąd 2
Może mi ktoś pomóc co z tym zrobic aby się dało skompilowac?

: 06 maja 2007, 13:43
autor: kiler129
A daleś najpierw ./configure ?

: 06 maja 2007, 17:02
autor: LOCO
nie ma możliwości wykonać polecenia "./configure" dla tego sterownika, tylko "make"

: 06 maja 2007, 19:12
autor: kiler129
Ale musisz wykonać to polecenie, bo inaczej masz bledy.
Druga sprawa to czy masz pakiet linux-headers-2.6.20-15-generic ?

: 06 maja 2007, 20:33
autor: LOCO
Po wydaniu polecenia "./confiugre" wyświetla się :

Kod: Zaznacz cały

bash: ./configure: No such file or directory 
w pliku readme pisze :

Kod: Zaznacz cały

Edit KERNEL_DIR variable in Makefile to reflect your 2.6 kernel dir.
Then just run make.
You will get sqcam.ko. Copy it to /lib/modules/`uname -r`/drivers/usb/media/
dir and run depmod -a. 
 Remember this driver is in development, however, camera unplugging and repluggind is now supported.
You might get a small error message when closing your webcam application (to bo fixed in future version of this driver).
Tak więc adres linux-header [...] - generic , odwołuje się do miejsca gdzie mam jądro.

To co mam zrobić jeśli nie mam ./configure do tego?
[/code]

: 06 maja 2007, 21:13
autor: kiler129
Tu nie chodzi o to gdzie masz jądro tylko gdzie masz jego źródła !
Sprawdź czy masz folder linux-headers-2.6.20-15-generic w /usr/src

: 06 maja 2007, 22:20
autor: LOCO
Tak mam taki katalog, a dokładniej
/usr/src/linux-headers-2.6.20-15
i wpisałem to do pliku makefile tak jak w readme pisało.

dalej nie wiem co zrobić, proszę o pomoc

: 07 maja 2007, 00:54
autor: kiler129
a dales ./configure i make w tym katalogu czy tam sa surowe nie skompilowane zrodla ? Musza byc skompilowane.

: 07 maja 2007, 18:18
autor: LOCO
w tym katalogu : /usr/src/linux-headers-2.6.20-15 ?

Tam się niczym nie bawiłem. wszystko jest standardowo tak jak po instalacji ubuntu. powinnem tam też coś robić?

: 07 maja 2007, 20:50
autor: kiler129
Tak, daj tam ./configure i make

: 08 maja 2007, 18:21
autor: LOCO

Kod: Zaznacz cały

pablo@pablo-desktop:/usr/src/linux-headers-2.6.20-15-generic$ sudo ./configure
Password:
sudo: ./configure: command not found
pablo@pablo-desktop:/usr/src/linux-headers-2.6.20-15-generic$ sudo make
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
  HOSTCC  scripts/genksyms/lex.o
  HOSTLD  scripts/genksyms/genksyms
  CC      scripts/mod/empty.o
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
make[1]: *** Brak reguł do zrobienia obiektu `init/main.o', wymaganego przez `init/built-in.o'. Stop.
make: *** [init] Błąd 2
pablo@pablo-desktop:/usr/src/linux-headers-2.6.20-15-generic$ 
co dalej?

[ Dodano: 9 Maj 07, 17:56 ]
Doszedłem do linku w którym opisane jest howto jak zainstalować mój sterownik

Strona :
Jednak jądro od Feistiego które używam jest jakieś "dziwnie", otóż to co pod jądrem z Ubuntu 6.10 (2.6.17-10) ruszyło.. wprawdzie były błedy... bo odpalane było na live CD, to na jądrze z feistym wyskakują okropne błędy o których nie mam pojęcia.

Pomożecie??

[ Dodano: 10 Maj 07, 18:00 ]
Panowie, proszę

//wybaczcie za nachalność, ale uzytkowanie kamerki pod ubuntu jest dla mnie nocna zmorą, szczególnie ze jądro w 2.6.20-15 ma inną konstrukcje...

Odp: Sterownik Kamerki internetowej - kompilacja - problem

: 03 lis 2008, 22:21
autor: woti
kiler129 pisze:Tak, daj tam ./configure i make
No, nie!!!!!!!! Czasem tłumaczenia są gorze od samego problemu :(
Mam podobny problem, ale nawet już boję się pytac. Za pytanie tu potrafią opiórkać. Zatem spadam - nie zapytam, choć mnie diabli biorą.