Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: webcam problem after suspend/hibernate | From | Philippe Troin <> | Date | 01 Apr 2010 10:05:52 -0700 |
| |
Pavel Machek <pavel@ucw.cz> writes:
> > 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.
Phil.
Script: /etc/pm/sleep.d/50kickuvc
#!/bin/sh
case "$1" in resume|thaw) cd /sys/bus/usb/drivers/uvcvideo || exit 1 devices='' for i in [0-9]*-[0-9]*:* do [ -L "$i" ] || break saved_IFS="$IFS" IFS=: set -- $i IFS="$saved_IFS" found=no for j in $devices do if [ "$j" = "$1" ] then found=yes fi done if [ "$found" = no ] then devices="$devices $1" fi done if [ "$devices" != "" ] then cd /sys/bus/usb/drivers/usb || exit 1 for i in $devices do echo $i > unbind sleep 1 echo $i > bind done fi ;; esac
| ![\](/images/icornerr.gif) |