Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

10.04.2009, 20:30

Acer Crystal Eye Webcam ID 5986:0105

Endlich hab ich auf meinem Laptop die Webcam zum laufen bekommen. Es handelt sich dabei um die Webcam mit der ID 5986:0105. Dabei war das noch nicht einmal so kompliziert, mann muss halt echt google fragen.

Um die richtige Hardwareausstattung herauszufinden einfach ein:

Quellcode

1
2
update-pciids
update-usbids


lsusb zeigte dann folgendes:

Quellcode

1
Bus 001 Device 002: ID 5986:0105 Acer, Inc


Im Kernel muss folgendes aktiviert werden:

Quellcode

1
2
3
4
5
Device Drivers --->
Multimedia devices  ---> 
    * Video capture adapters  --->
                 ---> V4L USB devices ---> 
<M>   USB Video Class (UVC)


danach Kernel neubauen und rebooten.

Quellcode

1
2
dmesg | grep -i uvc
uvcvideo: Found UVC 1.00 device Acer Crystal Eye webcam (5986:0105)


sieht ja schon sehr gut aus. Danach ein:

Quellcode

1
emerge -av luvcview


Test:

Quellcode

1
2
luvcview -f yuv -w -d /dev/video
Unable to map buffer (22)


Workaround:

Die Datei uvc_driver.c im Ordner /usr/src/linux/drivers/media/video/uvc/ mit einem Editor eurer Wahl bearbeiten und dort nach dem Eintag /* Acer Crystal Eye webcam - Bison Electronics */ suchen.

Quellcode

1
2
3
4
5
6
7
8
9
/* Acer Crystal Eye webcam - Bison Electronics */
        { .match_flags          = USB_DEVICE_ID_MATCH_DEVICE
                                | USB_DEVICE_ID_MATCH_INT_INFO,
          .idVendor             = 0x5986,
          .idProduct            = 0x0102,
          .bInterfaceClass      = USB_CLASS_VIDEO,
          .bInterfaceSubClass   = 1,
          .bInterfaceProtocol   = 0,
          .driver_info          = UVC_QUIRK_PROBE_MINMAX },


Dort den kompletten Block kopieren und darunter erneut einfügen und in dem neuen Block dann:

.idProduct = 0x0102,

in

.idProduct = 0x0105,

ändern, so dass sie dann wie folgt ausschaut:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* Acer Crystal Eye webcam - Bison Electronics */
	{ .match_flags   	 = USB_DEVICE_ID_MATCH_DEVICE
	   		 | USB_DEVICE_ID_MATCH_INT_INFO,
	  .idVendor   	 = 0x5986,
	  .idProduct   	 = 0x0102,
	  .bInterfaceClass    = USB_CLASS_VIDEO,
	  .bInterfaceSubClass    = 1,
	  .bInterfaceProtocol    = 0,
	  .driver_info   	 = UVC_QUIRK_PROBE_MINMAX },
	/* Acer Crystal Eye webcam - Bison Electronics */
	{ .match_flags   	 = USB_DEVICE_ID_MATCH_DEVICE
	   		 | USB_DEVICE_ID_MATCH_INT_INFO,
	  .idVendor   	 = 0x5986,
	  .idProduct   	 = 0x0105,
	  .bInterfaceClass    = USB_CLASS_VIDEO,
	  .bInterfaceSubClass    = 1,
	  .bInterfaceProtocol    = 0,
	  .driver_info   	 = UVC_QUIRK_PROBE_MINMAX },


Datei abspeichern und Kernel neu backen. Vorher die Originaldatei sichern. Laptop neu starten und mit:

Quellcode

1
2
modprobe uvcvideo
luvcview -f yuv -w -d /dev/video


die Funktionsfähigkeit überprüfen.

Und nun dürft ihr Euch über eine hoffentlich funktionierende Webcam freuen.

Viel Spass
Gruß Divine

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Divine« (12.04.2009, 11:47)


2

11.04.2009, 20:21

Wäre es nicht besser, anstatt ".idProduct" dieses Blocks zu ändern, den Block zu kopieren und somit einen neuen mit der betreffenden ProductID zu erstellen?
Somit würde bei dir dann sowohl ein Gerät mit 5986:0102, als auch 5986:0105 funktionieren.

Wahrscheinlich wirst du dir nicht in Kürze eine neue Webcam zulegen, aber die Flexibilität, die dieses Modul bietet, sollte man doch eher erweitern, als einschränken.
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.

3

12.04.2009, 11:40

Hey Maggu2810,

das ist sogar eine sehr gute Idee. Das werde ich im Howto abändern. Vielleicht sollte man diese Korrektur auch den Jungs von http://linux-uvc.berlios.de/ mitteilen, damit das in zukunft als supported gewertet werden kann.

MfG
Gruß Divine

4

12.04.2009, 16:44

Da ich keine Webcam habe und das auch nicht testen kann...
Es steht dir frei ;)
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.

mollilinux

unregistriert

5

12.04.2009, 16:49

Zitat von »Divine«

Datei abspeichern und Kernel neu backen.


hmmm, muss man den Kernel wirklich neu kompilieren? Ich denke man kann sicher dieses File manuell kompilieren? Kennt jemand die richtigen Anweisungen, mit dem man diesen Treiber manuell kompilieren kann?

Das Makefile im Verzeichnis UVC sieht nicht besonder hilfreich aus. Auch die Makefiles im Ordner Media und so.. Werde nicht schlau daraus, wo die Quelle sein könnte.. Man könnte sich sehr viel Zeit sparen.

Quellcode

1
2
3
uvcvideo-objs  := uvc_driver.o uvc_queue.o uvc_v4l2.o uvc_video.o uvc_ctrl.o \
		  uvc_status.o uvc_isight.o
obj-$(CONFIG_USB_VIDEO_CLASS) += uvcvideo.o

6

12.04.2009, 21:43

Dein Problem ist mir jetzt nicht klar. Es werden doch bei einem erneuten Bauen eh nur die geänderten und davon abhängige Dateien neu kompiliert. Das ist doch der Sinn und Zweck von "make". Wie willst du dir da noch zusätzlich Zeit einsparen ohne die Gefahr zu laufen Abhängigkeiten zu verletzen?
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.

mollilinux

unregistriert

7

13.04.2009, 10:01

Zitat von »maggu2810«

Dein Problem ist mir jetzt nicht klar.


Ich wollte schon immer mal wissen wie man Kernel-Module manuell kompiliert. Diese Pakete sind ein reiner Versuch. Aber das Modul müsste sich ohne weiters kompilieren lassen. Mich wunderte immer wie man ein Makefile anpassen muss, damit man die Module auch selbst kompilieren kann...

Paket 1. entpacken

Quellcode

1
2
3
# tar zxvf uvc-mollilinux-driver.tar.gz
# cd uvc; make
# cp uvcvideo.ko /lib/modules/{KERNELVERSION}/kernel/drivers/media/video/uvc


Grüsse mollilinux
»mollilinux« hat folgende Dateien angehängt:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »mollilinux« (13.04.2009, 17:34)