Hi,

I have advanced quite a lot on finding the origin of the bug. It seems
to be a bug in the uvcvideo module. From my dmesg:

At boot time, webcam is detected correctly: a Bison NB Pro:
...
[    8.975626] Linux video capture interface: v2.00
[    9.008304] uvcvideo: Found UVC 1.00 device BisonCam, NB Pro (5986:0203)
[    9.024768] input: BisonCam, NB Pro as 
/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/input/input8
[    9.025136] usbcore: registered new interface driver uvcvideo
[    9.025150] USB Video Class driver (v0.1.0)
...

At suspend time, PM informs some devices (bison cam) failed to suspend, and it 
wakes up inmediatly:
...
[  231.266406] PM: Entering mem sleep
[  231.266427] Suspending console(s) (use no_console_suspend to debug)
[  231.284163] uvcvideo: Failed to set UVC commit control : -108 (exp. 26).
[  231.284178] uvcvideo 1-5:1.1: resume error -5
[  231.284201] pm_op(): usb_dev_suspend+0x0/0x10 returns -108
[  231.284211] PM: Device 1-5 failed to suspend: error -108
[  231.284219] PM: Some devices failed to suspend
[  231.338519] uvcvideo: Failed to set UVC commit control : -108 (exp. 26).
[  231.338533] uvcvideo 1-5:1.1: resume error -5
[  231.456330] PM: resume devices took 0.172 seconds
[  231.456350] PM: Finishing wakeup.
[  231.456354] Restarting tasks ... done.
...

I can (de)activate the web cam pressing FN+F6. When the cam is not
active it does not show in lsusb (like unplugging a USB cam). I have
tried some combinations and this is what happens:

Scenario 1: Camera is not attached
  - lsusb does not shows the camera (lsusb_cam_off.log)
  - Suspend works
  - USB storage works (I can use my USB stick)
  - The web cam (with cheese) does not work, as expected.

Scenario 2: Camera is attached (lsusb_cam_on.log, dmesg_cam_on_uvcvideo_on.log)
  - lsusb does show the camera
  - uvcvideo is loaded at boot time
  - Suspend does not work (dmesg summary above)
  - USB storage does not work (connecting a USB stick does nothing - no trace 
in dmesg)

Scenario 3: Camera is attached but uvcvideo is configured not to load at boot 
time (dmesg_cam_on_uvcvideo_off.log)
  - lsusb does show the camera
  - uvcvideo is not loaded (blacklisted in /etc/modprobe.d/)
  - Suspend works
  - USB storage works

So the workaround by now is to create a file /etc/modprobe.d/local_options that 
includes a line:
blacklist uvcvideo so that the webcam is disabled.

I change from S1 to S2 by pressing the webcam button (FN+F6).
I change from S2 to S1 by pressing the button and rebooting.

Once in one scenario, the netbook will remember the state from boot to
boot.

I attach lsusb and dmesg output in all the cases.

** Attachment added: "dmesg_cam_on_uvcvideo_on.log"
   http://launchpadlibrarian.net/32265444/dmesg_cam_on_uvcvideo_on.log

-- 
suspend/hibernate does not work in karmic on msi u100 netbook - regression
https://bugs.launchpad.net/bugs/427327
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to