Hello. I have a longstanding issue with multiple chatty USB devices on USB bus 02 acting erratic when activated simultaneously. As soon as the second device is closed, the first continues communication normally. The problem does NOT occur on Bus 01 (which has many other devices attached as well.) It also does not occur in Windows 7 or 10 on the same computer with the same USB devices plugged into in the same ports. (Even using the same cross-platform DJ software. :) ) For example, playing audio through a USB audio device and using a MIDI controller: as soon as the second device (MIDI controller) is activated, both act erratically (audio reduces to a crackle and the MIDI controller flickers. If I leave them like that for a few seconds, one or both will disconnect and/or reset.) As soon as the second device is closed, the first continues communication normally. I have tested with Debian 8.5 using kernels 3.16.5 and 4.5.4 as well as with Fedora 23 (kernel 4.2.3) and the problem is exactly the same. Again, Windows 7 and 10 do not exhibit the problem. My laptop (an HP EliteBook 8440p) has two USB controllers/buses: Bus 01: (this one works fine) 00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05) 00:1a.0 0c03: 8086:3b3c (rev 05) Bus 02: (this one has the problem) 00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05) 00:1d.0 0c03: 8086:3b34 (rev 05) All four USB ports on the laptop itself appear to be hard-wired into bus 02. I can only plug devices into bus 01 when the machine is in a docking station (which has an additional set of six USB ports.) I've attached the output of lsusb -t in various scenarios: not.txt - the control condition without the test devices attached docking.txt - devices attached to bus 01 where *they work correctly* leftSide.txt - devices attached to one of the four ports on bus 02 where the problem occurs rideSideSATAcombo.txt - devices attached to another of the four ports on bus 02 where the problem occurs The test devices in these outputs are an externally-powered American Audio VMS4.1 DJ controller with integrated audio interface and mouse pad. But the problem occurs with many different types of devices, integrated and not. (E.g. a Behringer UCA-202 audio interface and Stanton SCS.3d MIDI controller or Enttec DMXUSB PRO lighting interface.) I have also tested having removed the SmartCard reader shown on Bus 02 in those outputs (it's an ExpressCard device,) with no change in the problem. I have also tried blacklisting ehci-pci (in the hope that ohci-pci would take over) but doing so just leaves both USB controllers unclaimed and completely non-functional. In the past (2.6-era kernels,) I noticed that the audio from the UCA-202 would buzz whenever the smart card was being accessed and return to normal afterwards. I had also been able to set the UCA-202 to 44.1kHz then both it and the SCS.3d would operate correctly. This is no longer the case. (No matter what sample rate I use, the problem occurs.) Though an audio device is the common factor in all of my tests, I don't believe the problem is ALSA-related because non-audio, non-MIDI devices are also affected. (An audio device just happens to be a convenient way to put a decent load on the bus.) Of course let me know if I should take this to alsa-dev instead. :) At this point, I'm suspecting a bug (maybe an off-by-one?) in the ehci-pci driver since bus 01 works perfectly yet 02 does not on the same hardware. (Though the differing PCI IDs imply that the hardware isn't exactly the same.) I took a quick look at ehci-pci.c in 4.5 but didn't find either of these IDs mentioned. Let me know if you need any further information or if there's something else I should try to narrow this down further. Thank you very much for your time and attention and the great work you do! Sincerely, Sean M. Pappalardo
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M |__ Port 3: Dev 6, If 0, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 3: Dev 6, If 1, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 3: Dev 6, If 2, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 3: Dev 6, If 3, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 3: Dev 6, If 4, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 3: Dev 6, If 5, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 5: Dev 3, If 0, Class=Chip/SmartCard, Driver=usbfs, 12M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M |__ Port 1: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M |__ Port 1: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M |__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=, 12M |__ Port 1: Dev 3, If 3, Class=Application Specific Interface, Driver=, 12M |__ Port 3: Dev 4, If 0, Class=Vendor Specific Class, Driver=, 12M |__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/2p, 480M |__ Port 1: Dev 8, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 2: Dev 9, If 0, Class=Hub, Driver=hub/4p, 12M |__ Port 1: Dev 10, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 1: Dev 10, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 3: Dev 11, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 5: Dev 6, If 0, Class=Video, Driver=uvcvideo, 480M |__ Port 5: Dev 6, If 1, Class=Video, Driver=uvcvideo, 480M |__ Port 6: Dev 7, If 0, Class=Hub, Driver=hub/4p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M |__ Port 5: Dev 3, If 0, Class=Chip/SmartCard, Driver=usbfs, 12M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M |__ Port 1: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M |__ Port 1: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M |__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=, 12M |__ Port 1: Dev 3, If 3, Class=Application Specific Interface, Driver=, 12M |__ Port 3: Dev 4, If 0, Class=Vendor Specific Class, Driver=, 12M |__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/2p, 480M |__ Port 1: Dev 8, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 2: Dev 9, If 0, Class=Hub, Driver=hub/4p, 12M |__ Port 1: Dev 10, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 1: Dev 10, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 3: Dev 11, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 5: Dev 6, If 0, Class=Video, Driver=uvcvideo, 480M |__ Port 5: Dev 6, If 1, Class=Video, Driver=uvcvideo, 480M |__ Port 6: Dev 7, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 4: Dev 15, If 0, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 4: Dev 15, If 1, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 4: Dev 15, If 2, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 4: Dev 15, If 3, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 4: Dev 15, If 4, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 4: Dev 15, If 5, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M |__ Port 2: Dev 5, If 0, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 2: Dev 5, If 1, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 2: Dev 5, If 2, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 2: Dev 5, If 3, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 2: Dev 5, If 4, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 2: Dev 5, If 5, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 5: Dev 3, If 0, Class=Chip/SmartCard, Driver=usbfs, 12M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M |__ Port 1: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M |__ Port 1: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M |__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=, 12M |__ Port 1: Dev 3, If 3, Class=Application Specific Interface, Driver=, 12M |__ Port 3: Dev 4, If 0, Class=Vendor Specific Class, Driver=, 12M |__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/2p, 480M |__ Port 1: Dev 8, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 2: Dev 9, If 0, Class=Hub, Driver=hub/4p, 12M |__ Port 1: Dev 10, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 1: Dev 10, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 3: Dev 11, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 5: Dev 6, If 0, Class=Video, Driver=uvcvideo, 480M |__ Port 5: Dev 6, If 1, Class=Video, Driver=uvcvideo, 480M |__ Port 6: Dev 7, If 0, Class=Hub, Driver=hub/4p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M |__ Port 5: Dev 3, If 0, Class=Chip/SmartCard, Driver=usbfs, 12M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M |__ Port 1: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M |__ Port 1: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M |__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=, 12M |__ Port 1: Dev 3, If 3, Class=Application Specific Interface, Driver=, 12M |__ Port 3: Dev 4, If 0, Class=Vendor Specific Class, Driver=, 12M |__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/2p, 480M |__ Port 1: Dev 8, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 2: Dev 9, If 0, Class=Hub, Driver=hub/4p, 12M |__ Port 1: Dev 10, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 1: Dev 10, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 3: Dev 11, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 5: Dev 6, If 0, Class=Video, Driver=uvcvideo, 480M |__ Port 5: Dev 6, If 1, Class=Video, Driver=uvcvideo, 480M |__ Port 6: Dev 7, If 0, Class=Hub, Driver=hub/4p, 480M
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature