Webcam auf Angström


7

Ich verwende Angström auf meinem BeagleBoard-xm . Ich möchte eine Webcam verwenden (ich habe Microsoft LifeCam Cinema und Logitech C310). Ich installiert v4l-utils, libv4l-devund kernel-module-uvcvideomit opkg. Die Webcams werden jedoch nicht im /devOrdner angezeigt. cheesekann sie auch nicht finden.

Hier ist die Ausgabe von dmesg:

[ 8925.347137] usb 2-2.4.3: new high speed USB device using ehci-omap and address 8
[ 8925.489044] usb 2-2.4.3: New USB device found, idVendor=045e, idProduct=075d
[ 8925.496490] usb 2-2.4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 8925.504333] usb 2-2.4.3: Product: Microsoft�� LifeCam Cinema(TM)
[ 8925.510528] usb 2-2.4.3: Manufacturer: Microsoft
[ 8926.635742] 8:3:1: cannot get freq at ep 0x82

und hier ist die Ausgabe von lsusb:

# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 002 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 002 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 002 Device 005: ID 04d9:1603 Holtek Semiconductor, Inc. 
Bus 002 Device 006: ID 045e:0040 Microsoft Corp. Wheel Mouse Optical
Bus 002 Device 008: ID 045e:075d Microsoft Corp.

Das uvcvideo-Kernelmodul scheint sich im richtigen Ordner zu befinden:

# locate uvcvideo.ko
/lib/modules/2.6.32/kernel/drivers/media/video/uvc/uvcvideo.ko

# uname -a
Linux beagleboard 2.6.32 #3 PREEMPT Tue Jul 26 10:56:56 CEST 2011 armv7l unknown

lsmodAusgabe ist:

# lsmod
Module                  Size  Used by
ipv6                  249063  10

Aber ich sehe kein uvcvideo-Modul in der lsmodAusgabe. Soll ich etwas anderes tun, um das Modul zu laden? Oder sollte ich einen bestimmten Treiber installieren?


Haben Sie versucht, die lsmodAusgabe nach einem zu überprüfen modprobe uvcvideo?
Dkaragasidis

@ Karagasidis Ich bekommeFATAL: Module uvcvideo not found.
Mustafa

Kann Ihr überprüfen, ob uvcvideo.ko auf Ihrem System vorhanden ist, und es wird gegen die Kernel - Version kompiliert Sie laufen (mit modinfo)?
Dkaragasidis

@dkaragasidis ja, es ist im Ordner /lib/modules/2.6.32/kernel/drivers/media/video/und es gibt eine Zeilevermagic: 2.6.32 preempt mod_unload modversions ARMv7
mustafa

Großartig. Können Sie versuchen, das Modul mit insmoddem absoluten Pfad von uvcvideo.ko zu laden? Erhalten Sie Fehlermeldungen?
Dkaragasidis

Antworten:


5

An Busse wie PCI, PCMCIA und USB angeschlossene Geräte verfügen über eine Kennung, die den Hersteller und das Modell eindeutig codiert. Module, die Treiber für an diese Busse angeschlossene Geräte enthalten, enthalten Informationen zu den von ihnen unterstützten Geräten in Form einer Liste von PCI-Kennungen, USB-Kennungen, PCMCIA-Kennungen usw. Wenn der Kernel ein Gerät auf einem dieser Busse erkennt, versucht er es um einen Treiber für diese bestimmte Kennung zu laden. Genauer gesagt versucht der Kernel, ein Modul namens (sagen wir) zu laden, usb:somelongstringin dem die lange Zeichenfolge die USB-Kennung des Geräts codiert. Wenn Sie einen Kernel kompilieren oder installieren, depmodliest das Programm alle vorhandenen Moduldateien ( .ko) und generiert eine modules.aliasDatei in /lib/module/$VERSION/Zeilen wie

alias usb:somelongstring uvcvideo

Es sieht so aus, als hätten Sie auf Ihrem System einen Treiber, der Ihr Gerät unterstützt, aber die modules.aliasDatei deklariert nicht den richtigen Alias. Führen Sie zunächst aus depmod -a, um sicherzustellen, dass diese Datei auf dem neuesten Stand ist.

Wenn das Modul danach nicht automatisch geladen wird, sondern funktioniert, wenn es manuell geladen wird, haben Sie ein etwas neueres Modell mit einer unbekannten Kennung, das jedoch mit demselben Treiber arbeitet, da es ausreichend kompatibel ist bekannte Modelle. In diesem Fall melden Sie Ihren Erfolg dem Upstream-Entwickler, damit die Kennung der nächsten Version des Treibers hinzugefügt wird. Fügen Sie in der Zwischenzeit den Alias ​​manuell hinzu. Sie finden die lange Schnur in /sys/bus/usb/devices/2-2.4.3/modalias. Erstellen Sie eine Datei mit dem Namen /etc/modprobe.d/local-aliases.confund fügen Sie die Zeilen hinzu

# Microsoft LifeCam Cinema
alias usb:somelongstring uvcvideo

Es gibt eine gute Beschreibung der Modalien im Arch-Wiki .


Süß, das wusste ich gar nicht.
n0pe
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.