Re: Kernel 2.6.22 some Logitech webcams
Laurent Pinchart <[email protected]>
| Newsgroups | gmane.linux.usb.devel |
|---|---|
| Message-ID | <[email protected]> |
On Thursday 04 October 2007 16:12, Alan Stern wrote: > On Thu, 4 Oct 2007, Laurent Pinchart wrote: > > Hi everybody, > > > > I recently noticed a regression when upgrading to 2.6.22. I narrowed the > > problem to the "[ALSA] usbaudio - Fix Oops with broken usb descriptors" > > patch (SHA1 ID beb60119bcc9cbd80bc5b4f7feec419e067d3e46). > > > > With this patch applied, the uvcvideo driver > > (http://linux-uvc.berlios.de) fails to initialise the video interface > > with first and second generation Logitech UVC webcams. > > > > The problem can be worked around by associating the usbaudio driver with > > the device before the uvcvideo driver quicks in. As the device > > descriptors list the video interface before the audio interface, this can > > only be achieved by deinstalling the uvcvideo driver and loading it > > manually after the usbaudio driver has initialised the audio interface. > > > > Devices are probably faulty, as they are known to have some firmware bugs > > related to timings (confirmed by the vendor). The above patch does the > > right thing, but breaks broken devices that worked by chance up to > > 2.6.21. > > > > I'm open to ideas regarding a way to fix the problem. For what it's > > worth, the webcams work fine under Windows (most probably because the > > Windows USB stack is slower when dealing with control requests). > > Do you want to prevent the uvcvideo driver from binding to the audio > interfaces in the bad devices? Maybe a small blacklist would work. There are two ways to work around the problem. Either slow the USB stack down to bring it to Windows' level, or get the uvcvideo driver to bind to the video interface after the usbaudio driver has bound to the audio interface. The first solution is obviously not possible (and far from desired anyway), so I'm looking for a way to implement the second solution. The bad devices I work with have video interfaces and audio interfaces, in that order. The USB stack thus tries to bind the video driver before the audio driver. Starting at kernel 2.6.22, the patch I mentioned in my previous mail triggers a bug in the device. I noticed that binding the usbaudio driver before the uvcvideo driver works around the device bug. I'm thus looking for a way to do this automatically, as the USB stack will bind drivers in the USB interfaces order. Best regards, Laurent Pinchart ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel