USB WebCam: vid/pid 0x0C45:0x62BB: Is this for sn9c102?
- From: mailfilter <mailfilter (at) pickworth.me.uk>
- Date: Sat, 03 Feb 2007 14:28:44 +0000
Hello List,
I recently got a cheap USB webcam. Its boxed as a PC Line PCL-300k - but
I suspect that this is a local UK no brand rebox. It declares itself in
lsusb as vid/pid 0x0C45:0x62BB. This also shows a manufacturer of Micronia
I googled this vid/pid and found it referred to on this web page:
http://ovcam.org/ov511/cameras.html
This suggested that the chips in use were Sonix SN9C102 + OV7660, and
that the sndc102 driver may provide support.
I pulled the latest v4l source and added the following line to the
sn9c102_devtable.h file (at line 60):
{ SN9C102_USB_DEVICE(0x0c45, 0x62bb, BRIDGE_SN9C102), },
After a recompile/install, when I plugged in the webcam it produced the
following in the syslog:
-----------------
Feb 3 13:11:12 ian2 kernel: usb 1-5: new high speed USB device using
ehci_hcd and address 27
Feb 3 13:11:12 ian2 kernel: usb 1-5: configuration #1 chosen from 1 choice
Feb 3 13:11:12 ian2 kernel: 27:2:1: cannot get freq at ep 0x84
Feb 3 13:11:13 ian2 kernel: sn9c102: V4L2 driver for SN9C1xx PC Camera
Controllers v1:1.34
Feb 3 13:11:13 ian2 kernel: usb 1-5: Sorry, this is not a SN9C1xx based
camera (vid/pid 0x0C45:0x62BB)
Feb 3 13:11:13 ian2 kernel: usbcore: registered new interface driver
sn9c102
-----------------
I then found the code in sn9c102_core.c that produces this message, and
added some further debug output to the message, at line 3177 (the added
bit is the output of the r value):
--------
r = sn9c102_read_reg(cam, 0x00);
if (r < 0 || (r != 0x10 && r != 0x11 && r != 0x12)) {
DBG(1, "Sorry, this is not a SN9C1xx based camera "
"(vid/pid 0x%04X:0x%04X) (r=0x%04X)", id->idVendor,
id->idProduct, r);
err = -ENODEV;
goto fail;
}
------------
Recompile and reload then produced this:
------------
Feb 3 13:31:41 ian2 kernel: usb 1-5: Sorry, this is not a SN9C1xx based
camera (vid/pid 0x0C45:0x62BB) (r=0x00C4)
------------
and on a subsequent try this:
-----------
Feb 3 13:34:52 ian2 kernel: usb 1-5: Sorry, this is not a SN9C1xx based
camera (vid/pid 0x0C45:0x62BB) (r=0x0044)
-----------
I then added the tests (r != 0xc4 && r != 0x44) to the above code, so
the test at line 3178 reads:
-----------
if (r < 0 || (r != 0x10 && r != 0x11 && r != 0x12 && r != 0xc4 && r !=
0x44)) {
-----------
Recompile and reload, and I then get this:
--------------
Feb 3 13:38:26 ian2 kernel: usb 1-5: new high speed USB device using
ehci_hcd and address 39
Feb 3 13:38:27 ian2 kernel: usb 1-5: configuration #1 chosen from 1 choice
Feb 3 13:38:27 ian2 kernel: 39:2:1: cannot get freq at ep 0x84
Feb 3 13:38:28 ian2 kernel: sn9c102: V4L2 driver for SN9C1xx PC Camera
Controllers v1:1.34
Feb 3 13:38:28 ian2 kernel: usb 1-5: SN9C10[12] PC Camera Controller
detected (vid/pid 0x0C45:0x62BB)
Feb 3 13:38:28 ian2 kernel: usb 1-5: No supported image sensor detected
Feb 3 13:38:28 ian2 kernel: usbcore: registered new interface driver
sn9c102
----------------
At this point my potential for understanding the code evaporates :-(.
If I've read it right so far, it would appear that the reference I found
suggesting Sonix SN9C102 + OV7660 for the chipset is wrong - but it may
just be that some key settings are missing, and I can't find them.
Can anyone suggest a few paths I can try to get this webcam working with
v4l?
Many Thanks
Regards
Ian
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request (at) redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list