Monday, September 6, 2010

pwc: isoc_init() submit_urb 1 failed with error -28

I was getting weird messages in dmesg when using my webcam and skype:

[33436.084317] pwc: Philips PCVC730K (ToUCam Fun)/PCVC830 (ToUCam II) USB webcam detected.
[33436.576534] pwc: Registered as /dev/video0.
[33436.578372] input: PWC snapshot button as /devices/pci0000:00/0000:00:1a.1/usb2/2-1/input/input16
[33453.856189] usb 2-2: new full speed USB device using uhci_hcd and address 8
[33454.081814] usb 2-2: New USB device found, idVendor=047f, idProduct=0ca1
[33454.081822] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[33454.081828] usb 2-2: Product: Plantronics Headset
[33454.081833] usb 2-2: Manufacturer: Plantronics
[33454.081838] usb 2-2: SerialNumber: 00500-0429034410003-V060000A
[33454.082045] usb 2-2: configuration #1 chosen from 1 choice
[33454.184941] input: Plantronics Plantronics Headset as /devices/pci0000:00/0000:00:1a.1/usb2/2-2/2-2:1.3/input/input17
[33454.185190] generic-usb 0003:047F:0CA1.0003: input,hidraw0: USB HID v1.00 Device [Plantronics Plantronics Headset] on usb-0000:00:1a.1-2/input3
[35364.690746] pwc: isoc_init() submit_urb 0 failed with error -28
[35364.690754] pwc: isoc_init() submit_urb 1 failed with error -28
[35364.871851] pwc: isoc_init() submit_urb 0 failed with error -28
[35364.871861] pwc: isoc_init() submit_urb 1 failed with error -28
[35365.033814] pwc: isoc_init() submit_urb 0 failed with error -28
[35365.033833] pwc: isoc_init() submit_urb 1 failed with error -28
[35365.213861] pwc: isoc_init() submit_urb 0 failed with error -28
[35365.213873] pwc: isoc_init() submit_urb 1 failed with error -28
[35523.151863] pwc: isoc_init() submit_urb 0 failed with error -28
[35523.151871] pwc: isoc_init() submit_urb 1 failed with error -28
[35528.483086] pwc: isoc_init() submit_urb 0 failed with error -28
[35528.483105] pwc: isoc_init() submit_urb 1 failed with error -28


The solution I found was simply:

setpwc -c 3

$ setpwc -p
setpwc v1.2, (C) 2003-2006 by folkert@vanheusden.com
Current device: Philips 730 webcam
VIDIOCPWCPROBE returns: Philips 730 webcam - 730
Serial number: 0169000099000000
Resolution (x, y): 320, 240
Offset: 0, 0
Framerate: 10
Brightness: 32256
Hue: 65535
Colour: 32441
Contrast: 32768
Whiteness: 32768
Palette: YUV 4:2:0 Planar
Compression preference: 3
Automatic gain control: -23770
Whitebalance mode: auto
Blinking of LED is not supported by the combination
of your webcam and the driver.
Sharpness: -1
Backlight compensation mode: off
Anti-flicker mode: off
Noise reduction mode: 1
Pan/tilt range is not supported by the combination
of your webcam and the driver.
Get pan/tilt position is not supported by the combination
of your webcam and the driver.


I take that back this seems to only fix the symptoms. A better solution will be:

http://www.lavrsen.dk/foswiki/bin/view/PWC/FrequentlyAskedQuestionsPWC#Applications_hang_when_the_camer

Applications hang when the camera is connected through a USB hub or active extension cable
Indications: dmesg shows an error message like this:
pwc isoc_init() submit_urb 0 failed with error -12
pwc isoc_init() submit_urb 1 failed with error -12

This could be due to a problem with the enhanced host controller interface (EHCI) driver, try using the universal driver instead. Check which usb controller driver you are using (this is assuming your drivers are modules):
lsmod | grep usbcore
You should see something like
usbcore 107384 6 uhci_hcd,pwc,snd_usb_audio,snd_usb_lib,usbhid
If your *_hcd driver is ehci_hcd you could try swapping it for the uhci_hcd by doing this (as root):
rmmod ehci_hcd && modprobe uhci_hcd
Try reconnecting the hub or extension cable, cross your fingers and fire up your favorite webcam application.


This also seems confirmed with:

http://lists.openwall.net/linux-kernel/2010/03/13/408

1 comment:

Ronald said...

Thank you!!
setpwc -c 3 still works!
Using Kubuntu 11.10.