On 06/01/16(Wed) 10:17, Martin Pieuchot wrote: > On 05/01/16(Tue) 13:19, Matt Adams wrote: > > On 05/01/16 05:10 AM, Martin Pieuchot wrote: > > >On 03/01/16(Sun) 23:18, Matt Adams wrote: > > >>Hi, > > >> > > >>I noted that uvideo has support for the Logitech QuickCam Pro 5000 - a > > >>piece > > >>of hardware that I have. However, ugen appears to attach to this device > > >>instead of allowing the special firmware (installed via "# fw_install > > >>uvideo") to configure /dev/video0 or /dev/video1, even though those two > > >>device files are present in the system. > > >> > > >>For example: > > >> > > >>-bash-4.3$ luvcview > > >>luvcview version 2.0 > > >>Video driver: x11 > > >>A window manager is available > > >>video /dev/video0 > > >>ERROR opening V4L interface > > >>: Device not configured > > >> > > >>Is there something that I am missing here or is my webcam not actually > > >>supported? > > >Could you paste the output of "lsusb -v" for your webcam? lsusb(1) is > > >part of the usbutils package. > > > > lsusb -v as follows (webcam portion only): > > > > Bus 001 Device 002: ID 046d:08c5 Logitech, Inc. QuickCam Pro 5000 > > Device Descriptor: > > bLength 18 > > bDescriptorType 1 > > bcdUSB 2.00 > > bDeviceClass 0 (Defined at Interface level) > > bDeviceSubClass 0 > > bDeviceProtocol 1 > > bMaxPacketSize0 64 > > idVendor 0x046d Logitech, Inc. > > idProduct 0x08c5 QuickCam Pro 5000 > > Thanks, does the diff below help?
Could you test the diff? Does it work? > Index: uvideo.c > =================================================================== > RCS file: /cvs/src/sys/dev/usb/uvideo.c,v > retrieving revision 1.183 > diff -u -p -r1.183 uvideo.c > --- uvideo.c 20 Dec 2015 10:08:05 -0000 1.183 > +++ uvideo.c 6 Jan 2016 09:14:05 -0000 > @@ -382,6 +382,12 @@ struct uvideo_devs { > NULL, > UVIDEO_FLAG_VENDOR_CLASS > }, > + { /* Incorrectly reports as bInterfaceClass=UICLASS_VENDOR */ > + { USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_QUICKCAMPRO5K_1 }, > + NULL, > + NULL, > + UVIDEO_FLAG_VENDOR_CLASS > + }, > }; > #define uvideo_lookup(v, p) \ > ((struct uvideo_devs *)usb_lookup(uvideo_devs, v, p))