USB - Webcam und Opensuse (Einrichten)
Inhaltsverzeichnis
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:
LuvcView (Packman) Erstes Programm zum Ausprobieren : http://www.quickcamteam.net/software/linux/v4l2-software/luvcview/ Kopete (KDE) Instant Messenger mit Webcam-Funktion : http://kopete.kde.org/ Ekiga (Gnome) IP-Telefonie : http://ekiga.org/ Skype (proprietär) IP-Telefonie : http://www.skype.com/download/skype/linux/ Cheese (Gnome) Bilder schießen + Spass-Funktionen : http://projects.gnome.org/cheese/ Gqcam (Gnome) Bilder schießen : http://www.wirelesscouch.net/software/gqcam/ Eviacam (Packman) Maussteuerung via Webcam : http://eviacam.sourceforge.net/eviacam.php MjpegStreamer (Bilder oder Video via HTTP) : http://sourceforge.net/apps/mediawiki/mjpg-streamer/index.php?title=Main_Page
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/openSUSE_11.1_Update/i586/
http://download.opensuse.org/repositories/drivers:/webcam/openSUSE_11.2/i586/
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