webkamera telepítése

Fórumok

Megvettem egy webkamerát, ami elvileg megy az spca5xx modullal. A promlémám, hogy hogyan rakom fel ezt a modult. Repoból felraktam a source-ot. A mellékelt leírás szerint próbáltam megoldani. Felraktam mindent ami kell neki, a make parancsnál viszont errorral elszáll.
A vége a make kimenetének:
/usr/src/modules/spca5xx/drivers/usb/spca5xx.c:39:26: error: linux/config.h: Nincs ilyen fájl vagy könyvtár
/usr/src/modules/spca5xx/drivers/usb/spca5xx.c: In function ‘spca50x_init_isoc’:
/usr/src/modules/spca5xx/drivers/usb/spca5xx.c:1681: warning: assignment from incompatible pointer type
make[2]: *** [/usr/src/modules/spca5xx/drivers/usb/spca5xx.o] Error 1
make[1]: *** [_module_/usr/src/modules/spca5xx] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-14-generic'
make: *** [default] Error 2

Hozzászólások

linux-headers vagy linux-source kell neki.

A keresett helyből ítélve Ubuntu.
Használd a module-assistantot, az deb csomagot generál, sokkal kényelmesebb mint kézzel pepecselni!

A másik lehetőség, a gspca. Olvastam egy fórumban, hogy azzal is működik. Az simán felment. Viszont nincs olyan, hogy /dev/video0. Vagy valamit rosszul csináltam, vagy valami nem stimmel.

--
A lehetetlen csak a lusta ember kifogása!

Az idevonatkozó kimenet, bár nem tudom mit kellene látnom.

[ 1259.820000] usb 2-1: new full speed USB device using uhci_hcd and address 2
[ 1260.052000] usb 2-1: configuration #1 chosen from 1 choice
[ 1928.472000] usb 2-1: USB disconnect, address 2
[ 1943.368000] usb 2-1: new full speed USB device using uhci_hcd and address 3
[ 1943.596000] usb 2-1: configuration #1 chosen from 1 choice

--
A lehetetlen csak a lusta ember kifogása!

Ebben a listában szerepel a kamera:
Vendor Id Product Id Pseudo Bridge Sensor Support Stream Driver Quality
Genius 177 0x093a 0x2470 VideoCam GE112 Pac207 Pac207 Yes gbrg spca5xx ****

Pár dolog. Bridge, Sensor rész nem tudom mit jelent, de a többséggel ellentétben ezek nem spca5xx, viszont a driver meg az. És én az istenért nem tudom lefordítani a modult a fentebb említett okoság miatt.

--
A lehetetlen csak a lusta ember kifogása!

"/usr/src/modules/spca5xx/drivers/usb/spca5xx.c:39:26: error: linux/config.h: Nincs ilyen fájl vagy könyvtár"

nem lehet, hogy a modul regebbi kernelhez van?

- Use the Source Luke ! -

Building SPCA5XX driver for 2.5/2.6 kernel.
Remember: you must have read/write access to your kernel source tree.
make -C /lib/modules/`uname -r`/build SUBDIRS=/usr/src/modules/spca5xx CC=cc modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-14-generic'
CC [M] /usr/src/modules/spca5xx/drivers/usb/spca5xx.o
/usr/src/modules/spca5xx/drivers/usb/spca5xx.c:39:26: error: linux/config.h: Nincs ilyen fájl vagy könyvtár
/usr/src/modules/spca5xx/drivers/usb/spca5xx.c: In function ‘spca50x_init_isoc’:
/usr/src/modules/spca5xx/drivers/usb/spca5xx.c:1681: warning: assignment from incompatible pointer type
make[2]: *** [/usr/src/modules/spca5xx/drivers/usb/spca5xx.o] Error 1
make[1]: *** [_module_/usr/src/modules/spca5xx] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-14-generic'
make: *** [default] Error 2

Ez a teljes kimenet. Itt azt írja, hogy a 2.6-os kernelhez van. De letöltöttem a legújabbat, azzal is ez a hiba.

Amit nem értek, hogy elvileg a gspca-val is mennie kellene. De mégsincs /dev/video eszköz! ??
--
A lehetetlen csak a lusta ember kifogása!

Szerintem ha bedugod és nem rántja be a modult, vagy nincs eleve telepítve, akkor nagyon más baj van. Mikori ez az ubi?

A gspca-t fordítsd le, aszem az kell az új 2.6.x kernelekhez. Ha lefordul, modprobe -f gspca tölthető be. ----------------------------------------------------------------

Szervusz!

Mit adnak az alábbiak?

more /proc/bus/usb/devices
more /proc/bus/input/devices

elvileg mindkettőnél megjelenik a Vendor és a Product, az egyiknél még a Driver (amit használ rá), illetve a Handler (amit a /dev/input -on belül találsz rá)

(Ha valami más driver van, mint kellene, azt vedd blacklist-re a /etc/modprobe.d vagy modules.d-ben!)

Én egy USB-s rajzolópad kapcsán ütköztem bele. Gondolom ez is USB-s.

Illetve, ha modult forgattál, azt a modult másold be a /lib/modules/"kerneled verziója"/...usb vagy input vagy valami (ami logikusnak tűnik nyilván, ezt nézegesd meg!)

Mivel most Winfos előtt ülök, ezért bocs, hogy nem tudom a pontos elérési utat.

/mazursky

A gspca driver kell neked (ami az spca5xx továbbfejlesztése). Lefordítod, installálod. (Ha van hibaüzenet, megírod ide :-)) Bedugod a kamerát.

modprobe gspca

Ha itt van hibaüzenet, akkor írd meg.
Ha létrejön a /dev/video* akkor jó. Ha nem, akkor kérjük a dmesg végét.

Egyébként nem nehéz az spca5xx forráskódot sem lefordítani, de bele kell nyúlni a kódba, és hát minek, ha ott az újabb gspca.

Csaba

A suse valószínűleg rettentő automatikus rendszer, mert nekem a kamora bedugása után nem kell modprobe, azt a rendszer automatikusan ráhúzza a felismert eszközre. De ez suse.

Viszont tegnap többeknél előfordult, hogy lefordult a modul, betöltődött a modul, mégse lett eszköz. (Javasoljam, hogy használjanak susét? Nem, nem teszem. A suse nem linuksz.)

Szerintem ha segíteni akarsz, akkor próbálj meg a problémára koncentrálni. Alighanem a legtöbb modern linux magától behúzza a szükséges kernelmodulokat, így (gondolom) az ubuntu is, de ha gáz van, akkor hibaüzenetek után vadászgatva célszerű kézzel is próbálkozni. Ez bizonyára a suséban is így van. Jó rendszer az, ha szereted, használd örömmel :-) (Én is használtam susét, most másmilyet használok. Baj?)
Csaba

Újra fordítottam a leírás alapján. A modprobe gspca nem ad hibaüzenetet. /dev/video nincs. A dmesg pedig ilyen:

[ 515.388000] v4l1_compat: no version for "struct_module" found: kernel tainted.
[ 515.388000] v4l1_compat: no version magic, tainting kernel.
[ 515.388000] v4l2_common: no version magic, tainting kernel.
[ 515.392000] videodev: no version magic, tainting kernel.
[ 515.396000] Linux video capture interface: v2.00
[ 515.396000] gspca: no version magic, tainting kernel.
[ 515.400000] usbcore: registered new interface driver gspca
[ 515.400000] /build/buildd/linux-ubuntu-modules-2.6.22-2.6.22/debian/build/build-generic/media/gspcav1/gspca_core.c: gspca driver 01.00.12 registered
[ 584.012000] usb 2-1: USB disconnect, address 3
[ 585.780000] usb 2-1: new full speed USB device using uhci_hcd and address 4
[ 586.008000] usb 2-1: configuration #1 chosen from 1 choice
[ 659.316000] usbcore: deregistering interface driver gspca
[ 659.316000] /build/buildd/linux-ubuntu-modules-2.6.22-2.6.22/debian/build/build-generic/media/gspcav1/gspca_core.c: driver gspca deregistered
[ 664.876000] usb 2-1: USB disconnect, address 4
[ 666.136000] usb 2-1: new full speed USB device using uhci_hcd and address 5
[ 666.364000] usb 2-1: configuration #1 chosen from 1 choice
[ 736.976000] usb 2-1: USB disconnect, address 5
[ 739.908000] usb 2-1: new full speed USB device using uhci_hcd and address 6
[ 740.140000] usb 2-1: configuration #1 chosen from 1 choice
[ 745.632000] gspca: no version magic, tainting kernel.
[ 745.636000] usbcore: registered new interface driver gspca
[ 745.636000] /build/buildd/linux-ubuntu-modules-2.6.22-2.6.22/debian/build/build-generic/media/gspcav1/gspca_core.c: gspca driver 01.00.12 registered
[ 952.652000] usb 2-1: USB disconnect, address 6
[ 954.352000] usb 2-1: new full speed USB device using uhci_hcd and address 7
[ 954.580000] usb 2-1: configuration #1 chosen from 1 choice
[ 1118.876000] usb 2-1: USB disconnect, address 7
[ 1120.376000] usb 2-1: new full speed USB device using uhci_hcd and address 8
[ 1120.604000] usb 2-1: configuration #1 chosen from 1 choice
[ 4687.352000] usb 2-1: USB disconnect, address 8
[ 4938.856000] usb 2-1: new full speed USB device using uhci_hcd and address 9
[ 4939.084000] usb 2-1: configuration #1 chosen from 1 choice
[ 5067.152000] usb 2-1: USB disconnect, address 9
[ 5157.540000] usbcore: deregistering interface driver gspca
[ 5157.540000] /build/buildd/linux-ubuntu-modules-2.6.22-2.6.22/debian/build/build-generic/media/gspcav1/gspca_core.c: driver gspca deregistered
[ 5175.256000] usbcore: registered new interface driver gspca
[ 5175.256000] /build/buildd/linux-ubuntu-modules-2.6.22-2.6.22/debian/build/build-generic/media/gspcav1/gspca_core.c: gspca driver 01.00.12 registered
[ 5250.224000] hub 3-0:1.0: port 1 disabled by hub (EMI?), re-enabling...
[ 5250.224000] usb 3-1: USB disconnect, address 3
[ 5250.340000] usb 3-1: new low speed USB device using uhci_hcd and address 4
[ 5250.516000] usb 3-1: configuration #1 chosen from 1 choice
[ 5250.540000] input: KYE NetScroll+ EYE as /class/input/input9
[ 5250.540000] input: USB HID v1.10 Mouse [KYE NetScroll+ EYE] on usb-0000:00:1d.2-1
[ 5251.536000] usb 2-1: new full speed USB device using uhci_hcd and address 10
[ 5251.768000] usb 2-1: configuration #1 chosen from 1 choice
[ 5312.720000] usb 2-1: USB disconnect, address 10
[ 5314.584000] usb 2-1: new full speed USB device using uhci_hcd and address 11
[ 5314.812000] usb 2-1: configuration #1 chosen from 1 choice
--
A lehetetlen csak a lusta ember kifogása!

Jaja: itt a hiba:

gspca: no version magic, tainting kernel

Nem stimmel a modul kernel version string-je a modulával, ezért nem engedi betölteni.

A futó kerneled modulja, és a kernel forráskód amivel fordítottad a modult passzol?

szerk: kicsit körbegoogliztam gspca+ubuntu kulcsszavakkal, és másoknál is előjött, hogy ógy próbálták meg a drivert lefordítani, hogy nem az épp használt kernelhez való kernel headerek és kernel forrás voltinstallálva a gépen. Szóval erre figyelj!
Csaba

Futó kernel verziószáma:

uname -a

Az ubuntut nem ismerem, szóval azt mástól krdezd, hogy rakod fel a passzoló csomagokat, azok hova kerülnek, létrejön e a megfelelő helyre mutató /usr/src/linux link. Viszont ezerszer fordítottam már a gspca modult (távolról, apu gépén, régebben az spca5xx modult is), és teljesen korektül működik. A google eredményei szerint megy ubi alatt is, bár gustyra valóban panaszkodnak ez ügyben.

Szerintem mennie kell ennek, modult forgatni és használni elég alapszintű feladat, nem hinném, hogy az ubi elhasalna ilyen egyszerű feladaton.

Csaba

[ 515.400000] usbcore: registered new interface driver gspca
[ 515.400000] /build/buildd/linux-ubuntu-modules-2.6.22-2.6.22/debian/build/build-generic/media/gspcav1/gspca_core.c: gspca driver 01.00.12 registered
[ 584.012000] usb 2-1: USB disconnect, address 3

A driver betöltődik, de utána úgy látja mintha kihúztad volna, így a drivert is eltávolítja a memóriából. Ezt többször is eljátssza egymás után.

Kontakthiba?

Leszedtem pár kernelhez való cuccost, így már kiírja, hogy gspca succsesfull registered. De a kamera még mindig nem működik. A disconectek megvannak. Lassan kezdek arra gyanakodni, hogy valamit belepiszkát a gyártó és így nem működik a driverrel. Egyébként windows alatt megy rendesen. Kezdem belátni, hogy várni kell az új gspca verzióra hátha azzal már menni fog.
--
A lehetetlen csak a lusta ember kifogása!

Azért ennyire nem vagyok béna. Ezt megcsináltam én is, meg már írtam, hogy a modul fent van és nem azzal van a gond. Valamiért a kamerát nem ismeri fel annak ami. (Megj.: a régi kamera megy). Többek között ezért gondolom, hogy valami más lehet a gond. A kamera dobozán az adatok részben a GE-112x típus szerepel (kis betükkel :) ), de erről nem sokat találtam, hogy mit jelent az az x.
--
A lehetetlen csak a lusta ember kifogása!

Az spca5xx linux/config.h nélkül nem fog lefordulni.

Nos nekem egy régebbi (2.6.19.2-es kernelemben jelen van a config.h és a configfs.h is). Tök ugyanazok.
A 2.6.22.14 headerben pedig csak a configfs.h van.
Nem tudom, de lehet, hogy újabban így jön létre a config.h...?

Próbáld ki, hogy a spca5xx.c-ben átrod a


#include <linux/config.h>-t
#include <linux/configfs.h>-ra.

Vagy (ami azért egy kicsit durva) szimlinklesz egyet. :)


ln -s /usr/src/linux-headers-`uname -r`/include/linux/configfs.h /usr/src/linux-headers-`uname -r`/include/linux/config.h

kaptam egy logitech QuickCam Communicate STX webkamerát (usb), openSuse 10.3 (Gnome) alatt bedugtam, de magától nem ismerte fel. Elvileg fel kellett volna?
Vezérlőpulton a hardver résznél sem látta az USB bemeneteknél.
Másik gépemen Xubuntu 7.10 van telepítve, azon felismeri magától, vagy telepítsem a fent ismertetett módon?

Sajnos nekem sem megy a webcam belövés. Anno ment, de nem tudom már pontosan. Benne van egy tv-tuner is, igy a /dev/video0 már foglalt. Anno is úgy ment, ha kivettem, létre tudott jönni az eszköz fájl. Gondolom most is ez a gondja, de hogyan is hidalható át? mknod -ot hogyan paraméterezzem?

(1. számú driver)
Jan 25 19:02:46 Proci-Computer usbcore: registered new interface driver ov511
Jan 25 19:02:46 Proci-Computer drivers/media/video/ov511.c: v1.64 for Linux 2.5 : ov511 USB Camera Driver
(2. számú driver, elvileg nem kell, azért betöltöttem)
Jan 25 19:03:10 Proci-Computer ovcamchip: v2.27 for Linux 2.6 : OV camera chip I2C driver
Jan 25 19:03:45 Proci-Computer usb 3-2: USB disconnect, address 3
Jan 25 19:03:51 Proci-Computer usb 3-2: new full speed USB device using ohci_hcd and address 4
Jan 25 19:03:51 Proci-Computer usb 3-2: configuration #1 chosen from 1 choice

Linux Proci-Computer 2.6.22-gentoo-r2 #22 SMP Mon Jan 7 15:11:14 CET 2008 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ AuthenticAMD GNU/Linux

lsusb


Bus 003 Device 004: ID 05a9:8519 OmniVision Technologies, Inc.

cat /proc/bus/usb/devices


T:  Bus=03 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=05a9 ProdID=8519 Rev= 1.00
S:  Manufacturer=OmniVision Technologies, Inc.
S:  Product=USB Camera
C:* #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 0 Alt= 1 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS= 384 Ivl=1ms
I:  If#= 0 Alt= 2 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS= 512 Ivl=1ms
I:  If#= 0 Alt= 3 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS= 768 Ivl=1ms
I:  If#= 0 Alt= 4 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS= 896 Ivl=1ms
I:* If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=(none)
I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
E:  Ad=82(I) Atr=05(Isoc) MxPS=  40 Ivl=1ms

Szia,

A config.h-t egy ideje nem tartalmazza a kernel.de vannak amik hasznaljak, ilyen a vmware is, ha te fordítod, meg a gspca.
Itt a file tartalma:
root@fw:~# cat /usr/src/config.h
#ifndef _LINUX_CONFIG_H
#define _LINUX_CONFIG_H
/* This file is no longer in use and kept only for backward compatibility.
* autoconf.h is now included via -imacros on the commandline
*/
#include

-------------------------------------Nyissz

Üdv

Szijártó Zoltán
Aki tud az alkot, aki nem tud az csak szövegel.