USB - Webcam und Opensuse (Einrichten)

Aus Linupedia
Wechseln zu: Navigation, Suche


Identifizierung der USB-Webcam:



Viele Webcams werden von Linux unterstützt, ob die vorhandene Webcam auch unterstützt wird

kann auf folgende weise ermittelt werden:

  • Eine Textkonsole öffnen (keine sorge die beisst nicht :-) )
  • Webcam anschließen
  • Den Befehl "lsusb" reinschreiben und mit Eingabe-Taste bestätigen (lsusb-> l ,wie linux)

Beispiel für eine solche Ausgabe:

ich@auftux1:~> lsusb
Bus 002 Device 004: ID 03f0:1204 Hewlett-Packard DeskJet 930c
Bus 002 Device 003: ID 046d:08ad Logitech, Inc.
Bus 002 Device 002: ID 1241:1503 Belkin
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 004: ID 06bd:208f AGFA-Gevaert NV SnapScan e50
Bus 001 Device 003: ID 046d:c51b Logitech, Inc.
Bus 001 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 003: ID 0dda:2026 Integrated Circuit Solution, Inc. USB2.0 Card Reader
Bus 003 Device 001: ID 0000:0000

In diesem Fall ist die Webcam von Logitech :

046d:08ad Logitech, Inc.
046d bezeichnet den Hersteller
08ad bezeichnet das Gerät

Anhand von diesen beiden Merkmalen kann man in den Listen der von

Linux unterstützen Webcams nachschauen, ob diese funktionieren.

Bei KDE 4.2.4 kann dieses auch im KDE-Infozentrum -> USB-Geräte nachgeschaut werden,

vorrausgesetzt das Paket "KDE-Infozentrum" ist installiert.

Die erste Anlaufstelle:

http://mxhaard.free.fr/spca5xx.html
http://linux-uvc.berlios.de/#devices
http://www.quickcamteam.net/devices
http://www.quickcamteam.net/devices/non-uvc-webcams
http://opensource.creative.com/webcam.html
http://alpha.dyndns.org/ov511/cameras.html

Falls die Suche in diesen nicht erfolgreich sei, lohnt sich

mit der Suchmaschiene nach (Kennung / Hersteller durch eigene ersetzen):

linux 046d:08ad Logitech

zu suchen.

( Auch , wenn sich zwei Geräte des selben Hersteller in der Ausgabe befinden, kann über die Kennzeichnung , wie "046d:c51b"mithilfe

einer Suchmaschine feststellen, welches davon die Webcam ist ->in dem Fall ist "046d:c51b" eine Logitech-Maus und "046d:08ad" die Logitech-Webcam).

TREIBER



Da die Webcam in unserem Fall bereits, als 046d:08ad Logitech, Inc. identifiziert wurde

und laut der Datenbank "http://mxhaard.free.fr/spca5xx.html" mit den Treibern:

"spca5xx/LE gspca v4l1/v4l2" betrieben werden kann,da stellt sich die Frage, wo bekomme ich den?

Außer wenigen Ausnahmen , sind die Webcam-Treiber für Opensuse hier zu bekommen:

http://download.opensuse.org/repositories/drivers:/webcam/

Die Paket-Quelle kann bequem im Paketmanager Yast angebunden werden.

Ab Opensuse 11.1 sind viele der Treiber sogar direkt im Linux-Kernel integriert.

Mit:

 lsmod | grep Treiber-Name

Beispiel:

 lsmod | grep gspca
gspca                 665060  0
videodev               30464  2 spca5xx,gspca
usbcore               124268  10 snd_usb_audio,snd_usb_lib,spca5xx,usblp,gspca,usbhid,usb_storage,ehci_hcd,ohci_hcd

kann ich prüfen, ob der Treiber läuft (Treiber-Name evtl. ersetzen).

Webcam-Programme



Ist der Webcam-Treiber installiert und die Webcam angeschlossen, kann deren

Funktionalität mit einem Webcam-Programm überprüft werden.

Zu solchen Programmen gehören:


und andere.

Problembehebung



Was aber tun, wenn ich kein Bild bekomme oder das Bild ist gestört?

Wahrscheinlich ist nicht der Treiber oder die Webcam schuld , sonder was anderes.

Mögliche Fehler-Quellen:

  • Fehlende v4l-Pakete, wie das da:
http://download.opensuse.org/repositories/drivers:/webcam/
oder von da:
http://packman.links2linux.de/package/libv4l

Sonst "libv4l" hier suchen: http://software.opensuse.org/search

  • Fehlerhafte Erkennung durch Programm:

Probiere mal andere Webcam-Anwendungen, ob das Bild auch so ist.

  • Bild fehlerhaft:

Grund ist manchmal der fehlende Zusatz im Skype für die Auflösung 640x480

, dieser soll in der /home/Benutzer/.Skype/Skype_Name/config.xml rein:

(Irgendwo im Abschnitt <lib>hier einfügen</lib>)

Code:

   <Video>
     <CaptureHeight>480</CaptureHeight>
     <CaptureWidth>640</CaptureWidth>
   </Video>

oder zusätzlich mit Framezahl-Erzwingung:

Code:

   <Video>
     <CaptureHeight>480</CaptureHeight>
     <CaptureWidth>640</CaptureWidth>
     <Fps>25</Fps>    
   </Video>


  • Fehlerhafte Erkennung durch falsch verlinkte libv4l:

Skype mit :

Code:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

starten.

Dieses kann genauso mit anderen Programmen funktionieren:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so PROGRAMMNAME
  • Fehlende oder Falsche "gstreamer-Pakete" bei Cheese:

Cheese 2.26.0-37 geht nicht! Im Terminal

cheese -v

eingegeben und erhalte:

(cheese:3991): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstcacasink.so':
 /usr/lib/gstreamer-0.10/libgstcacasink.so: undefined symbol: caca_dither_bitmap 
Detected v4l2 device: USB Camera (046d:08ad)
Driver: zc3xx, version: 131584
Bus info: 0000:00:10.0
Capabilities: 0x05000001

Lösung:

fehlende Pakete:

gstreamer-0_10-ffmpeg
gstreamer-0_10-fluendo-mpegdemux
gstreamer-0_10-fluendo-mpegmux
gstreamer-0_10-plugins-bad
gstreamer-0_10-plugins-good-extra
gstreamer-0_10-plugins-ugly

nachinstallieren und Cheese startet ,bzw. liefert ein ungestörtes Bild.

  • Fehlerhafte Erkennung beim Vorhanden von anderen VIDEO-Geräten (z.B. TV-Karte):

Mögliche Lösung:

TV-Karte ausbauen, USB-WebCam einstecken und einrichten, TV-Karte einbauen und einrichten.

oder

Öffne über eine Shell im Systemverwaltungsmodus Kwrite und suche die Datei after.local

im Verzeichnis /etc/rc.d/ Falls die Datei after.local dort nicht vorhanden ist erstellst

du sie mit folgendem inhalt:

modprobe xxx
exit 0

Anstelle von xxx schreibst Du den Namen Deines Webcam-Treibers.

Speicher die Datei dann ab.

Sollte die Datei schon vorhanden sein dann schreibst Du einfach nur den Befehl modprobe xxx

for einen schon vorhandenen exit Befehl. Wenn Du die Datei selbst erstellt hast weil sie nicht

in dem Verzeichnis gewesen ist musst Du sie mit dem Befehl:

chmod 744 /etc/rc.d/after.local

ausführbar machen.

Die Datei after.local wird beim Hochfahren des Systems kurz vor dem Login-Screen automatisch ausgeführt.

Jetzt musst Du noch die Datei "blacklist" im Ordner /etc/modprobe.d bearbeiten.

Lade diese Datei ins Kwrite-Fenster und füge ganz unten die folgenden Zeile ein:

blacklist xxx

Auch hier ersetzt du das xxx mit dem Namen deines Webcam-Treibers.

Nach dem speichern der blacklist und eines Neustarts hast Du ab sofort die TV-Karte als video0 und die Webcam

als video1. Damit kannst Du dir diese SYMLINK Geschichte sparen da es ja leider auch Programme gibt die sich

nicht auf /tvcard oder /webcam umstellen lassen.

(Lösung un Dank an Torsten)

http://www.linux-club.de/viewtopic.php?f=27&t=102752&p=628562&hilit=webcam+probleme+11.1#p628562

  • Zum Schluss noch (bei mehreren Video-Geräten):
http://www.pc-forum24.de/suse-treiber/10332-opensuse-11-1-webcamtreiber-gspca-mit-mehr-devices.html

und

http://www.pc-forum24.de/suse-treiber/10350-geloest-opensuse-11-1-und-gspca-usb-id-0c45-613c.html

(Dank an Rain_Maker und die mitwirkenden im pc-forum24)


Falls diese Tipps nicht reichen oder neue Lösungen bekannt sind bitte um eine Rückmeldung im Linux-Club



zurück zu USB