Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Instalace, aktualizace a spouštění => Téma založeno: Freglin 11 Prosince 2009, 21:13:19
-
Zdravím,
pokouším se instalovat ovladač gspca a nedaří se kompilace.
Jel sem podle postupu v README_INSTAL
Compiling it
============
The driver module can be built without modifying your kernel source tree.
Make sure, when compiling the driver, you use the same version of compiler as
was used to compile your kernel. Not doing so can create incompatible binaries.
as root
goes to gspcav1 directory and run:
./gspca_build
if all goes right the module is compiled and load in memory
if not, errors messages can be found in kgspca.err You should post this file to the maintainer
or in the sourceforge project bugs report. <http://sourceforge.net/projects/spca50x/>
ale při zadání
./gspca_build
je mi "odpovězeno"
xxx@xxx-laptop:/tmp/gspcav1-20071224$ sudo ./gspca_build
REMOVE the old module if present
ERROR: Module gspca does not exist in /proc/modules
CLEAN gspca source tree
rm -r -f *.o decoder/.gspcadecoder.o.cmd decoder/*.o \
.gspca.o.cmd *.o *.ko *.mod.* .[a-z]* core *.i \
*.symvers *.err
COMPILE gspca Please Wait ....!!
INSTALL gspca in the kernel binary tree
mkdir -p /lib/modules/`uname -r`/kernel/drivers/usb/media/
rm -f /lib/modules/`uname -r`/kernel/drivers/usb/media/spca5xx.ko
rm -f /lib/modules/`uname -r`/kernel/drivers/media/video/gspca.ko
install -c -m 0644 gspca.ko /lib/modules/`uname -r`/kernel/drivers/usb/media/
install: nelze získat informace o „gspca.ko“: No such file or directory
make: *** [install] Error 1
LOAD gspca in memory
FATAL: Module gspca not found.
PRINT COMPILATION MESSAGES if ERRORS look kgspca.err
make -C /lib/modules/`uname -r`/build SUBDIRS=/tmp/gspcav1-20071224 CC=cc modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.31-16-generic'
CC [M] /tmp/gspcav1-20071224/gspca_core.o
/tmp/gspcav1-20071224/gspca_core.c:54:27: error: asm/semaphore.h: No such file or directory
In file included from /tmp/gspcav1-20071224/gspca_core.c:845:
/tmp/gspcav1-20071224/utils/spcausb.h: In function ‘spca5xxRegRead’:
/tmp/gspcav1-20071224/utils/spcausb.h:95: error: implicit declaration of function ‘info’
/tmp/gspcav1-20071224/utils/spcausb.h: In function ‘spca_set_interface’:
/tmp/gspcav1-20071224/utils/spcausb.h:278: error: implicit declaration of function ‘warn’
In file included from /tmp/gspcav1-20071224/gspca_core.c:853:
/tmp/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h: In function ‘sp5xxfw2_init’:
/tmp/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:122: error: called object ‘info’ is not a function
/tmp/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:136: error: called object ‘info’ is not a function
/tmp/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:141: error: called object ‘info’ is not a function
/tmp/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:148: error: called object ‘info’ is not a function
/tmp/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:176: error: called object ‘info’ is not a function
/tmp/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h: In function ‘sp5xxfw2_start’:
/tmp/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:214: error: called object ‘info’ is not a function
/tmp/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:230: error: called object ‘info’ is not a function
/tmp/gspcav1-20071224/gspca_core.c: In function ‘spca5xx_ioctl’:
/tmp/gspcav1-20071224/gspca_core.c:2463: error: implicit declaration of function ‘video_usercopy’
/tmp/gspcav1-20071224/gspca_core.c: At top level:
/tmp/gspcav1-20071224/gspca_core.c:2609: error: unknown field ‘owner’ specified in initializer
/tmp/gspcav1-20071224/gspca_core.c:2609: warning: initialization from incompatible pointer type
/tmp/gspcav1-20071224/gspca_core.c:2611: error: unknown field ‘type’ specified in initializer
/tmp/gspcav1-20071224/gspca_core.c:2615: warning: initialization from incompatible pointer type
/tmp/gspcav1-20071224/gspca_core.c: In function ‘spca50x_create_sysfs’:
/tmp/gspcav1-20071224/gspca_core.c:2769: error: implicit declaration of function ‘video_device_create_file’
/tmp/gspcav1-20071224/gspca_core.c:2780: error: implicit declaration of function ‘video_device_remove_file’
/tmp/gspcav1-20071224/gspca_core.c: In function ‘spca5xx_probe’:
/tmp/gspcav1-20071224/gspca_core.c:4301: error: incompatible types when assigning to type ‘struct device’ from type ‘struct device *’
make[2]: *** [/tmp/gspcav1-20071224/gspca_core.o] Error 1
make[1]: *** [_module_/tmp/gspcav1-20071224] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-16-generic'
make: *** [default] Error 2
xxx@xxx-laptop:/tmp/gspcav1-20071224$
Bohužel mě do toho moje snaha o nalezení řešení jen dál uvrtává a momentálně v tom zcela plavu, tak prosím o pomoc někoho z vás a omlouvám se, jestli je to jen trivialita a já sem slepej.
Díky moc
Mimochodem - instaluji gspca v souvislostí s těmito problémy:
http://forum.ubuntu.cz/index.php/topic,42263.0.html (http://forum.ubuntu.cz/index.php/topic,42263.0.html)
-
Snažíš ze zbytečně. Jde o starou větev ovladače, která není pro jádro 2.6.31. Správné zdrojáky stáhni odtud http://linuxtv.org/hg/~jfrancois/gspca/archive/tip.tar.bz2 (http://linuxtv.org/hg/~jfrancois/gspca/archive/tip.tar.bz2)a zkus to znova. Postup kompilace a instalace je popsaný v balíku. Kdybys měl problémy, dej vědět - při kompilaci jsem skončil na modulu firedtv, po zakomentování všech řádků v souboru "linux/drivers/media/dbv/firewire/Makefile" to jelo jak po másle.
A ještě malý tip - pokud nainstaluješ jádro 2.6.32 (pro ubuntu http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.32/ (http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.32/) stačí stáhnout a nainstalovat), pojede ti kamera bez problémů, neb tam je ovladač gspca v pořádku.
-
Tak hlásim posun kupředu.
Instalace proběhla bez chyb, ale po připojení kamera nefunguje.
xxx@xxx-laptop:~$ lsusb
Bus 003 Device 003: ID 0c45:613b Microdia Win2 PC Camera
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 046d:c50d Logitech, Inc. Cordless Mouse
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
xxx@xxx-laptop:~$ lsmod | grep video
video 19380 0
output 2780 1 video
-
Pošli celý výpis "lsmod". Jestli kompilace proběhla bez chybových hlášek a modul ovladače se nainstaloval, měl by být po restartu natažený v jádru.
-
A ještě malý tip - pokud nainstaluješ jádro 2.6.32 (pro ubuntu http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.32/ stačí stáhnout a nainstalovat), pojede ti kamera bez problémů, neb tam je ovladač gspca v pořádku.
Mám kameru Labtec WebCam Pro. Do přeinstalace na 9.10 šlapala nádherně, pak se rozhodli driver nějak sprasit a kamera jde nějak divně. Pokud jsem provedl kompilaci, tak proběhla OK, bohužel jsem už s 2.6.31-17 jádrem nikdy nenastartoval. Po instalaci 2.6.32 mi kamera jede stejným (čti hnusným) styelm jako v předchozím případě. Tak nevim. Asi budu muset koupit nějakou co jede na UVC driveru, ten ještě zprasit nestačili.
-
Něco je s gspca špatně. Ovladač je součástí jádra od 2.6.28, to mi kamera MS VX-1000 šlapala poprvé a naposledy. Od té doby opět sama funguje až v 2.6.32. Mezitím to zachraňovala pouze kompilace modulu. Máš kliku, že Labtec chodil aspoň v 9.04. Nicméně to co píšeš znamená, že ani v jádru 2.6.32 není vše v pořádku :(
-
Tady je ten "lsmod":
xxx@xxx-laptop:~$ lsmod
Module Size Used by
nls_iso8859_1 3740 1
nls_cp437 5372 1
vfat 10716 1
fat 51452 1 vfat
michael_mic 2204 8
arc4 1660 4
ecb 2524 4
videodev 38624 0
v4l1_compat 14336 1 videodev
binfmt_misc 8356 1
uinput 7836 2
ppdev 6688 0
parport_pc 31940 0
joydev 10272 0
snd_hda_codec_idt 59844 1
snd_hda_intel 26920 4
snd_hda_codec 75708 2 snd_hda_codec_idt,snd_hda_intel
snd_hwdep 7200 1 snd_hda_codec
snd_pcm_oss 37920 0
snd_mixer_oss 16028 1 snd_pcm_oss
snd_pcm 75296 4 snd_hda_intel,snd_hda_codec,snd_pcm_oss
b44 28684 0
ssb 35300 1 b44
mii 5212 1 b44
snd_seq_dummy 2656 0
lib80211_crypt_tkip 8636 0
snd_seq_oss 28576 0
dell_wmi 2564 0
snd_seq_midi 6432 0
snd_rawmidi 22208 1 snd_seq_midi
snd_seq_midi_event 6940 2 snd_seq_oss,snd_seq_midi
snd_seq 50224 7 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
iptable_filter 3100 0
ip_tables 11692 1 iptable_filter
x_tables 16544 1 ip_tables
ricoh_mmc 3676 0
snd_timer 22276 2 snd_pcm,snd_seq
snd_seq_device 6920 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
wl 1272936 0
dell_laptop 8128 0
sdhci_pci 7100 0
dcdbas 7292 1 dell_laptop
psmouse 56500 0
sdhci 17472 1 sdhci_pci
serio_raw 5280 0
led_class 4096 1 sdhci
lib80211 6432 2 lib80211_crypt_tkip,wl
snd 59204 20 snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 7264 1 snd
snd_page_alloc 9156 2 snd_hda_intel,snd_pcm
i2c_piix4 9932 0
shpchp 32272 0
k8temp 4188 0
lp 8964 0
parport 35340 3 ppdev,parport_pc,lp
dm_raid45 84228 0
xor 15620 1 dm_raid45
usbhid 38208 0
radeon 636000 2
ttm 36212 1 radeon
drm 159584 4 radeon,ttm
i2c_algo_bit 5760 1 radeon
video 19380 0
output 2780 1 video
ati_agp 6760 0
agpgart 34988 3 ttm,drm,ati_agp
ten původní modul sn9c102 je jinak ted v blacklistu, ale gspca se nenatáhne. Jinak-většinou se udává k loadu gspca příkaz:
modprobe gspcaale já mam co se gspca týče pouze tyto možnosti:
xxx@xxx-laptop:~$ modprobe gspca_
gspca_conex gspca_jeilinj gspca_m5602 gspca_pac7302 gspca_sonixj gspca_spca506 gspca_sq905c gspca_sunplus gspca_zc3xx
gspca_etoms gspca_main gspca_ov519 gspca_pac7311 gspca_spca500 gspca_spca508 gspca_stk014 gspca_tv8532
gspca_finepix gspca_mars gspca_ov534 gspca_sn9c20x gspca_spca501 gspca_spca561 gspca_stv06xx gspca_t613
gspca_gl860 gspca_mr97310a gspca_pac207 gspca_sonixb gspca_spca505 gspca_sq905 gspca_stv0680 gspca_vc032x
pokud se snažím nahrát nějaký z nich ručně, pak to ale vypadá tak, že se načte vždy jen gspca_main:
xxx@xxx-laptop:~$ sudo modprobe gspca_sonixj
xxx@xxx-laptop:~$ lsmod | grep video
videodev 38624 1 gspca_main
v4l1_compat 14336 1 videodev
video 19380 0
output 2780 1 video
(nezáleží, zda je kam připojena, či nikoliv)
kamera za stavu kdy je sn9c102 v blacklistu tedy nefunguje, i když je gspca_main v nahrané
Uff...už se s tim pachtim takovou dobu-hlavu jak pátrací balon a furt nic >:(
Díky moc za rady.. :)
-
Máš sice pravdu s nahráním modulu do jádra, ale máš na disku původní, takže příkaz modprobe ti "natáhne" původní, resp. se neprovede nic. Jestli si četl návod v balíku, tak z adresáře, v kterém jsi kompiloval moduly, zadej "sudo make install". Tím se původní stejnojmenné moduly "přeplácnou" těmi novými. Poté restart a mělo by to fungovat. ;)
-
To jsem udělal...
-
A nic? ???