Bug 4510 - Something in USB (uhci_hcd?) stops/kills pwc driver, ps2-keyboard, serial-mouse
Summary: Something in USB (uhci_hcd?) stops/kills pwc driver, ps2-keyboard, serial-mouse
Status: REJECTED WILL_NOT_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Greg Kroah-Hartman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-04-17 14:38 UTC by Jouni Lohikoski
Modified: 2005-08-30 23:18 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.12-rc2
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
System log from the system reboot till ps/2-keyboard and mouses got dead after rmmod uhci-hcd (23.62 KB, text/plain)
2005-06-05 04:32 UTC, Jouni Lohikoski
Details
2.6.12.rc5 crash (Oops) when USB devices are re-attached. dmesg.log (81.30 KB, text/plain)
2005-06-13 08:51 UTC, Jouni Lohikoski
Details

Description Jouni Lohikoski 2005-04-17 14:38:27 UTC
Distribution:
Linux Fedora Core 3, kernel 2.6.10-1.770_FC3, 2.6.11-1.14_FC3, 2.6.12-rc2 

Hardware Environment:
# lspci|grep -iE 'bridge|usb'
00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 02)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP]
00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
00:04.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
(rev 10)
00:04.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
(rev 10)
00:04.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)

# lsusb
Bus 002 Device 003: ID 058f:9254 Alcor Micro Corp. Hub
Bus 002 Device 002: ID 046d:08b2 Logitech, Inc. QuickCam Pro 4000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle
Bus 001 Device 001: ID 0000:0000

# cat /proc/cpuinfo|grep -iE 'model|flags'
model           : 3
model name      : AMD Duron(tm) Processor
flags           : fpu vme de pse tsc msr pae mce cx8 mtrr pge mca cmov pat pse36
mmx fxsr pni syscall mmxext 3dnowext 3dnow

ACPI is disabled with kernel option (acpi=off apm=on) and the machine is not
overclocked.

USB camera (most likely) is not broken. I have tried with 2 cameras, one old,
one new one. 

Software Environment:
kernel 2.6.10 - 2.6.12-rc2

kernel 2.6.9 seems to work better than kernels after that, and with previous
kernels (FC2) with the same hardware never had any problems.

pwc driver v9.0 - v10.0.7
(motion v3.1.19, mplayer 1.0pre6-3.4.2 using /dev/video and pwc-driver)

Problem Description:
When using kernels v2.6.10 - v2.6.12-rc2 system works fine until I try to use
/dev/video1 which is handled by pwc driver and behind is Logitech Quickcam Pro
4000 web camera. 

When /dev/video1 is used, after few seconds or at most 1-2 minutes pwc driver
tells camera would had been removed from the USB bus. 

Also PS/2-keyboard and serial mouse stops working after that. However Alt+SysRq
codes work still from the keyboard. Also Bluetooth/USB dongle and USB-mouse
continues working if the dongle is behind the other USB controller.

Using kernel v 2.6.9-1.667 (FC3) there sometimes comes the same problem, but it
may work for hours before it comes and sometimes doesn't come at all. Somehow
2.6.9 and earlier kernels work better.

Steps to reproduce:
I just boot up with kernel v2.6.10 - 2.6.12-rc2 and start mplayer:
$ mplayer -tv driver=v4l:device=/dev/video1:width=640:height=480:fps=15 tv://
...after some time it stops working and dmesg gets the following (dmesg output
is from kernel 2.6.12-rc2 USB_DEBUG enabled)

{some comments between brackets}

[4294667.296000] Linux version 2.6.11.7 (jlo@localhost) (gcc version 3.4.3
20050227 (Red Hat 3.4.3-22.fc3)) #1 Sat Apr 16 22:22:35 EEST 2005
{it is really 2.6.12-rc2, but I got few *.rej files applying rc2 patch, manually
fixed those which affected compiling. The patch in kernel.org is not against
2.6.11.7 as I'd assume it should be}
...
[   56.459245] usbcore: registered new driver usbfs
[   56.459583] usbcore: registered new driver hub
...
[   57.019978] PNP: No PS/2 controller found. Probing ports directly.
[   57.022503] serio: i8042 AUX port at 0x60,0x64 irq 12
[   57.022528] serio: i8042 KBD port at 0x60,0x64 irq 1
[   57.022545] Serial: 8250/16550 driver $Revision: 1.90 $ 76 ports, IRQ sharing
enabled
[   57.263856] ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[   57.505847] ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[   57.617111] io scheduler noop registered
[   57.617155] io scheduler anticipatory registered
[   57.617165] io scheduler deadline registered
[   57.617191] io scheduler cfq registered
...
[   62.569221] drivers/usb/input/hid-core.c: v2.01:USB HID core driver
[   62.652744] input: AT Translated Set 2 keyboard on isa0060/serio0
...
[   91.480573] usbcore: registered new driver snd-usb-audio
{Logitech Quickcam Pro 4000 has a microphone}
[   91.578443] USB Universal Host Controller Interface driver v2.2
[   91.609387] uhci_hcd 0000:00:04.2: UHCI Host Controller
[   91.679060] uhci_hcd 0000:00:04.2: new USB bus registered, assigned bus number 1
[   91.679090] uhci_hcd 0000:00:04.2: irq 9, io base 0x0000d400
[   91.679124] uhci_hcd 0000:00:04.2: detected 2 ports
[   91.679236] usb usb1: default language 0x0409
[   91.679256] usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
[   91.679264] usb usb1: Product: UHCI Host Controller
[   91.679269] usb usb1: Manufacturer: Linux 2.6.11.7 uhci_hcd
[   91.679274] usb usb1: SerialNumber: 0000:00:04.2
[   91.679315] usb usb1: hotplug
[   91.688406] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[   91.688449] usb 1-0:1.0: hotplug
[   91.697502] hub 1-0:1.0: usb_probe_interface
[   91.697515] hub 1-0:1.0: usb_probe_interface - got id
[   91.697558] hub 1-0:1.0: USB hub found
[   91.697606] hub 1-0:1.0: 2 ports detected
[   91.697611] hub 1-0:1.0: standalone hub
[   91.697617] hub 1-0:1.0: no power switching (usb 1.0)
[   91.697623] hub 1-0:1.0: individual port over-current protection
[   91.697630] hub 1-0:1.0: power on to power good time: 2ms
[   91.697644] hub 1-0:1.0: local power source is good
[   91.700713] uhci_hcd 0000:00:04.3: UHCI Host Controller
[   91.700730] hub 1-0:1.0: state 5 ports 2 chg 0000 evt 0000
[   91.700747] uhci_hcd 0000:00:04.2: port 1 portsc 018a,00
[   91.700766] hub 1-0:1.0: port 1, status 0300, change 0003, 1.5 Mb/s
[   91.882743] uhci_hcd 0000:00:04.3: new USB bus registered, assigned bus number 2
[   91.882772] uhci_hcd 0000:00:04.3: irq 9, io base 0x0000d000
[   91.882810] uhci_hcd 0000:00:04.3: detected 2 ports
[   91.882917] usb usb2: default language 0x0409
[   91.882938] usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
[   91.882945] usb usb2: Product: UHCI Host Controller
[   91.882951] usb usb2: Manufacturer: Linux 2.6.11.7 uhci_hcd
[   91.882956] usb usb2: SerialNumber: 0000:00:04.3
[   91.882996] usb usb2: hotplug
[   91.892181] usb usb2: adding 2-0:1.0 (config #1, interface 0)
[   91.892216] usb 2-0:1.0: hotplug
[   91.901567] hub 2-0:1.0: usb_probe_interface
[   91.901580] hub 2-0:1.0: usb_probe_interface - got id
[   91.901587] hub 2-0:1.0: USB hub found
[   91.901633] hub 2-0:1.0: 2 ports detected
[   91.901638] hub 2-0:1.0: standalone hub
[   91.901643] hub 2-0:1.0: no power switching (usb 1.0)
[   91.901649] hub 2-0:1.0: individual port over-current protection
[   91.901656] hub 2-0:1.0: power on to power good time: 2ms
[   91.901670] hub 2-0:1.0: local power source is good
[   91.912708] hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x300
[   91.912729] uhci_hcd 0000:00:04.2: port 2 portsc 009b,00
[   91.912748] hub 1-0:1.0: port 2, status 0101, change 0003, 12 Mb/s
[   92.111561] hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x101
[   92.173550] usb 1-2: new full speed USB device using uhci_hcd and address 2
[   92.393237] usb 1-2: skipped 1 descriptor after interface
[   92.393254] usb 1-2: new device strings: Mfr=0, Product=0, SerialNumber=0
[   92.393319] usb 1-2: hotplug
[   92.404232] usb 1-2: adding 1-2:1.0 (config #1, interface 0)
[   92.404292] usb 1-2:1.0: hotplug
[   92.413894] usb 1-2: adding 1-2:1.1 (config #1, interface 1)
[   92.413934] usb 1-2:1.1: hotplug
[   92.423327] usb 1-2: adding 1-2:1.2 (config #1, interface 2)
[   92.423368] usb 1-2:1.2: hotplug
[   92.432869] hub 2-0:1.0: state 5 ports 2 chg 0000 evt 0006
[   92.432905] uhci_hcd 0000:00:04.3: port 1 portsc 009b,00
[   92.432935] hub 2-0:1.0: port 1, status 0101, change 0003, 12 Mb/s
[   93.322518] hub 2-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
[   93.384508] usb 2-1: new full speed USB device using uhci_hcd and address 2
[   93.465493] usb 2-1: ep0 maxpacket = 8
[   93.562903] usb 2-1: skipped 4 descriptors after interface
[   93.562917] usb 2-1: skipped 2 descriptors after interface
[   93.562925] usb 2-1: skipped 1 descriptor after endpoint
[   93.562932] usb 2-1: skipped 2 descriptors after interface
[   93.562938] usb 2-1: skipped 1 descriptor after endpoint
[   93.562944] usb 2-1: skipped 2 descriptors after interface
[   93.562950] usb 2-1: skipped 1 descriptor after endpoint
[   93.562957] usb 2-1: skipped 2 descriptors after interface
[   93.562963] usb 2-1: skipped 1 descriptor after endpoint
[   93.562973] usb 2-1: new device strings: Mfr=0, Product=0, SerialNumber=0
[   93.563037] usb 2-1: hotplug
[   93.573870] usb 2-1: adding 2-1:1.0 (config #1, interface 0)
[   93.573930] usb 2-1:1.0: hotplug
[   93.583401] usb 2-1: adding 2-1:1.1 (config #1, interface 1)
[   93.583443] usb 2-1:1.1: hotplug
[   93.593003] snd-usb-audio 2-1:1.1: usb_probe_interface
[   93.593017] snd-usb-audio 2-1:1.1: usb_probe_interface - got id
...
[   94.322812] usb 2-1: khubd timed out on ep0out len=0/2
[   94.423807] usb 2-1: khubd timed out on ep0out len=0/2
[   94.525801] usb 2-1: khubd timed out on ep0in len=0/2
[   94.569277] usb 2-1: adding 2-1:1.2 (config #1, interface 2)
[   94.569336] usb 2-1:1.2: hotplug
[   94.578966] uhci_hcd 0000:00:04.3: port 2 portsc 009b,00
[   94.579001] hub 2-0:1.0: port 2, status 0101, change 0003, 12 Mb/s
[   95.059458] hub 2-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x101
[   95.121445] usb 2-2: new full speed USB device using uhci_hcd and address 3
[   95.200431] usb 2-2: ep0 maxpacket = 8
[   95.205762] usb 2-2: default language 0x0409
[   95.209765] usb 2-2: new device strings: Mfr=1, Product=2, SerialNumber=0
[   95.209776] usb 2-2: Product: Generic USB Hub
[   95.209782] usb 2-2: Manufacturer: ALCOR
[   95.209849] usb 2-2: hotplug
[   95.219777] usb 2-2: adding 2-2:1.0 (config #1, interface 0)
[   95.219825] usb 2-2:1.0: hotplug
[   95.229277] hub 2-2:1.0: usb_probe_interface
[   95.229291] hub 2-2:1.0: usb_probe_interface - got id
[   95.229298] hub 2-2:1.0: USB hub found
[   95.230768] hub 2-2:1.0: 4 ports detected
[   95.230779] hub 2-2:1.0: standalone hub
[   95.230785] hub 2-2:1.0: ganged power switching
[   95.230791] hub 2-2:1.0: global over-current protection
[   95.230798] hub 2-2:1.0: power on to power good time: 44ms
[   95.232756] hub 2-2:1.0: local power source is good
[   95.232767] hub 2-2:1.0: no over-current condition exists
[   95.232776] hub 2-2:1.0: enabling power on all ports
[   95.300465] hub 1-0:1.0: state 5 ports 2 chg 0000 evt 0004
[   95.300505] hub 2-0:1.0: state 5 ports 2 chg 0000 evt 0004
[   95.300521] hub 2-2:1.0: state 5 ports 4 chg 0000 evt 0000
[   97.740941] hub 1-0:1.0: state 5 ports 2 chg 0000 evt 0004
[   97.740978] uhci_hcd 0000:00:04.2: port 2 portsc 009b,00
[   97.741004] hub 1-0:1.0: port 2, status 0101, change 0003, 12 Mb/s
[   97.741014] usb 1-2: USB disconnect, address 2
[   97.741021] usb 1-2: usb_disable_device nuking all URBs
[   97.741033] usb 1-2: unregistering interface 1-2:1.0
[   97.741126] usb 1-2:1.0: hotplug
[   97.759700] usb 1-2: unregistering interface 1-2:1.1
[   97.759782] usb 1-2:1.1: hotplug
[   97.772583] usb 1-2: unregistering interface 1-2:1.2
[   97.772667] usb 1-2:1.2: hotplug
[   97.833676] usb 1-2: unregistering device
[   97.833827] usb 1-2: hotplug
[   97.983347] hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x101
[   98.045334] usb 1-2: new full speed USB device using uhci_hcd and address 3
[   98.263942] usb 1-2: skipped 1 descriptor after interface
[   98.263958] usb 1-2: new device strings: Mfr=0, Product=0, SerialNumber=0
[   98.264025] usb 1-2: hotplug
[   98.274934] usb 1-2: adding 1-2:1.0 (config #1, interface 0)
[   98.274995] usb 1-2:1.0: hotplug
[   98.284897] usb 1-2: adding 1-2:1.1 (config #1, interface 1)
[   98.284937] usb 1-2:1.1: hotplug
[   98.294451] usb 1-2: adding 1-2:1.2 (config #1, interface 2)
[   98.294492] usb 1-2:1.2: hotplug
[  103.870747] Linux video capture interface: v1.00
[  104.170798] pwc Philips webcam module version 9.0.2-unofficial loaded.
[  104.170813] pwc Supports Philips PCA645/646, PCVC675/680/690,
PCVC720[40]/730/740/750 & PCVC830/840.
[  104.170821] pwc Also supports the Askey VC010, various Logitech Quickcams,
Samsung MPC-C10 and MPC-C30,
[  104.170829] pwc the Creative WebCam 5 & Pro Ex, SOTEC Afina Eye and Visionite
VCS-UC300 and VCS-UM100.
[  104.170837] pwc Default framerate set to 15.
[  104.170845] pwc Default image size set to vga [640x480].
[  104.170852] pwc Preferred compression set to 3.
[  104.183313] Philips webcam 2-1:1.0: usb_probe_interface
[  104.183328] Philips webcam 2-1:1.0: usb_probe_interface - got id
[  104.183337] pwc Logitech QuickCam 4000 Pro USB webcam detected.
[  104.191389] pwc Registered as /dev/video1.
[  104.191420] usbcore: registered new driver Philips webcam
[  107.090552] Bluetooth: Core ver 2.7
[  107.090576] NET: Registered protocol family 31
[  107.090581] Bluetooth: HCI device and connection manager initialized
[  107.098665] Bluetooth: HCI socket layer initialized
[  107.110242] Bluetooth: HCI USB driver ver 2.8
[  107.164848] hci_usb 1-2:1.0: usb_probe_interface
[  107.164862] hci_usb 1-2:1.0: usb_probe_interface - got id
[  107.168061] hci_usb 1-2:1.2: usb_probe_interface
[  107.168075] hci_usb 1-2:1.2: usb_probe_interface - got id
[  107.168088] usbcore: registered new driver hci_usb
...
{motion started to grab images from /dev/video1}
[ 1063.295296] pwc Failed to set LED on/off time.
[ 1063.295316] pwc type = 740
[ 1063.302974] pwc type = 740
[ 1063.302986] pwc set_video_mode(640x480 @ 15, palette 15).
[ 1063.302993] pwc decode_size = 5.
[ 1063.303000] pwc Using alternate setting 8.
[ 1063.996578] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1064.006580] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1064.056633] pwc Frame buffer underflow (41152 bytes); discarded.
[ 1064.316586] pwc Dumping frame 6.
[ 1064.386567] pwc Dumping frame 7.
[ 1064.456590] pwc Dumping frame 8.
[ 1064.656561] pwc Dumping frame 11.
[ 1064.716645] pwc Dumping frame 12.
[ 1064.786605] pwc Dumping frame 13.
[ 1064.856517] pwc Dumping frame 14.
[ 1064.916555] pwc Dumping frame 15.
[ 1064.986536] pwc Dumping frame 16.
[ 1065.056508] pwc Dumping frame 17.
[ 1065.116545] pwc Dumping frame 18.
[ 1065.186529] pwc Dumping frame 19.
[ 1065.256550] pwc Dumping frame 20.
[ 1065.316598] pwc Dumping frame 21.
[ 1065.386594] pwc Dumping frame 22.
[ 1065.456519] pwc Dumping frame 23.
[ 1065.516547] pwc Dumping frame 24 (last message).
[ 1068.196383] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1068.256357] pwc Frame buffer underflow (50102 bytes); discarded.
[ 1105.844451] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1105.854476] pwc Frame buffer overflow (flen = 895, frame_total_size =
59052).[ 1129.993238] pwc pwc_isoc_handler() called with status -63 [Buffer
error (overrun)].
[ 1130.043244] pwc Frame buffer underflow (50102 bytes); discarded.
[ 1130.083226] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1130.103273] pwc Frame buffer underflow (50102 bytes); discarded.
[ 1130.933188] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1130.973185] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1130.993186] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1131.003180] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1131.013205] pwc Frame buffer overflow (flen = 895, frame_total_size =
59052).[ 1131.693148] pwc pwc_isoc_handler() called with status -63 [Buffer
error (overrun)].
[ 1131.703191] pwc Frame buffer underflow (50102 bytes); discarded.
[ 1131.733142] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
{ several these deleted, "normal" pwc buffer underflow and overflow notices }
....{then}
[ 3340.001099] pwc Frame buffer underflow (50102 bytes); discarded.
[ 3340.801021] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 3340.811055] pwc Frame buffer overflow (flen = 895, frame_total_size =
59052).[ 3341.950959] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout
(could be anything)].
[ 3341.960959] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 3341.970935] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 3341.980935] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 3341.990939] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 3342.000928] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 3342.010934] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 3342.020936] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 3342.030935] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 3342.038607] hub 2-0:1.0: state 5 ports 2 chg 0000 evt 0002
[ 3342.038643] uhci_hcd 0000:00:04.3: port 1 portsc 0099,00
[ 3342.038660] hub 2-0:1.0: port 1 enable change, status 00000101
[ 3342.038672] hub 2-0:1.0: port 1 disabled by hub (EMI?), re-enabling...
[ 3342.038683] hub 2-0:1.0: port 1, status 0101, change 0002, 12 Mb/s
[ 3342.038692] usb 2-1: USB disconnect, address 2
[ 3342.038699] usb 2-1: usb_disable_device nuking all URBs
[ 3342.038722] uhci_hcd 0000:00:04.3: shutdown urb d4c78e00 pipe 00028280 ep5in-iso
[ 3342.038734] uhci_hcd 0000:00:04.3: shutdown urb d01ecc00 pipe 00028280 ep5in-iso
[ 3342.039942] pwc pwc_isoc_handler() called with status -108 [Unknown].
[ 3342.039956] pwc Error (-19) re-submitting urb in pwc_isoc_handler.
[ 3342.039969] pwc pwc_isoc_handler() called with status -108 [Unknown].
[ 3342.039975] pwc Error (-19) re-submitting urb in pwc_isoc_handler.
[ 3342.040596] usb 2-1: unregistering interface 2-1:1.0
[ 3342.040639] pwc Disconnected while webcam is in use!
[ 3346.161364] pwc Closing video device: 34100 frames received, dumped 31106
frames, 205 frames with errors.
[ 3346.216035] usb 2-1:1.0: hotplug
[ 3346.314360] usb 2-1: unregistering interface 2-1:1.1
[ 3346.409708] usb 2-1:1.1: hotplug
[ 3346.484724] usb 2-1: unregistering interface 2-1:1.2
[ 3346.484804] usb 2-1:1.2: hotplug
[ 3346.555001] usb 2-1: unregistering device
[ 3346.555091] usb 2-1: hotplug
[ 3346.722587] usb 2-1: new full speed USB device using uhci_hcd and address 4
[ 3346.803841] usb 2-1: ep0 maxpacket = 8
[ 3346.902752] usb 2-1: skipped 4 descriptors after interface
[ 3346.902767] usb 2-1: skipped 2 descriptors after interface
[ 3346.902775] usb 2-1: skipped 1 descriptor after endpoint
[ 3346.902782] usb 2-1: skipped 2 descriptors after interface
[ 3346.902789] usb 2-1: skipped 1 descriptor after endpoint
[ 3346.902796] usb 2-1: skipped 2 descriptors after interface
[ 3346.902802] usb 2-1: skipped 1 descriptor after endpoint
[ 3346.902808] usb 2-1: skipped 2 descriptors after interface
[ 3346.902815] usb 2-1: skipped 1 descriptor after endpoint
[ 3346.902825] usb 2-1: new device strings: Mfr=0, Product=0, SerialNumber=0
[ 3346.902887] usb 2-1: hotplug
[ 3346.915723] usb 2-1: adding 2-1:1.0 (config #1, interface 0)
[ 3346.915773] usb 2-1:1.0: hotplug
[ 3346.926994] Philips webcam 2-1:1.0: usb_probe_interface
[ 3346.927011] Philips webcam 2-1:1.0: usb_probe_interface - got id
[ 3346.927020] pwc Logitech QuickCam 4000 Pro USB webcam detected.
[ 3346.936601] pwc Registered as /dev/video1.
[ 3346.936638] usb 2-1: adding 2-1:1.1 (config #1, interface 1)
[ 3346.915773] usb 2-1:1.0: hotplug
[ 3346.926994] Philips webcam 2-1:1.0: usb_probe_interface
[ 3346.927011] Philips webcam 2-1:1.0: usb_probe_interface - got id
[ 3346.927020] pwc Logitech QuickCam 4000 Pro USB webcam detected.
[ 3346.936601] pwc Registered as /dev/video1.
[ 3346.936638] usb 2-1: adding 2-1:1.1 (config #1, interface 1)
[ 3346.936692] usb 2-1:1.1: hotplug
[ 3346.947982] snd-usb-audio 2-1:1.1: usb_probe_interface
[ 3346.948000] snd-usb-audio 2-1:1.1: usb_probe_interface - got id
[ 3347.660679] usb 2-1: khubd timed out on ep0out len=0/2
[ 3347.762675] usb 2-1: khubd timed out on ep0out len=0/2
[ 3347.864666] usb 2-1: khubd timed out on ep0out len=0/2
[ 3347.913856] usb 2-1: adding 2-1:1.2 (config #1, interface 2)
[ 3347.914002] usb 2-1:1.2: hotplug

motion stops running when /dev/video1 vanishes from the system [ 3342.040639]s.
So this time it run 38 minutes before USB camera (and keyboard+mouse) stopped
working.

After this PS/2-keyboard and serial mouse doesn't work and I haven't figured out
a trick to make them work again. /dev/video1 works, so if I start another motion
process or mplayer the USB camera works again few seconds or couple of minutes
before the same ghost hotplug action happens again.

Also:
When I manually unload uhci_hcd module, my PS/2-keyboard and serial-mouse stops
working also, which I find weird because they are not USB devices.

My friend tried the same, remove the module, but his keyboard didn't stop working.
His chipsets are:
00:00.0 Host bridge: Intel Corp. 82815 815 Chipset Host Bridge and Memory
Controller Hub (rev 04)
00:01.0 PCI bridge: Intel Corp. 82815 815 Chipset AGP Bridge (rev 04)
00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 11)
00:1f.0 ISA bridge: Intel Corp. 82801BA ISA Bridge (LPC) (rev 11)
00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #1) (rev 11)
00:1f.4 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #2) (rev 11)

Also with almost same software configuration (same FC3 kernels, motion, mplayer)
and also Logitech Quickcam Pro 4000 USB camera he hasn't had same problems.

If I manually kill khubd, (killall -9 khubd) then when the camera fails,
PS/2-keyboard and serial-mouse doesn't stop working. But of course then USB
camera cannot reinit and work.

So my un-kernel-developer-guess would be there would be a bug in uhci_hcd (and
maybe in khubd)

More info and discussion (has been and) is in pwc driver mailing list:
< http://lists.saillard.org/pipermail/pwc/2005-April/000194.html >

(And one notice. In www.kernel.org rc2 prepatch is not against 2.6.11.7, which
is the latest stable version available there. Lots of .rej files as some of the
rc2-prepatch changes are already done into 2.6.11.7, but not all.)
Comment 1 Andrew Morton 2005-05-25 23:00:44 UTC
Could you please tell us whether or not this problem remains in 2.6.12-rc5?
Comment 2 Jouni Lohikoski 2005-05-31 12:41:01 UTC
I tried 2.6.11-11 from the kernel.org.
Still same bug:
pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could be
anything)].pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could be
anything)].pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could be
anything)].pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could be
anything)].hub 2-0:1.0: state 5 ports 2 chg 0000 evt 0002
uhci_hcd 0000:00:04.3: port 1 portsc 0099,00
hub 2-0:1.0: port 1 enable change, status 00000101
hub 2-0:1.0: port 1 disabled by hub (EMI?), re-enabling...
hub 2-0:1.0: port 1, status 0101, change 0002, 12 Mb/s
usb 2-1: USB disconnect, address 2
usb 2-1: usb_disable_device nuking all URBs
uhci_hcd 0000:00:04.3: shutdown urb da4d8e00 pipe 00028280 ep5in-iso
uhci_hcd 0000:00:04.3: shutdown urb e7501e00 pipe 00028280 ep5in-iso
pwc pwc_isoc_handler() called with status -108 [Unknown].
pwc Error (-19) re-submitting urb in pwc_isoc_handler.
pwc pwc_isoc_handler() called with status -108 [Unknown].
pwc Error (-19) re-submitting urb in pwc_isoc_handler.
usb 2-1: unregistering interface 2-1:1.0
pwc Disconnected while webcam is in use!

Mplayer which is showing the video from /dev/video1 is still working, but the
picture is not moving but stuck. PS/2 Keyboard works. After I end the mplayer
process, keyboard doesn't work anymore (except SysrQ-commands)

I will try with 2.6.12-rc5 soon.
I find it difficult www.kernel.org doesn't have at least on its front page link
to original 2.6.11 kernel what rc5 patch is against. 
Comment 3 Jouni Lohikoski 2005-06-01 02:51:48 UTC
Have to correct this. In 2.6.11.11 PS/2 keyboard does not go dead anymore after
pwc or uhci driver fails. It did so in 2.6.12-rc2 and 2.6.11.7

After pwc driver, uhci-hcd or usbcore fails, pwc driver cannot be removed from
the kernel. rmmod -f pwc says it is busy, and modprobe -r pwc hangs.

# lsof|grep video
(nothing)

# lsof|grep pwc
modprobe  5572    root    3uw     REG       33,7   510204     680985
/lib/modules/2.6.11.11/kernel/drivers/usb/media/pwc.ko

# lsmod|grep pwc
pwc                    90228  0
videodev               10240  1 pwc
v4l2_common             6144  1 pwc

# kill -9 5572

# ps uw 5572
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root      5572  0.0  0.0  1576  412 pts/2    D    12:11   0:00 modprobe -r pwc

# dmesg|tail
pwc Too many ISOC errors, bailing out.
hub 2-0:1.0: state 5 ports 2 chg 0000 evt 0002
uhci_hcd 0000:00:04.3: port 1 portsc 0099,00
hub 2-0:1.0: port 1 enable change, status 00000101
hub 2-0:1.0: port 1 disabled by hub (EMI?), re-enabling...
hub 2-0:1.0: port 1, status 0101, change 0002, 12 Mb/s
usb 2-1: USB disconnect, address 2
usb 2-1: usb_disable_device nuking all URBs
uhci_hcd 0000:00:04.3: shutdown urb e17e6c00 pipe 00028280 ep5in-iso
uhci_hcd 0000:00:04.3: shutdown urb e329be00 pipe 00028280 ep5in-iso
pwc pwc_isoc_handler() called with status -108 [Unknown].
pwc Too many ISOC errors, bailing out.
pwc Error (-19) re-submitting urb in pwc_isoc_handler.
pwc pwc_isoc_handler() called with status -108 [Unknown].
pwc Too many ISOC errors, bailing out.
pwc Error (-19) re-submitting urb in pwc_isoc_handler.
usb 2-1: unregistering interface 2-1:1.0
pwc Disconnected while webcam is in use!
pwc Closing video device: 1333 frames received, dumped 6 frames, 10 frames with
errors.
usb 2-1:1.0: hotplug
usb 2-1: unregistering interface 2-1:1.1
pwc Deregistering driver.
usbcore: deregistering driver Philips webcam
Comment 4 Greg Kroah-Hartman 2005-06-01 14:42:40 UTC
Your device is being disconnected because of a low-power issue, or a flaky
hub.  Nothing the kernel can do about that.
Comment 5 Jouni Lohikoski 2005-06-02 10:33:41 UTC
OK, thanks for taking the time to answer.

As an education, how from the logs you (one) can see it is the power issue?
I have two USB hubs, one integrated to the mainboard and one extra PCI-card, and
this happens with both of them. The kernel says, the "local power source is
good" for both hubs.

I also tried 2.6.12.rc5 and yes it behaves the same. Also somehow with
2.6.12.rc5 ps/2-keyboard and serial-mouse got dead again. With 2.6.11-11 many
times only pwc driver fails, but ps/2-keyboard and serial-mouse stays working. 

Also as I wrote, in some of the older kernels, with exactly same hardware, I
used not to have the problems, so that's why I thought it would not be a
hardware failure. Maybe I'll try to downgrade to some older kernel and see if
this still is the case. 
[4294667.296000] Linux version 2.6.12-rc5 (jlo@localhost) (gcc version 3.4.3
20050227 (Red Hat 3.4.3-22.fc3)) #1 Wed Jun 1 22:19:19 EEST 2005
...
[   88.092998] usbcore: registered new driver hiddev
[   88.093245] usbcore: registered new driver usbhid
[   88.093254] drivers/usb/input/hid-core.c: v2.01:USB HID core driver
[   88.095223] mice: PS/2 mouse device common for all mice
...
[   88.190515] input: AT Translated Set 2 keyboard on isa0060/serio0
...
[  114.139908] usbcore: registered new driver snd-usb-audio
[  114.235928] USB Universal Host Controller Interface driver v2.2
[  114.266290] PCI: Found IRQ 9 for device 0000:00:04.2
[  114.266319] PCI: Sharing IRQ 9 with 0000:00:04.3
[  114.266331] PCI: Sharing IRQ 9 with 0000:00:09.0
[  114.266374] uhci_hcd 0000:00:04.2: UHCI Host Controller
[  114.362277] uhci_hcd 0000:00:04.2: new USB bus registered, assigned bus number 1
[  114.362307] uhci_hcd 0000:00:04.2: irq 9, io base 0x0000d400
[  114.362348] uhci_hcd 0000:00:04.2: detected 2 ports
[  114.362460] usb usb1: default language 0x0409
[  114.362478] usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
[  114.362513] usb usb1: Product: UHCI Host Controller
[  114.362518] usb usb1: Manufacturer: Linux 2.6.12-rc5 uhci_hcd
[  114.362524] usb usb1: SerialNumber: 0000:00:04.2
[  114.362563] usb usb1: hotplug
[  114.371667] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[  114.371700] usb 1-0:1.0: hotplug
[  114.380716] hub 1-0:1.0: usb_probe_interface
[  114.380731] hub 1-0:1.0: usb_probe_interface - got id
[  114.380738] hub 1-0:1.0: USB hub found
[  114.380787] hub 1-0:1.0: 2 ports detected
[  114.380792] hub 1-0:1.0: standalone hub
[  114.380797] hub 1-0:1.0: no power switching (usb 1.0)
[  114.380803] hub 1-0:1.0: individual port over-current protection
[  114.380811] hub 1-0:1.0: power on to power good time: 2ms
[  114.380824] hub 1-0:1.0: local power source is good
[  114.383574] PCI: Found IRQ 9 for device 0000:00:04.3
[  114.383593] PCI: Sharing IRQ 9 with 0000:00:04.2
[  114.383608] PCI: Sharing IRQ 9 with 0000:00:09.0
[  114.383649] uhci_hcd 0000:00:04.3: UHCI Host Controller
[  114.383666] hub 1-0:1.0: state 5 ports 2 chg 0000 evt 0000
[  114.383682] uhci_hcd 0000:00:04.2: port 1 portsc 009b,00
[  114.383700] hub 1-0:1.0: port 1, status 0101, change 0003, 12 Mb/s
[  114.570002] hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
[  114.570067] uhci_hcd 0000:00:04.3: new USB bus registered, assigned bus number 2
[  114.570091] uhci_hcd 0000:00:04.3: irq 9, io base 0x0000d000
[  114.570133] uhci_hcd 0000:00:04.3: detected 2 ports
[  114.570226] usb usb2: default language 0x0409
[  114.570245] usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
[  114.570252] usb usb2: Product: UHCI Host Controller
[  114.570257] usb usb2: Manufacturer: Linux 2.6.12-rc5 uhci_hcd
[  114.570263] usb usb2: SerialNumber: 0000:00:04.3
[  114.570302] usb usb2: hotplug
[  114.579335] usb usb2: adding 2-0:1.0 (config #1, interface 0)
[  114.579370] usb 2-0:1.0: hotplug
[  114.588369] hub 2-0:1.0: usb_probe_interface
[  114.588384] hub 2-0:1.0: usb_probe_interface - got id
[  114.588391] hub 2-0:1.0: USB hub found
[  114.588442] hub 2-0:1.0: 2 ports detected
[  114.588447] hub 2-0:1.0: standalone hub
[  114.588452] hub 2-0:1.0: no power switching (usb 1.0)
[  114.588458] hub 2-0:1.0: individual port over-current protection
[  114.588466] hub 2-0:1.0: power on to power good time: 2ms
[  114.588519] hub 2-0:1.0: local power source is good
[  115.163512] usb 1-1: new full speed USB device using uhci_hcd and address 2
[  115.244481] usb 1-1: ep0 maxpacket = 8
[  115.342524] usb 1-1: skipped 4 descriptors after interface
[  115.342539] usb 1-1: skipped 2 descriptors after interface
[  115.342548] usb 1-1: skipped 1 descriptor after endpoint
[  115.342555] usb 1-1: skipped 2 descriptors after interface
[  115.342561] usb 1-1: skipped 1 descriptor after endpoint
[  115.342567] usb 1-1: skipped 2 descriptors after interface
[  115.342574] usb 1-1: skipped 1 descriptor after endpoint
[  115.342580] usb 1-1: skipped 2 descriptors after interface
[  115.342586] usb 1-1: skipped 1 descriptor after endpoint
[  115.342597] usb 1-1: new device strings: Mfr=0, Product=0, SerialNumber=0
[  115.342651] usb 1-1: hotplug
[  115.353500] usb 1-1: adding 1-1:1.0 (config #1, interface 0)
[  115.353553] usb 1-1:1.0: hotplug
[  115.363071] usb 1-1: adding 1-1:1.1 (config #1, interface 1)
[  115.363108] usb 1-1:1.1: hotplug
[  115.372404] snd-usb-audio 1-1:1.1: usb_probe_interface
[  115.372421] snd-usb-audio 1-1:1.1: usb_probe_interface - got id
[  116.098386] usb 1-1: khubd timed out on ep0out len=0/2
[  116.200381] usb 1-1: khubd timed out on ep0out len=0/2
[  116.302380] usb 1-1: khubd timed out on ep0out len=0/2
[  116.463443] usb 1-1: adding 1-1:1.2 (config #1, interface 2)
[  116.463499] usb 1-1:1.2: hotplug
[  116.472678] uhci_hcd 0000:00:04.2: port 2 portsc 009b,00
[  116.472709] hub 1-0:1.0: port 2, status 0101, change 0003, 12 Mb/s
[  116.924572] hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x101
[  116.986447] usb 1-2: new full speed USB device using uhci_hcd and address 3
[  117.205358] usb 1-2: skipped 1 descriptor after interface
[  117.205375] usb 1-2: new device strings: Mfr=0, Product=0, SerialNumber=0
[  117.205484] usb 1-2: hotplug
[  117.216354] usb 1-2: adding 1-2:1.0 (config #1, interface 0)
[  117.216458] usb 1-2:1.0: hotplug
[  117.225972] usb 1-2: adding 1-2:1.1 (config #1, interface 1)
[  117.226011] usb 1-2:1.1: hotplug
[  117.235488] usb 1-2: adding 1-2:1.2 (config #1, interface 2)
[  117.235528] usb 1-2:1.2: hotplug
[  117.245149] hub 2-0:1.0: state 5 ports 2 chg 0000 evt 0006
[  117.245187] uhci_hcd 0000:00:04.3: port 1 portsc 008a,00
[  117.245213] hub 2-0:1.0: port 1, status 0100, change 0003, 12 Mb/s
[  118.461392] hub 2-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x100
[  118.461413] uhci_hcd 0000:00:04.3: port 2 portsc 009b,00
[  118.461431] hub 2-0:1.0: port 2, status 0101, change 0003, 12 Mb/s
[  118.565380] hub 2-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x101
[  118.627370] usb 2-2: new full speed USB device using uhci_hcd and address 2
[  118.706357] usb 2-2: ep0 maxpacket = 8
[  118.712040] usb 2-2: default language 0x0409
[  118.716040] usb 2-2: new device strings: Mfr=1, Product=2, SerialNumber=0
[  118.716051] usb 2-2: Product: Generic USB Hub
[  118.716057] usb 2-2: Manufacturer: ALCOR
[  118.716112] usb 2-2: hotplug
[  118.726064] usb 2-2: adding 2-2:1.0 (config #1, interface 0)
[  118.726108] usb 2-2:1.0: hotplug
[  118.735644] hub 2-2:1.0: usb_probe_interface
[  118.735659] hub 2-2:1.0: usb_probe_interface - got id
[  118.735666] hub 2-2:1.0: USB hub found
[  118.737046] hub 2-2:1.0: 4 ports detected
[  118.737056] hub 2-2:1.0: standalone hub
[  118.737061] hub 2-2:1.0: ganged power switching
[  118.737067] hub 2-2:1.0: global over-current protection
[  118.737074] hub 2-2:1.0: power on to power good time: 44ms
[  118.739034] hub 2-2:1.0: local power source is good
[  118.739045] hub 2-2:1.0: no over-current condition exists
[  118.739053] hub 2-2:1.0: enabling power on all ports
[  118.819459] hub 1-0:1.0: state 5 ports 2 chg 0000 evt 0000
[  118.819475] hub 2-0:1.0: state 5 ports 2 chg 0000 evt 0004
[  118.819507] hub 2-2:1.0: state 5 ports 4 chg 0000 evt 0000
[  120.231309] hub 1-0:1.0: state 5 ports 2 chg 0000 evt 0004
[  120.231343] uhci_hcd 0000:00:04.2: port 2 portsc 009b,00
[  120.231372] hub 1-0:1.0: port 2, status 0101, change 0003, 12 Mb/s
[  120.231381] usb 1-2: USB disconnect, address 3
[  120.231388] usb 1-2: usb_disable_device nuking all URBs
[  120.231400] usb 1-2: unregistering interface 1-2:1.0
[  120.231490] usb 1-2:1.0: hotplug
[  120.248612] usb 1-2: unregistering interface 1-2:1.1
[  120.248690] usb 1-2:1.1: hotplug
[  120.307616] usb 1-2: unregistering interface 1-2:1.2
[  120.307698] usb 1-2:1.2: hotplug
[  120.366512] usb 1-2: unregistering device
[  120.366663] usb 1-2: hotplug
[  120.514311] hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x101
[  120.576303] usb 1-2: new full speed USB device using uhci_hcd and address 4
[  120.795171] usb 1-2: skipped 1 descriptor after interface
[  120.795188] usb 1-2: new device strings: Mfr=0, Product=0, SerialNumber=0
[  120.795245] usb 1-2: hotplug
[  120.806174] usb 1-2: adding 1-2:1.0 (config #1, interface 0)
[  120.806228] usb 1-2:1.0: hotplug
[  120.815740] usb 1-2: adding 1-2:1.1 (config #1, interface 1)
[  120.815779] usb 1-2:1.1: hotplug
[  120.825151] usb 1-2: adding 1-2:1.2 (config #1, interface 2)
[  120.825190] usb 1-2:1.2: hotplug
[  120.834677] hub 1-0:1.0: state 5 ports 2 chg 0000 evt 0004
[  129.302267] Bluetooth: Core ver 2.7
[  129.302291] NET: Registered protocol family 31
[  129.302297] Bluetooth: HCI device and connection manager initialized
[  129.302336] Bluetooth: HCI socket layer initialized
[  129.337505] Bluetooth: HCI USB driver ver 2.8
[  129.368113] hci_usb 1-2:1.0: usb_probe_interface
[  129.368128] hci_usb 1-2:1.0: usb_probe_interface - got id
[  129.371032] hci_usb 1-2:1.2: usb_probe_interface
[  129.371046] hci_usb 1-2:1.2: usb_probe_interface - got id
[  129.371059] usbcore: registered new driver hci_usb
...
[ 1594.032260] Linux video capture interface: v1.00
[ 1594.074920] pwc Philips webcam module version 9.0.2-unofficial loaded.
[ 1594.074941] pwc Supports Philips PCA645/646, PCVC675/680/690,
PCVC720[40]/730/740/750 & PCVC830/840.
[ 1594.074949] pwc Also supports the Askey VC010, various Logitech Quickcams,
Samsung MPC-C10 and MPC-C30,
[ 1594.074957] pwc the Creative WebCam 5 & Pro Ex, SOTEC Afina Eye and Visionite
VCS-UC300 and VCS-UM100.
[ 1594.074966] pwc Default framerate set to 15.
[ 1594.074973] pwc Default image size set to vga [640x480].
[ 1594.074980] pwc Preferred compression set to 1.
[ 1594.074985] pwc Enabling power save on open/close.
[ 1594.077448] Philips webcam 1-1:1.0: usb_probe_interface
[ 1594.077467] Philips webcam 1-1:1.0: usb_probe_interface - got id
[ 1594.077475] pwc Logitech QuickCam 4000 Pro USB webcam detected.
[ 1594.078295] pwc Registered as /dev/video1.
[ 1594.078327] usbcore: registered new driver Philips webcam
[ 1600.637511] pwc Failed to restore power to the camera! (-32)
[ 1600.639077] pwc Failed to set LED on/off time.
[ 1600.639093] pwc type = 740
[ 1600.646636] pwc type = 740
[ 1600.646675] pwc set_video_mode(640x480 @ 15, palette 15).
[ 1600.646681] pwc decode_size = 5.
[ 1600.646688] pwc Using alternate setting 9.
[ 1666.922637] pwc type = 740
[ 1666.930120] pwc type = 740
[ 1666.930132] pwc set_video_mode(640x480 @ 15, palette 15).
[ 1666.930139] pwc decode_size = 5.
[ 1666.930147] pwc Using alternate setting 9.
[ 1682.896845] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1682.936836] pwc Frame buffer underflow (53562 bytes); discarded.
[ 1688.936541] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1688.946544] pwc pwc_isoc_handler() called with status -63 [Buffer error
(overrun)].
[ 1688.956533] pwc Frame buffer overflow (flen = 957, frame_total_size =
63132).[ 1709.005503] pwc pwc_isoc_handler() called with status -63 [Buffer
error (overrun)].
[ 1709.065517] pwc Frame buffer underflow (53562 bytes); discarded.
[ 1710.045465] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 1710.054476] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 1710.065465] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 1710.074463] pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could
be anything)].
[ 1710.076039] hub 1-0:1.0: state 5 ports 2 chg 0000 evt 0002
[ 1710.076067] uhci_hcd 0000:00:04.2: port 1 portsc 0099,00
[ 1710.076082] hub 1-0:1.0: port 1 enable change, status 00000101
[ 1710.076093] hub 1-0:1.0: port 1 disabled by hub (EMI?), re-enabling...
[ 1710.076105] hub 1-0:1.0: port 1, status 0101, change 0002, 12 Mb/s
[ 1710.076113] usb 1-1: USB disconnect, address 2
[ 1710.076120] usb 1-1: usb_disable_device nuking all URBs
[ 1710.076142] uhci_hcd 0000:00:04.2: shutdown urb dffe2400 pipe 00028280 ep5in-iso
[ 1710.076155] uhci_hcd 0000:00:04.2: shutdown urb e1a87600 pipe 00028280 ep5in-iso
[ 1710.077461] pwc pwc_isoc_handler() called with status -108 [Unknown].
[ 1710.077475] pwc Error (-19) re-submitting urb in pwc_isoc_handler.
[ 1710.077488] pwc pwc_isoc_handler() called with status -108 [Unknown].
[ 1710.077495] pwc Error (-19) re-submitting urb in pwc_isoc_handler.
[ 1710.077518] usb 1-1: unregistering interface 1-1:1.0
[ 1710.077592] pwc Disconnected while webcam is in use!
[ 1769.898597] pwc Closing video device: 636 frames received, dumped 0 frames, 3
frames with errors.
[ 1770.049016] usb 1-1:1.0: hotplug
[ 1770.139239] usb 1-1: unregistering interface 1-1:1.1
[ 1770.363461] usb 1-1:1.1: hotplug
[ 1770.437503] usb 1-1: unregistering interface 1-1:1.2
[ 1770.437613] usb 1-1:1.2: hotplug
[ 1770.507191] usb 1-1: unregistering device
[ 1770.507344] usb 1-1: hotplug
[ 1770.670702] usb 1-1: new full speed USB device using uhci_hcd and address 5
[ 1770.769824] usb 1-1: ep0 maxpacket = 8
[ 1770.867462] usb 1-1: skipped 4 descriptors after interface
[ 1770.867479] usb 1-1: skipped 2 descriptors after interface
[ 1770.867487] usb 1-1: skipped 1 descriptor after endpoint
[ 1770.867494] usb 1-1: skipped 2 descriptors after interface
[ 1770.867501] usb 1-1: skipped 1 descriptor after endpoint
[ 1770.867507] usb 1-1: skipped 2 descriptors after interface
[ 1770.867513] usb 1-1: skipped 1 descriptor after endpoint
[ 1770.867520] usb 1-1: skipped 2 descriptors after interface
[ 1770.867526] usb 1-1: skipped 1 descriptor after endpoint
[ 1770.867536] usb 1-1: new device strings: Mfr=0, Product=0, SerialNumber=0
[ 1770.867595] usb 1-1: hotplug
[ 1770.881029] usb 1-1: adding 1-1:1.0 (config #1, interface 0)
[ 1770.881092] usb 1-1:1.0: hotplug
[ 1770.891623] Philips webcam 1-1:1.0: usb_probe_interface
[ 1770.891640] Philips webcam 1-1:1.0: usb_probe_interface - got id
[ 1770.891649] pwc Logitech QuickCam 4000 Pro USB webcam detected.
[ 1770.867479] usb 1-1: skipped 2 descriptors after interface
[ 1770.867487] usb 1-1: skipped 1 descriptor after endpoint
[ 1770.867494] usb 1-1: skipped 2 descriptors after interface
[ 1770.867501] usb 1-1: skipped 1 descriptor after endpoint
[ 1770.867507] usb 1-1: skipped 2 descriptors after interface
[ 1770.867513] usb 1-1: skipped 1 descriptor after endpoint
[ 1770.867520] usb 1-1: skipped 2 descriptors after interface
[ 1770.867526] usb 1-1: skipped 1 descriptor after endpoint
[ 1770.867536] usb 1-1: new device strings: Mfr=0, Product=0, SerialNumber=0
[ 1770.867595] usb 1-1: hotplug
[ 1770.881029] usb 1-1: adding 1-1:1.0 (config #1, interface 0)
[ 1770.881092] usb 1-1:1.0: hotplug
[ 1770.891623] Philips webcam 1-1:1.0: usb_probe_interface
[ 1770.891640] Philips webcam 1-1:1.0: usb_probe_interface - got id
[ 1770.891649] pwc Logitech QuickCam 4000 Pro USB webcam detected.
[ 1770.901478] pwc Registered as /dev/video1.
[ 1770.901514] usb 1-1: adding 1-1:1.1 (config #1, interface 1)
[ 1770.901564] usb 1-1:1.1: hotplug
[ 1770.912672] snd-usb-audio 1-1:1.1: usb_probe_interface
[ 1770.912691] snd-usb-audio 1-1:1.1: usb_probe_interface - got id
[ 1771.760526] usb 1-1: adding 1-1:1.2 (config #1, interface 2)
[ 1771.760588] usb 1-1:1.2: hotplug
[ 1771.772072] hub 1-0:1.0: state 5 ports 2 chg 0000 evt 0002

After this ps/2-keyboard and serial-mouse were also dead. Bluetooth-mouse was
still working and with a help of xvkbd-program I was able to save dmesg and reboot.
Comment 6 Alan Stern 2005-06-04 19:59:20 UTC
Do your ps/2-keyboard and serial-mouse die if you rmmod uhci-hcd or unplug the
camera before pwc hangs?  I suspect a bug in the pwc driver rather than in khubd
or uhci-hcd.
Comment 7 Jouni Lohikoski 2005-06-05 04:32:02 UTC
Created attachment 5126 [details]
System log from the system reboot till ps/2-keyboard and mouses got dead after rmmod uhci-hcd

1) I rebooted to 2.6.12.rc5. It went to init level 5 (gdm, X, GNOME)
2) I 'su -'ed as root and just "rmmod uhci-hcd"
3) After this ps/2-keyboard, serial-mouse and also this time USB BT mouse were
dead. This doesn't happen to my friend's machine which has different chipset on
the MB (all kind of other devices) but same Quickcam Pro 4000 and pwc driver.
4) SysRq-commands still work, so I was able to EmergencySync (SysRq+S) and
Reboot (SysRq+B).

USB camera wasn't used at all, it was plugged in, and pwc driver was loaded,
but the device never opened by any application.
Comment 8 Alan Stern 2005-06-05 08:01:43 UTC
This is strange.  We can't even conclude that keyboard IRQs are lost, because
Alt-SysRq works.  Do you have USB Legacy support turned on in your BIOS?  If
yes, does anything change if you turn it off?

What happens if you unplug all your USB devices before booting?  Will "rmmod
uhci-hcd" still kill the ps/2-keyboard?

When the keyboard is dead do network logins still work?  Can you telnet to the
computer and see what /proc/interrupts shows as you type on the keyboard and
move the serial mouse?
Comment 9 Jouni Lohikoski 2005-06-07 13:07:30 UTC
I'll answer the previous questions more specificly later.

Now I've experiencing with 2.6.11.11, which seems to work that way better
ps/2-keyboard and serial-mouse doesn't get dead when pwc driver fails. In
2.6.11-FC3-kernels and in 2.6.12.rc5 they do. But to answer quickly, yes,
keyboard and serial bus interrupts are received by a kernel although they are
dead. It may be they become dead only to X, but I haven't yet tested this.
I was able to verify this in 2.6.12.rc5 with BT mouse and xvkbd-program.

I also have 460W new PSU waiting to be installed, so if this is insufficient
power issue it will be resolved. But somehow, even if it would be power problem,
I still think drivers should behave somehow better than what they do now and put
system in DOS state. And I find it mystery in 2.6.11.11 ps/2-keyboard and
serial-mouse doesn't seem to get dead, but in 2.6.12.rc5 they do.

I found something interesting playing with 2.6.11.11
The log below explains it pretty well.

What happens, I have mplayer once again showing video from the webcam. After
while it once again fails, seems like pwc driver or device fails.

I then try to rmmod pwc driver. It and none /dev/video* devices are in use, but
rmmod process gets a state "D" (uninterruptible sleep)

I switch to runlevel 3, so stopping X
After that I am able to remove pwc driver. I switch back to runlevel 5 and
"modprobe pwc" installs the pwc driver back into the kernel. Then mplayer is
tried again...until the device fails. Same routine, rmmod gets "D", lsof doesn't
show device would be in use. Visiting runlevel 3 helps again.

below is few comments in (parentheses)
The log:
$ mplayer -tv driver=v4l:device=/dev/video1:fps=15:width=640:height=480 tv://

(after while mplayer's video get stuck, like paused but repeats back and
forth I think last two frames)

Jun  7 22:10:31 localhost kernel: usb 1-1: USB disconnect, address 5
Jun  7 22:10:31 localhost kernel: pwc Too many ISOC errors, bailing out.
Jun  7 22:10:31 localhost kernel: pwc Error (-19) re-submitting urb in
pwc_isoc_handler.
Jun  7 22:10:31 localhost kernel: pwc Too many ISOC errors, bailing out.
Jun  7 22:10:31 localhost kernel: pwc Error (-19) re-submitting urb in
pwc_isoc_handler.
Jun  7 22:10:31 localhost kernel: pwc Disconnected while webcam is in use!

# rmmod -f pwc &
Jun  7 22:12:11 localhost kernel: usbcore: deregistering driver Philips webcam
(it seems rmmod was succesfull, but really rmmod process gets stuck. Having
it foreground or background doesn't make a difference.)

# lsmod|head -4
Module                  Size  Used by
pwc                    90228  0
videodev               10240  1 pwc
v4l2_common             6144  1 pwc
(clearly pwc module is not removed although was tried to be forced)

# ps uw `pgrep rmmod`
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root     22268  0.0  0.0  1384  196 pts/6    D    22:12   0:00 /sbin/rmmod -f pwc
(rmmod process got in some kind of dead lock state)

# lsof | grep pwc
(nothing, pwc should not be in use)

# lsof | grep video
(nothing, pwc should not be in use)

# telinit 3
(lets quit X)

# lsmod|grep pwc
pwc                    90228  0
videodev               10240  1 pwc
v4l2_common             6144  1 pwc

# ps uww `pgrep rmmod`
(nothing)

# rmmod pwc
Jun  7 22:28:51 localhost kernel: usbcore: deregistering driver Philips webcam
Jun  7 22:28:51 localhost kernel: pwc Philips webcam module removed.

# lsmod|grep pwc
(nothing)

# telinit 5
Jun  7 22:29:21 localhost init: Switching to runlevel: 5

# modprobe pwc
Jun  7 22:33:33 localhost kernel: pwc Philips webcam module version
10.0.7-unofficial loaded.
....
Jun  7 22:33:33 localhost kernel: usbcore: registered new driver Philips webcam
Jun  7 22:33:33 localhost kernel: pwc Failed to set LED on/off time.

$ mplayer -tv driver=v4l:device=/dev/video1:fps=15:width=640:height=480 tv://
.....(after while)
V:  74.2 1857/1857  0%  3%  0.0% 0 0 0%
ioctl mcapture failed: Device or resource busy
(mplayer is once again doing that little vibrating video like swithicing back
and forth last two frames from webcam or something)

Jun  7 22:36:46 localhost kernel: hub 1-0:1.0: port 1 disabled by hub (EMI?),
re-enabling...
Jun  7 22:36:46 localhost kernel: usb 1-1: USB disconnect, address 6
Jun  7 22:36:46 localhost kernel: pwc Error (-19) re-submitting urb in
pwc_isoc_handler.
Jun  7 22:36:47 localhost kernel: pwc Error (-19) re-submitting urb in
pwc_isoc_handler.
Jun  7 22:36:47 localhost kernel: pwc Disconnected while webcam is in use!

# killall mplayer
Jun  7 22:36:56 localhost kernel: pwc Closing video device: 1618 frames received,
dumped 1 frames, 12 frames with errors.

# rmmod -f pwc &
[1] 23827
Jun  7 22:38:39 localhost kernel: usbcore: deregistering driver Philips webcam

# lsmod|grep pwc
pwc                    90228  0
videodev               10240  1 pwc
v4l2_common             6144  1 pwc

# lsof |grep pwc
(nothing)

# lsof |grep video
(nothing)

# ps uww `pgrep rmmod`
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root     23827  0.0  0.0  1384  196 pts/1    D    22:38   0:00 rmmod -f pwc

# jobs
[1]+  Running                 rmmod -f pwc &

# telinit 3

# ps uww `pgrep rmmod`
(no D rmmod process anymore)

# rmmod pwc

# lsmod|grep pwc
(nothing)

# telinit 5

# modprobe pwc
 Jun  7 22:43:33 localhost kernel: pwc Philips webcam module version
10.0.7-unofficial loaded.
Jun  7 22:43:33 localhost kernel: pwc Supports Philips PCA645/646,
PCVC675/680/690, PCVC720[40]/730/740/750 & PCVC830/840.
Jun  7 22:43:33 localhost kernel: pwc Also supports the Askey VC010, various
Logitech Quickcams, Samsung MPC-C10 and MPC-C30,
Jun  7 22:43:33 localhost kernel: pwc the Creative WebCam 5 & Pro Ex, SOTEC
Afina Eye and Visionite VCS-UC300 and VCS-UM100.
Jun  7 22:43:33 localhost kernel: pwc Default framerate set to 15.
Jun  7 22:43:33 localhost kernel: pwc Default image size set to vga [640x480].
Jun  7 22:43:33 localhost kernel: pwc Trace options: 0x00a1
Jun  7 22:43:33 localhost kernel: pwc Preferred compression set to 1.
Jun  7 22:43:33 localhost kernel: pwc Logitech QuickCam 4000 Pro USB webcam
detected.Jun  7 22:43:33 localhost kernel: pwc Registered as /dev/video1.
Jun  7 22:43:33 localhost kernel: usbcore: registered new driver Philips webcam
Jun  7 22:43:34 localhost kernel: pwc Failed to set LED on/off time.


Comment 10 Alan Stern 2005-06-07 13:44:45 UTC
Please put long documents in attachments, to avoid cluttering up the main list
of messages.

You said before that with 2.6.11.7 the keyboard fails and with 2.6.11.11 it
doesn't.  What about 2.6.11.8 - 2.6.11.10?  Can you find out exactly in which
release it stopped failing?

Try switching to a text console before things stop working.  When rmmod hangs, a
stack trace (Alt-SysRq-T) would be helpful.  You'll probably have to use dmesg
to read it because your syslog daemon is liable to lose a lot of the information.

It would be interesting to see if the D-state rmmod process is stuck because of
the X server itself, or because of some program running under X.  You ought to
be able to test this by killing processes one at a time instead of changing
runlevels.  If the only X program left running is the server itself and rmmod is
still stuck, then part of the problem must lie in the input layer.
Comment 11 Jouni Lohikoski 2005-06-11 02:00:48 UTC
I've found the culprit in my system, why when pwc/uhci/khubd driver fails, it
cannot be removed from the kernel and reloaded in kernel 2.6.11.11.

It was mixer_applet2 from FC3 gnome-applets package. I have mixer_applet2
(Volume Control) in the GNOME Panel. It monitors also USB Webcam's microphone
(USB Device =0xZZZ:0xZZZ [Alsa Mixer]). The webcam's microphone is controlled by
a snd_usb_audio, audio and snd_usb_lib modules:
# lsmod|grep audio
audio                  55168  0
snd_usb_audio          68032  3
snd_usb_lib            13952  1 snd_usb_audio
snd_pcm               106888  4 snd_usb_audio,snd_ens1371,snd_ac97_codec,snd_pcm_oss
snd                    60900  19
snd_usb_audio,snd_ens1371,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore              11232  4 audio,snd

I noticed, just by ending this mixer_applet2, when pwc driver fails, it
automaticly is restarted. When mixer_applet2 is running, then pwc driver cannot
restart, nor it can be "'rmmod -f'/'modprobe -r'"ed.

So, is there something which could/should be done to either alsa, audio-drivers,
  pwc-driver or to usb drivers?

I haven't yet tested, but I expect also PS/2-keyboard and serial-mouse to come
operational again when they die on 2.6.12.rc5 and 2.6.11.7 only if pwc driver
and rest of the USB-system is allowed to reset; so by killing mixer_applet2 for
few seconds. I will check this hypothesis soon and report then here.
Comment 12 Jouni Lohikoski 2005-06-13 08:51:52 UTC
Created attachment 5158 [details]
2.6.12.rc5 crash (Oops) when USB devices are re-attached. dmesg.log

Same thing tried with 2.6.12.rc5.
If mixer_applet2 is running, pwc driver cannot be rmmod'ed from kernel.
After mixer_applet2 is terminated; pwc driver, khubd, snd-usb-audio are
re-hotplugged and kernel gets Oops. dmesg log attached.

After this ps/2-keyboard does not work, nor does serial-mouse. USB-BT-mouse and
everything else seem to continue to work. 

I tried this two times, two different boot sessions, and both times the
Oops-log seems to be exactly same: 

[4294667.296000] Linux version 2.6.12-rc5 (jlo@localhost) (gcc version 3.4.3
20050227 (Red Hat 3.4.3-22.fc3)) #1 Wed Jun 1 22:19:19 EEST 2005
....
[ 1550.555011] EIP is at get_kobj_path_length+0x19/0x30

[4294667.296000] Linux version 2.6.12-rc5 (jlo@localhost) (gcc version 3.4.3
20050227 (Red Hat 3.4.3-22.fc3)) #1 Wed Jun 1 22:19:19 EEST 2005
....
[  892.762177] EIP is at get_kobj_path_length+0x19/0x30
Comment 13 Alan Stern 2005-06-14 07:47:15 UTC
Your oops message shows that the remaining problem lies in the sound drivers; in
fact no USB routines are listed in the stack trace at all.  You should submit a
new bug report for the oops, and target it at the sound development people.

By the way, all those "Buffer error (overrun)" messages in your log indicate a
separate problem with the pwc driver.  You might try sending email to the
maintainer of that driver.
Comment 14 Jouni Lohikoski 2005-06-14 14:55:50 UTC
USB Legacy support turned on in your BIOS?
I had "auto" there. I changed it to "disable", but nothing changed.

I'll make a new bug report for the oops to sound development people, but I think
it may be hard to reproduce without the problems I have with
pwc+usb+keyboard+smouse. These are weirdly related. Without pwc driver, keyboard
and serial mouse failing first, killing mixer_applet2 does not make rc-kernels
Ooops.

As there are new versions in kernel.org, I tried with these:

2.6.11.12:
When pwc driver fails, ps2-keyboard and serial-mouse stays alive. pwc driver
cannot be removed before mixer_applet2 process is killed. I suspect a bug in
coexistence of pwc and snd_usb_lib+snd_usb_audio. After mixer_applet2 is
terminated, pwc driver can be unloaded and it is then auto hotplugged to the
system and pwc driver is reloaded.

2.6.12.rc6:
When pwc driver fails, ps2-keyboard and serial-mouse become dead right after the
termination of the process which was using pwc driver's /dev/video1. Before the
process (mplayer) is terminated, keyboard and serial-mouse still works. pwc
driver cannot be removed from the kernel, until mixer_applet2 is terminated.
When it is terminated, kernel gets Oops. The oops-log's stack dump is the same
as with 2.6.12.rc5 kernel.

So 2.6.11.12 and 2.6.11.11 behave the same way, but differently than 2.6.12.rc5
and 2.6.12.rc6, which themselves behave the same way.

When ps/2-keyboard and serial-mouse gets dead in rc-kernels, /proc/interrupts
shows they do get interrupts. Also Alt+SysRq-codes work from keyboard.

FC3-kernels behave like rc5- and rc6-kernels, keyboard and mouse gets dead.

I don't quite understand why rc-kernels take keyboard+mouse down when pwc driver
fails, when stable kernels do not; if this is just a hardware/power-problem.

Could the changes in khubd between non-rc and rc-kernels do this? Does khubd
somehow handle also ps/2-keyboard and serial-mouse in 2.6.12.rc*-kernels? I
mean, if khubd takes them disconnected in rc-kernels just for a small time,
maybe X-server thinks they are lost for good.
Comment 15 Greg Kroah-Hartman 2005-06-14 15:03:44 UTC
The keyboard/mouse problem has now been fixed in the mainline kernel.
Comment 16 Jouni Lohikoski 2005-08-21 08:53:26 UTC
BTW, Greg, when you said it is a "power issue", did you mean processing power or
electric power from the PSU?

The keyboard, serial mouse and the usb audio device problem has been fixed in
these recent kernels, but pwc driver still cannot keep up very long before the
application and the driver has to be restarted. 
pwc pwc_isoc_handler() called with status -63 [Buffer error (overrun)].
pwc Frame buffer underflow (53562 bytes); discarded.
pwc pwc_isoc_handler() called with status -63 [Buffer error (overrun)].
pwc Frame buffer underflow (53562 bytes); discarded.
pwc pwc_isoc_handler() called with status -63 [Buffer error (overrun)].
pwc Frame buffer underflow (53562 bytes); discarded.
pwc pwc_isoc_handler() called with status -84 [CRC/Timeout (could be anything)].
(...the above line 6 times)
hub 1-0:1.0: port 1 disabled by hub (EMI?), re-enabling...
usb 1-1: USB disconnect, address 12
pwc pwc_isoc_handler() called with status -108 [Unknown].
pwc Error (-19) re-submitting urb in pwc_isoc_handler.
pwc Disconnected while webcam is in use!
Comment 17 Greg Kroah-Hartman 2005-08-30 23:18:19 UTC
Those messages sound like the device got really confused and something caused
it to drop off of the USB bus electronically.

And I ment electronic power, not processing power.

Note You need to log in before you can comment on or make changes to this bug.