ubuntuusers.de

Logitech QC Sphere AF

Status: Ungelöst | Ubuntu-Version: Ubuntu 7.10 (Gutsy Gibbon)
Antworten |

oka

Anmeldungsdatum:
17. November 2007

Beiträge: 4

Meine Logitech QC Sphere AF mag einfach nicht funktionieren.

Kernel 2.6.22-14-generic

lsusb
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 005: ID 05e3:070e Genesys Logic, Inc.
Bus 004 Device 004: ID 0ccd:0043 TerraTec Electronic GmbH
Bus 004 Device 003: ID 046d:0994 Logitech, Inc.
Bus 004 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 008: ID 056a:0065 Wacom Co., Ltd
Bus 001 Device 007: ID 0451:2036 Texas Instruments, Inc. TUSB2036 Hub
Bus 001 Device 009: ID 046d:c704 Logitech, Inc.
Bus 001 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000

Die Logitech QC Sphere AF hat die ID 046d:0994 und sollte laut Berlios uvc voll unterstützt werden.

dmesg nach Einstecken der Logitech QC Sphere AF sagt jedoch folgendes:

dmesg
[ 7265.504000] usb 4-3: new high speed USB device using ehci_hcd and address 7
[ 7265.764000] usb 4-3: configuration #1 chosen from 1 choice
[ 7265.984000] uvcvideo: disagrees about version of symbol video_devdata
[ 7265.984000] uvcvideo: Unknown symbol video_devdata
[ 7265.984000] uvcvideo: disagrees about version of symbol video_unregister_device
[ 7265.984000] uvcvideo: Unknown symbol video_unregister_device
[ 7265.984000] uvcvideo: disagrees about version of symbol video_device_alloc
[ 7265.984000] uvcvideo: Unknown symbol video_device_alloc
[ 7265.984000] uvcvideo: disagrees about version of symbol video_register_device
[ 7265.984000] uvcvideo: Unknown symbol video_register_device
[ 7265.984000] uvcvideo: disagrees about version of symbol video_device_release
[ 7265.984000] uvcvideo: Unknown symbol video_device_release

Das Videodevice wird nicht erstellt:

ls /dev/video*
ls: /dev/video*: No such file or directory

Folglich bringt der Aufruf von Camorama, Ekiga, Skype 2beta & Co gar nichts außer der Meldung:
„Could not connect to video device (/dev/video0) Please check connection“

Nach einigem googeln bin ich auf folgenden möglichen Übeltäter gestoßen: Terratec Cinergy XS DVB-t USB Stick (s.o. lsusb ID 0ccd:0043). Um den Cinergy XS ans laufen zu bekommen habe ich das EM28xx Kernelmodul kompiliert – allerdings gegen v4l-dvb-experimental – gemäß Ubuntuusers Wiki.
Soweit ich verstanden habe funktionieren v4l-dvb-experimental und v4l2 nicht miteinander.

Und jetzt stehe ich auf dem Schlauch ...
Hat jemand von Euch eine uvc-Webcam zusammen mit selbst kompiliertem DVB Kernelmodul laufen ?

Schon jetzt Danke für Eure Mühe.

oka

(Themenstarter)

Anmeldungsdatum:
17. November 2007

Beiträge: 4

Hi,

ich bin immer noch am Basteln:

für em28xx und uvc habe ich die Module neu erstellt.
modprobe uvcvideo gibt die folgende Ausgabe:

sudo modprobe uvcvideo
FATAL: Error inserting uvcvideo (/lib/modules/2.6.22-14-generic/ubuntu/media/usbvideo/uvcvideo.ko): Unknown symbol in module, or unknown parameter (see dmesg)

und dmesg die bekannten miesen disagreements:

dmesg
[  205.648000] uvcvideo: disagrees about version of symbol video_devdata
[  205.648000] uvcvideo: Unknown symbol video_devdata
[  205.648000] uvcvideo: disagrees about version of symbol video_unregister_device
[  205.648000] uvcvideo: Unknown symbol video_unregister_device
[  205.648000] uvcvideo: disagrees about version of symbol video_device_alloc
[  205.648000] uvcvideo: Unknown symbol video_device_alloc
[  205.648000] uvcvideo: disagrees about version of symbol video_register_device
[  205.648000] uvcvideo: Unknown symbol video_register_device
[  205.648000] uvcvideo: disagrees about version of symbol video_device_release
[  205.648000] uvcvideo: Unknown symbol video_device_release
[  377.324000] uvcvideo: disagrees about version of symbol video_devdata
[  377.324000] uvcvideo: Unknown symbol video_devdata
[  377.324000] uvcvideo: disagrees about version of symbol video_unregister_device
[  377.324000] uvcvideo: Unknown symbol video_unregister_device
[  377.324000] uvcvideo: disagrees about version of symbol video_device_alloc
[  377.324000] uvcvideo: Unknown symbol video_device_alloc
[  377.324000] uvcvideo: disagrees about version of symbol video_register_device
[  377.324000] uvcvideo: Unknown symbol video_register_device
[  377.324000] uvcvideo: disagrees about version of symbol video_device_release
[  377.324000] uvcvideo: Unknown symbol video_device_release


👿

Tragischerweise läuft die Kamera an einem zweiten Rechner Ubuntu 7.10 Gutsy einwandfrei (out of the Box) unter Ekiga und Skype 2 Beta.
Auf diesem Rechner läuft auch DVB-t, allerdings mit einer Terratec Cinergy T2 (out of the Box).

Grüße

rAdisKuLL

Anmeldungsdatum:
5. August 2007

Beiträge: 24

Hi,

ich würde gerne dem Club beitreten. Habe ein HP Pavilion 9590eg. Installiert ist Kubuntu 7.10 64 Bit.

Habe mir heute den TEAC DVB-T101 USB DVB-T Stick gekauft und mit hilfe von http://af.zsolttech.com/ ans laufen bekommen. Hab mir gedacht wunderbar läuft ja anscheinend an dem Notebook wirklich alles.

Leider nicht ganz 😉

Vorher lief nämlich meine integrierte Webcam einwandfrei mit Video4Linux2 und dem uvcvideo Treiber, nun gar nicht mehr...

Problem ist das selbe, durch das installieren des DVB-T Sticks ist vermutlich die Version von Video4Linux geändert worden (ob es nun einfach eine neuere ist oder die experimental ist anscheinend egal, hab beides probiert) und der uvcvideo Treiber kommt mit ein paar Modulen nicht mehr klar. Ich denke diese Problem müsste, wie so oft bei Linux und Hardware, die Zeit heilen. Bezweifle das man hier großartig etwas machen kann weil ich denke Module aus verschiedenen Video4Linux Versionen miteinander zu kombinieren wird sich als schwierig erweisen.

Ich hab mich jetzt aufjedenfall fürs erste entschieden die Webcam erstmal in ruhe zu lassen und gelegntlich mal zu testen ob sie wieder läuft.

Zum Abschluss noch meine dmesg ausgaben:

:~$ dmesg | grep uvcvideo
[   37.491126] uvcvideo: disagrees about version of symbol video_devdata
[   37.516984] uvcvideo: Unknown symbol video_devdata
[   37.542789] uvcvideo: disagrees about version of symbol video_unregister_device
[   37.568545] uvcvideo: Unknown symbol video_unregister_device
[   37.594252] uvcvideo: disagrees about version of symbol video_device_alloc
[   37.619921] uvcvideo: Unknown symbol video_device_alloc
[   37.645281] uvcvideo: disagrees about version of symbol video_register_device
[   37.670924] uvcvideo: Unknown symbol video_register_device
[   37.696617] uvcvideo: disagrees about version of symbol video_device_release
[   37.722449] uvcvideo: Unknown symbol video_device_release

Falls es doch irgendwann mal eine Lösung geben sollte würd ich mich freuen,

mFg, rAdisKuLL

mcframe

Anmeldungsdatum:
31. Mai 2005

Beiträge: 46

Hallo,
hab das Problem leider ebenfalls. Habe http://lists.berlios.de/pipermail/linux-uvc-devel/2008-February/003088.html etwas dazu gefunden, es aber selbst noch nicht ausprobiert.

imho

Anmeldungsdatum:
2. Februar 2006

Beiträge: 427

Ja klasse. Ich habe das selbe Problem hier auf meinem Acer Aspire 2920. Nach einem Kernel-Update funktioniert die Webcam tadellos, sobald ich meine Treiber meines Digittrade-USB-Sticks für die neue Kernelversion kompiliere und installiere, funktioniert die Kamera nicht mehr. Statt eines Bildes kommt bei luvcview:

$ luvcview 
luvcview version 0.2.1 
Video driver: x11
A window manager is available
video /dev/video0 
ERROR opening V4L interface 
: No such file or directory

Wenn ich das Modul laden will passiert folgendes:

$ sudo modprobe uvcvideo
FATAL: Error inserting uvcvideo (/lib/modules/2.6.24-19-generic/ubuntu/media/usbvideo/uvcvideo.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Und dmesg sagt dann:

[  938.937194] uvcvideo: Unknown symbol video_unregister_device
[  938.937400] uvcvideo: disagrees about version of symbol video_device_alloc
[  938.937404] uvcvideo: Unknown symbol video_device_alloc
[  938.937543] uvcvideo: disagrees about version of symbol video_register_device
[  938.937547] uvcvideo: Unknown symbol video_register_device
[  938.937955] uvcvideo: disagrees about version of symbol video_device_release
[  938.937958] uvcvideo: Unknown symbol video_device_release

Aus der Lösung bei linux-uvc-devel werde ich leider nicht ganz schlau:

Great!! I've solved it! 😀 😀
I don't know if this is the right way to do it but it worked. It seems
that, when uvcvideo.mod.c is created, version checksums are taken
from /lib/modules/uname -r/build/Module.symvers. But this checksums
are not updated with v4l-dvb mercurial symbol versions, so I've copied
Module.symvers from the v4l-dvb tree to linux-uvc tree and recompiled.
Now version checksums are ok, so the module loads with no error 😀.
Please tell me if I did something wrong.

Wie weiter? Hat schon wer was besseres gefunden?

imho

Anmeldungsdatum:
2. Februar 2006

Beiträge: 427

OK, bin jetzt schlau geworden und habe es so gemacht (ohne Gewähr): Nachdem ich die Quellen meines DVB-T-Sticks von Digittrade kompilliert hatte, ließ sich der UVC-Treiber für die integrierte Crystal Eye Webcam in meinem Acer Aspire 2920 nicht mehr nutzen. Wenn ich mir zum Beispiel mit luvcview ein Bild machen wollte, brach der Aufruf des Programms mit folgender Fehlermeldung ab:

video /dev/video0
ERROR opening V4L interface 
: No such file or directory

Das Modul uvcvideo, das für den Betrieb der Kamera dringend nötig ist, war nicht geladen. Mit

sudo modprobe uvcvideo

sollte man es problemlos nachladen können, was bei mir aber nicht funktionierte. Stattdessen erhielt ich folgende Fehlermeldung:

FATAL: Error inserting uvcvideo 
(/lib/modules/2.6.24-19-generic/ubuntu/media/usbvideo/uvcvideo.ko): 
Unknown symbol in module, or unknown parameter (see dmesg)

Die Ausgabe von

dmesg

brachte leider nicht viel erhellendes:

[ 1402.632000] uvcvideo: Unknown symbol video_register_device
[ 1402.632000] uvcvideo: disagrees about version of symbol

Kurz gesagt, das neue "Video for Linux"-Module (v4l) des Digittrade-Sticks erzeugte einen Konflikt mit dem Video-Modul der Webcam, was zur Folge hatte, dass letzteres nicht mehr geladen wurde. Aber man kann was dagegen machen. Den entscheidenden Hinweis fand ich auf der Mailing-Liste der Linux-UVC-Entwickler.

Laut Filippo Argiolas braucht man zu erst den Quellcode des UVC-Treibers. Entweder lädt man sich den von der Projektseite herunter oder holt ihn mit Subversion aus dem Projektarchiv:

svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk

Nachdem man mit

cd trunk

in das Quellcode-Verzeichnis gewechselt ist, kann man zum erstenmal

make

aufrufen, um zu kompilieren. Dieser erste Aufruf wird aber mit Warnungen und Fehlern abbrechen, wie in diesem Beispiel zu sehen ist:

Building USB Video Class driver...
make[1]: Betrete Verzeichnis '/usr/src/linux-headers-2.6.24-19-generic'
  CC [M]  /home/christian/trunk/uvc_driver.o
In Datei, eingefügt von /home/christian/trunk/uvcvideo.h:7,
                 von /home/christian/trunk/uvc_driver.c:40:
/home/christian/trunk/uvc_compat.h:137:1: Warnung: »V4L2_CTRL_CLASS_CAMERA« 
redefiniert
In Datei, eingefügt von include/linux/videodev.h:16,
                 von /home/christian/trunk/uvc_driver.c:31:
include/linux/videodev2.h:798:1: Warnung: dies ist die Stelle der vorherigen Definition
In file included from /home/christian/trunk/uvcvideo.h:7,
                 from /home/christian/trunk/uvc_driver.c:40:
/home/christian/trunk/uvc_compat.h:140: 
Fehler: Verschachtelte Redefinition von »enum v4l2_power_line_frequency«
/home/christian/trunk/uvc_compat.h:140: 
Fehler: Redeklaration von »enum v4l2_power_line_frequency«
/home/christian/trunk/uvc_compat.h:141: 
Fehler: Redeklaration von Aufzählung »V4L2_CID_POWER_LINE_FREQUENCY_DISABLED«
include/linux/videodev2.h:874: 
Fehler: Vorherige Definition von »V4L2_CID_POWER_LINE_FREQUENCY_DISABLED« 
war hier /home/christian/trunk/uvc_compat.h:142: 
Fehler: Redeklaration von Aufzählung »V4L2_CID_POWER_LINE_FREQUENCY_50HZ«
include/linux/videodev2.h:875: 
Fehler: Vorherige Definition von »V4L2_CID_POWER_LINE_FREQUENCY_50HZ« war hier
/home/christian/trunk/uvc_compat.h:143: 
Fehler: Redeklaration von Aufzählung »V4L2_CID_POWER_LINE_FREQUENCY_60HZ«
include/linux/videodev2.h:876: 
Fehler: Vorherige Definition von »V4L2_CID_POWER_LINE_FREQUENCY_60HZ« war hier
/home/christian/trunk/uvc_compat.h:155: 
Fehler: Verschachtelte Redefinition von »enum v4l2_exposure_auto_type«
/home/christian/trunk/uvc_compat.h:155: 
Fehler: Redeklaration von »enum v4l2_exposure_auto_type«
/home/christian/trunk/uvc_compat.h:156: 
Fehler: Redeklaration von Aufzählung »V4L2_EXPOSURE_MANUAL«
include/linux/videodev2.h:1077: 
Fehler: Vorherige Definition von »V4L2_EXPOSURE_MANUAL« war hier
/home/christian/trunk/uvc_compat.h:157: 
Fehler: Redeklaration von Aufzählung »V4L2_EXPOSURE_AUTO«
include/linux/videodev2.h:1076: 
Fehler: Vorherige Definition von »V4L2_EXPOSURE_AUTO« war hier
/home/christian/trunk/uvc_compat.h:158: 
Fehler: Redeklaration von Aufzählung »V4L2_EXPOSURE_SHUTTER_PRIORITY«
include/linux/videodev2.h:1078: 
Fehler: Vorherige Definition von »V4L2_EXPOSURE_SHUTTER_PRIORITY« war hier
/home/christian/trunk/uvc_compat.h:160: 
Fehler: Redeklaration von Aufzählung »V4L2_EXPOSURE_APERTURE_PRIORITY«
include/linux/videodev2.h:1080: 
Fehler: Vorherige Definition von »V4L2_EXPOSURE_APERTURE_PRIORITY« war hier
make[2]: *** [/home/christian/trunk/uvc_driver.o] Fehler 1
make[1]: *** [_module_/home/christian/trunk] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-2.6.24-19-generic'
make: *** [uvcvideo] Fehler 2

Man braucht diese Meldungen als Hinweis, um die Datei "uvc_compat.h" bearbeiten zu können. Dazu öffnet man sie in seinem Lieblingseditor und sucht nach dem ersten Eintrag, z.B. "v4l2_power_line_frequency". Den Eintrag kann man dann komplett mit Kommetarzeichen (/* ... */) versehen oder gleich ganz löschen:

/*#define V4L2_CID_POWER_LINE_FREQUENCY		(V4L2_CID_BASE+24)
enum v4l2_power_line_frequency {
	V4L2_CID_POWER_LINE_FREQUENCY_DISABLED	= 0,
	V4L2_CID_POWER_LINE_FREQUENCY_50HZ	= 1,
	V4L2_CID_POWER_LINE_FREQUENCY_60HZ	= 2,
};*/

Mit den anderen Fehlern und Warnungen wird genauso verfahren und anschließend die Datei gespeichert. Damit beim erneuten Aufruf von

make

die korrekten Prüfsummen beim Kompilieren erzeugt werden, benötigt man die Datei "Module.symvers" aus dem Quellcode-Archiv des DVB-T-Sticks. Da mein Stick einen AF9015-Chipsatz hat, war das Modul im Verzeichnis "af9015*/v4l/Module.symvers". Bei anderen Chipsätzen sollte es ähnlich in einem Verzeichnis zu finden sein. Normalerweise sollte es reichen, die Datei ins Quellcode-Verzeichnis des Linux-UVC-Moduls zu kopieren und dann zu kompilieren. Das hat bei mir aber nicht funktioniert. Beim Kompilieren des UVC-Video-Moduls wird die Prüfsumme aber aus der Datei "/lib/modules/$(uname -r)/build/Module.symvers" geholt, weshalb man diese Datei durch diejenige aus dem Quellcode-Archiv des DVB-T-Sticks ersetzen muss. In diesem speziellen Fall wäre das im Terminal mit dem Befehl

sudo cp af9015*/v4l/Module.symvers /lib/modules/$(uname -r)/build/Module.symvers

erledigt. Erst danach kann man

make

ausführen und es sollte sauber durchkompilieren und die Datei "uvcvideo.ko" erstellen.

~/trunk$ make
Building USB Video Class driver...
make[1]: Betrete Verzeichnis '/usr/src/linux-headers-2.6.24-19-generic'
  CC [M]  /home/christian/trunk/uvc_driver.o
  CC [M]  /home/christian/trunk/uvc_queue.o
  CC [M]  /home/christian/trunk/uvc_v4l2.o
  CC [M]  /home/christian/trunk/uvc_video.o
  CC [M]  /home/christian/trunk/uvc_ctrl.o
  CC [M]  /home/christian/trunk/uvc_status.o
  CC [M]  /home/christian/trunk/uvc_isight.o
  LD [M]  /home/christian/trunk/uvcvideo.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/christian/trunk/uvcvideo.mod.o
  LD [M]  /home/christian/trunk/uvcvideo.ko
make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-2.6.24-19-generic' 

Nach

sudo make install

muss noch das alte Modul "uvcvideo.ko" mit

sudo cp uvcvideo.ko /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko

durch das neue ersetzt werden. Danach sollte man es dann fehlerfrei mit

sudo modprobe uvcvideo

laden können.

Antworten |