Portál AbcLinuxu, 4. května 2025 07:34

Dotaz: USB webkamera kontra Linux na ARMu

ZdenálM avatar 12.4.2011 18:13 ZdenálM | skóre: 2 | blog: Student | Třebíč
USB webkamera kontra Linux na ARMu
Přečteno: 398×
Odpovědět | Admin
Zdravím,

mám problém s UVC webkamerou. Jde o Genius Facecam 1000. Chtěl bych ji použít s programem mjpg-streamer na streamování obrazu po ethernetu. Nejdříve jsem to zkoušel s Facecam 1320 a fungovalo to dobře, až na to, že ta má jenom nekomprimovaný výstup, takže kompresi musel obstarávat mjpg-streamer a bylo to pomalé. Facecam 1000 má sice výstup komprimovaný, ale pro změnu nefunguje. Tedy na notebooku (x86) je všechno v nejlepším pořádku, ale na ARMu ne. Abych vyloučil problém v mjpg-streameru, zkompiloval jsem si referenční kód z: http://v4l2spec.bytesex.org/spec-single/v4l2.html#CAPTURE-EXAMPLE a výsledek je stejný - na x86 funguje, na ARMu ne. Nevím jestli nemůže být problém v tom, že ARM (AT91SAM9260) má sice USB2.0, ale jen full-speed. Nicméně Facecam 1320 fungovala, takže tím to asi nebude.

Na x86 používám jádro 2.6.35 a normální glibc. Na kitu s ARMem mám 2.6.33.7.2-rt30 a uClibc.

v4l capture example skončí s chybou: VIDIOC_STREAMON error 5, Input/output error

Podle logu je kamera detekovaná dobře:
[ 2042.100000] usb 1-1: new full speed USB device using at91_ohci and address 3
[ 2042.290000] usb 1-1: New USB device found, idVendor=0458, idProduct=707e
[ 2042.290000] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2042.310000] usb 1-1: Product: FaceCam 1000
[ 2042.320000] usb 1-1: Manufacturer: KYE SYSTEMS CORP.
[ 2042.400000] uvcvideo: Found UVC 1.00 device FaceCam 1000 (0458:707e)
[ 2042.460000] input: FaceCam 1000 as
/devices/platform/at91_ohci/usb1/1-1/1-1:1.0/input/input1
Jak tak koukám na různá fóra, hodně problémů se řeší vložením modulu uvcvideo s parametrem quirks=2 - nevím co to má přesně dělat, má to v tomto případě nějaký smysl? Ptám se, protože to nemůžu jen tak snadno vyzkoušet - uvcvideo nemám jako modul.

Díky za případné rady.

S pozdravem Zdeněk Materna
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.4.2011 17:22 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: USB webkamera kontra Linux na ARMu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Full speed only mód nevadí. Funkčnost může být omezená použitím jiné platformy, já jsem zkoušel Microblaze a při provozu vznikaly nepochopitelná selhání. Na x86 driver fungoval krásně (podobný problém měl zase kámoš na x86 vs. ARM pro usb wifi). Quirks jsou jakési hacky u "ošizeného" hardware, nebo u hardware, který funguje špatně. Podle zdrojáků by se mělo snad jednat o něco s kompresí snímku (definice v souboru uvcvideo.h). Tento parametr lze změnit i pro ovladač v jádře, podle jedný stránky to lze takto:
echo 2 > /sys/modules/uvcvideo/parameters/quirks
Jinak nezkoušel bych ten ukázkový zdroják, ale buď bych udělal něco jako cat /dev/video (nemusí fungovat, pokud ovladač neimplementuje .write a .read). Nebo což je nejvíc úspěšnější (z mých empirických pokusů) použít mplayer.
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.