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.)
Could you please tell us whether or not this problem remains in 2.6.12-rc5?
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.
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
Your device is being disconnected because of a low-power issue, or a flaky hub. Nothing the kernel can do about that.
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.
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.
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.
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?
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.
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.
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.
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
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.
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.
The keyboard/mouse problem has now been fixed in the mainline kernel.
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!
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.