[MEGOLDVA] Raspberry Pi + USB Webcam

 ( karika200 | 2012. szeptember 23., vasárnap - 12:54 )

Sziasztok!

Raspberry Pi-t szeretném befogni kamera szervernek, de adódott egy kis gond vele. A lapon Raspbian fut 3.2.27-es kernellel. A kamera egy Canyon CNR-WCAM820 (0ac8:3420), amit már x86-on használtam motion-el videó stream-re.

A napokban a régi x86-os gépről előhalásztam a motion.conf-ot és be akartam üzemelni a pi-n, de nem akarja az igazat. Ilyen hibákat generál:

[1] Error starting stream VIDIOC_STREAMON: Input/output error
[1] ioctl (VIDIOCGCAP): Invalid argument
[1] Could not fetch initial image from camera

Próbáltam számtalan más programmal is: cat, ffmpeg, vlc, mjpeg-streamer, luvcview és stb. de mind hibára futott sajnos. A kamera uvc kompatibilis, így szerintem driver szinten rendben kellene lennie. lsmod szerint ezek a modulok vannak betöltve:

Module Size Used by
nfsd 236425 2
ipv6 271235 36
evdev 8682 0
spidev 5136 0
snd_usb_audio 93242 0
snd_pcm 74834 1 snd_usb_audio
uvcvideo 59742 0
snd_timer 19698 1 snd_pcm
snd_page_alloc 4951 1 snd_pcm
snd_hwdep 5730 1 snd_usb_audio
snd_usbmidi_lib 17812 1 snd_usb_audio
snd_rawmidi 20611 1 snd_usbmidi_lib
videodev 88790 1 uvcvideo
snd_seq_device 6300 1 snd_rawmidi
snd 52489 7 snd_seq_device,snd_rawmidi,snd_usbmidi_lib,snd_hwdep,snd_timer,snd_pcm,snd_usb_audio
spi_bcm2708 4401 0
i2c_bcm2708 3542 0

Próbáltam már "LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libv4l/v4l2convert.so"-al is indítani a programokat, de az sem segített sajnos.

Rengeteg fórumot átnéztem már, de sehogy sem akar sikerülni a dolog. Kinek van valami ötlete, hogy hogyan lehetne beüzemelni a kamerát?

MEGOLDÁS: modprobe uvcvideo quirks=2

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Vannak webkamerák, amikkel tudottan probléma van. Ez mondjuk nincs köztük:

http://elinux.org/RPi_VerifiedPeripherals#Problem_USB_Webcams

A működő cuccok:

http://elinux.org/RPi_VerifiedPeripherals#Working_USB_Webcams

A tápegység egyébként elbírja biztos?

--
trey @ gépház

Igen, néztem ezeket a listákat, de se pro se contra. A tápegység már megfordult az én fejemben is, de mivel ~20km-re van az eszköz, eddig kimérni még nem tudtam. 700mA-es táppal hajtom, de ha azt veszem, hogy az USB-n max. 500mA ebből ki tud menni és csak 200mA marad a lapnak... háát...

Ezeken az USB-ken csak 100 mA tud kimenni és az lehet, hogy kevés. Aktív USB hub-bal nézd.

Ezt nem tudtam. No, akkor az lesz, hogy PC-n rámérek, hogy hány mA kell neki, aztán ha kevés a betáp, akkor kap egy hub-ot. Köszi!

PC-n rámérek, hogy hány mA kell neki

Ne mérjél rá. lsusb -v megmondja.

Ez szuper! Kösz, ezt jó tudni!
Emlékeztető magamnak: lsusb -v 2>/dev/null|egrep -i 'bus|maxpower'

Köszi a tippet, így valóban egyszerűbb az élet.. ;]

Úgy tűnik tényleg itt lesz a kutya elásva.. 128 mA helyből most a max. Szerzek egy USB hubot, megnézem mire jutok, aztán megírom az eredményt.

Egy jó tanács: mielőtt aktív USB hubot szereznél nézd meg a fent már említett linket (http://elinux.org/RPi_VerifiedPeripherals)
Sok kellemetlenségtől kíméled meg magad. Vannak hubok amik elég furán viselkednek.

Köszi, megpróbálok olyat újítani ami supported vagy legalább nem helyből "feketelistás".

Vettem HUB-ot, de sajnos a problémát nem oldotta meg. Annyi az igazsághoz hozzá tartozik, hogy a kamera kb. 10 méter UTP kábelen van RJ45-USB extenderrel a Pi-n. Ezt eddig azért nem említettem, mert nem gondoltam, hogy számít, ugyanis az x86-al ugyan ez a konfig volt és ment. Igaz, akkor másik kábel volt beiktatva, de az 25 méter volt cserébe. Valószínűleg ez a kábel ami most van a kamera és a gép között gyengébb minőségű vagy fene tudja, mert ezzel se x86-ról se Pi-ről nem megy a kamera. Direktbe kötve viszi a szeder is szépen, még hub nélkül is. Tehát, valószínűleg egy cat5 csere vagy még inkább egy USB repeater oldja majd meg a gondomat.

No, akkor a felállás a következő: a kábel, a kamera az RJ45 extender és minden szuper, ugyanis Windows7-re rádugva pöccre megy a kamera. Tehát a hiba szoftveres eredetű lesz, de abból is az érdekes fajta. Az eszköz uvc kompatibilis, így a linuxos vasakra rádugva az uvcvideo modul töltődik be neki és annyi. Az érdekes rész: direktbe a Pi-re rákötve tökéletesen megy, tehát minden féle toldó és extender nélkül. Extenderen keresztül viszont se x86 se semmilyen másik linuxon nem megy.

Megnéztem közben az uvcvideo modul paramétereit és találtam ilyeneket:

parm: clock:Video buffers timestamp clock
parm: nodrop:Don't drop incomplete frames (uint)
parm: quirks:Forced device quirks (uint)
parm: trace:Trace level bitmask (uint)
parm: timeout:Streaming control requests timeout (uint)

Több ötletem nincs. Ha valakinek van még tippje, azt szívesen fogadom! Köszi...

nalam egy masik kamera (sima generic uvc videokent jelenik meg) szinten "bugos" volt, de nalam a quirks=2 megoldotta.
itt megnezheted mit lehet allitani a quirks-el. probalkozz, hatha egyikkel megy.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Igen, közben már néztem a táblázatot, de a quirks=2 a javaslatodra kipróbáltam és működik végre! El sem hiszem... :) Köszönöm a segítséget!