Re: uvcvideo regression between 2.6.36 and 2.6.37 observed with 5986:02c1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jakub,

[CC'ing Matthew Garrett and linux-usb]

On Tuesday 29 May 2012 20:52:09 Jakub Jankowski wrote:
> On Monday 28 of May 2012, you wrote:
> > > I'm writing to let you know that there is a regression in uvcvideo for
> > > my camera:

(adding missing part of the log from a previous e-mail)

uvcvideo: Device requested 3060 B/frame bandwidth.
uvcvideo: Selecting alternate setting 11 (3060 B/frame bandwidth).
usb 2-2: USB disconnect, device number 6
uvcvideo: Allocated 5 URB buffers of 32x3060 bytes each.
uvcvideo: Failed to submit URB 0 (-19).
usb 2-2: new high-speed USB device number 7 using ehci_hcd

> > > usb 2-2: New USB device found, idVendor=5986, idProduct=02c1
> > > usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> > > usb 2-2: Product: BisonCam, NB Pro
> > > usb 2-2: Manufacturer: BISON Corporation
> > > usb 2-2: SerialNumber: 20090505
> > > uvcvideo: Found UVC 1.00 device BisonCam, NB Pro (5986:02c1)
> > > input: BisonCam, NB Pro as
> > > /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/input/input13
> > > This is a webcam present in MSI U200 (Wind12) netbook series.
> > > 
> > > Last working version of uvcvideo is the one shipped with 2.6.36 kernel,
> > > first kernel that ships a broken version is 2.6.37 (and 3.4 still
> > > doesn't work). What happens is, when any software (guvcvideo, flash
> > > plugin, skype) tries to access the webcam, kernel sees an USB disconnect
> > > and immediate reconnect.
> > 
> > There can be several causes to this issue. A device disconnecting on its
> > own without reason is definitely a bug, and can be caused by a device
> > firmware bug (most UVC webcams are known to be very buggy) or a USB core
> > bug. I usually incriminate the device firmware first, a change on the host
> > side (either in the USB core or the UVC driver) might have cause
> > differences in timings that can trigger a race condition on the device
> > side.
> > 
> > The best way to debug this would be to bisect the kernel. Would you be
> > able to do that ?
> 
> It took me a while (on my CULV 1.3GHz netbook...), but here it goes:
> 
> $ git bisect good
> 3dae8b41dc5651f8eb22cf310e8b116480ba25b7 is the first bad commit
> commit 3dae8b41dc5651f8eb22cf310e8b116480ba25b7
> Author: Matthew Garrett <mjg@xxxxxxxxxx>
> Date:   Thu Sep 16 15:00:04 2010 -0300
> 
>     V4L/DVB: uvc: Enable USB autosuspend by default on uvcvideo
> 
>     We've been doing this for a while in Fedora without any complaints.
> 
>     Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx>
>     Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
>     Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> 
> :040000 040000 8df4a95ecacca8f551552ee55c86261701250b6c
> 
> 09686bc05852cd9dd4c9b3501138ec7cc32d7c78 Mdrivers
> $
> 
> Furthermore, I can confirm that reverting this commit in 3.4 codebase fixes
> my problem.

Thanks a lot for working on this.

Matthew, it seems you have a complaint now :-) Would you be able to try and 
debug that with Jakub ? Jakub, the first step will probably be to enable USB 
debugging (CONFIG_USB_DEBUG=y) and send the complete kernel log around the 
disconnection. Would you be able to do that ?

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux