lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	04 Apr 2010 11:58:50 -0700
From:	Philippe Troin <phil@...i.org>
To:	Pavel Machek <pavel@....cz>
Cc:	Mohamed Ikbel Boulabiar <boulabiar@...il.com>,
	Laurent Pinchart <laurent.pinchart@...asonboard.com>,
	linux-kernel@...r.kernel.org, linux-media@...r.kernel.org
Subject: Re: webcam problem after suspend/hibernate

Pavel Machek <pavel@....cz> writes:

> Hi!
> 
> > > > Do you mean the dmesg output ?
> > > > A full dmesg is included in this address :
> > > > http://pastebin.com/8XU619Uk
> > > > Not in all suspend/hibernate the problem comes, only in some of them
> > > > and this included dmesg output is just after a non working case of
> > > > webcam fault.
> > > > 
> > > > 
> > > > I also have found this in `/var/log/messages | grep uvcvideo`
> > > > Mar 31 00:31:16 linux-l365 kernel: [399905.714743] usbcore:
> > > > deregistering interface driver uvcvideo
> > > > Mar 31 00:31:24 linux-l365 kernel: [399914.121386] uvcvideo: Found UVC
> > > > 1.00 device LG Webcam (0c45:62c0)
> > > > Mar 31 00:31:24 linux-l365 kernel: [399914.135661] usbcore: registered
> > > > new interface driver uvcvideo
> > > 
> > > Also try unloading uvcvideo before suspend and reloading it after
> > > resume...
> > 
> > I have a similar problem with a Creative Optia webcam.
> > 
> > I have found that removing the ehci_hcd module and reinserting it
> > fixes the problem.
> > 
> > If your kernel ships with ehci_hcd built-in (F11 and later), the
> > script included also fixes the problem (it rebind the device).
> > 
> > Of course, I'd love to see this issue fixed.
> 
> If unload/reload of uvcvideo helps, it is most likely problem in that.
> 
> If unload/reload of ehci_hcd is needed, it is most likely ehci problem.

My testing shows that:

 1. If I remove uvcvideo BEFORE suspend and reinsert it after resume,
    it works.  However, I cannot always rmmod uvcvideo before suspend
    as it may be in use.

 2. As a work around, removing ehci_hcd and reinserting ehci_hcd upon
    resume works as well.

 3. Since my distribution's kernels come with ehci_hcd built into the
    kernel, and I cannot do #2 any more, I also found that unbinding
    and rebinding the device (with the script I sent earlier on) works
    as well.

I think uvcvideo is failing to reinitialize the camera on resume, and
forcing an uvcvideo "reset" with either of these three methods kicks
uvcvideo into working again.

Phil.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists