Description: I have a Gigabyte GA-H81M-HD3 motherboard. The motherboard provides: 2 USB 3.0/2.0 ports (available through the internal USB header) AND 6 USB 2.0/1.1 ports (2 ports on the back panel, 4 ports available through the internal USB headers) On the chipset itself (Intel chipsep, lspci output attached) AND 4 USB 3.0/2.0 ports on the back panel through VIA VL805 chip. All USB outputs (3.0 and 2.0) works well with 2.0 USB devices. However I've purchased a USB 3.0 card reader (Transcend USB 3.0 Multi-Card Reader) and when I connect it to the front USB3.0 output (located on the Intel chipset) everything works as expected, but when I connect it to any of the 4 USB3.0 ports on the back, after about 1-1.5 minutes the devices resets and I get an error "device not accepting address" (full dmesg output attached). At this point the device no longer functioning (also disappears from lsusb) and the only way to make it work is to unplug and plug it back but then again the same process happens, so essentially the rear USB 3.0 does not work at all. Since the device works correctly on the front USB 3.0, I believe that the issue is with the kernel itself / via controller driver, rather than the device (I do not have any other USB3.0 device to test). Additional info: lspci: 00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06) 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06) 00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) 00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04) 00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05) 00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05) 00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5) 00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5) 00:1c.3 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d5) 00:1c.5 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #6 (rev d5) 00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05) 00:1f.0 ISA bridge: Intel Corporation C220 Series Chipset Family H81 Express LPC Controller (rev 05) 00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05) 00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05) 01:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 750] (rev a2) 01:00.1 Audio device: NVIDIA Corporation Device 0fbc (rev a1) 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06) 04:00.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 41) 06:00.0 USB controller: VIA Technologies, Inc. VL805 USB 3.0 Host Controller (rev 01) Notice the 4 USB controllers: Intel 8 series/C220 series chipset for xHCI, EHCI #1 and EHCI #2 as well as VIA VL805 USB 3.0 controller. dmesg -wH [Jun10 00:21] Linux version 4.6.2-1-ARCH (builduser@tobias) (gcc version 6.1.1 20160602 (GCC) ) #1 SMP PREEMPT Wed Jun 8 08:40:59 CEST 2016 ** omitted irrelevant data ** [ +0.000000] ------------[ cut here ]------------ [ +0.000000] WARNING: CPU: 0 PID: 0 at drivers/iommu/dmar.c:830 warn_invalid_dmar.part.1+0x76/0x90 [ +0.000000] Your BIOS is broken; DMAR reported at address 0! BIOS vendor: American Megatrends Inc.; Ver: F2; Product Version: To be filled by O.E.M. [ +0.000000] Modules linked in: [ +0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.6.2-1-ARCH #1 [ +0.000000] Hardware name: Gigabyte Technology Co., Ltd. H81M-HD3/H81M-HD3, BIOS F2 08/14/2013 [ +0.000000] 0000000000000086 8c8c09699d9357e2 ffffffff81803d30 ffffffff812e5492 [ +0.000000] ffffffff81803d80 0000000000000000 ffffffff81803d70 ffffffff8107a6bb [ +0.000000] 0000033e81941c89 0000000000000000 ffffffff8171f902 ffffffff81b4e01c [ +0.000000] Call Trace: [ +0.000000] [<ffffffff812e5492>] dump_stack+0x63/0x81 [ +0.000000] [<ffffffff8107a6bb>] __warn+0xcb/0xf0 [ +0.000000] [<ffffffff8107a7b7>] warn_slowpath_fmt_taint+0x57/0x70 [ +0.000000] [<ffffffff81941ee4>] ? early_ioremap+0x9/0xb [ +0.000000] [<ffffffff81921f50>] ? __acpi_map_table+0x13/0x18 [ +0.000000] [<ffffffff813fbfc6>] warn_invalid_dmar.part.1+0x76/0x90 [ +0.000000] [<ffffffff815be2e0>] dmar_validate_one_drhd+0xa0/0xe0 [ +0.000000] [<ffffffff813fbb9a>] dmar_walk_remapping_entries+0x8a/0x1a0 [ +0.000000] [<ffffffff813946fc>] ? acpi_get_table_with_size+0x63/0xb9 [ +0.000000] [<ffffffff81955856>] detect_intel_iommu+0x5f/0xf4 [ +0.000000] [<ffffffff815be240>] ? xen_swiotlb_init+0x500/0x500 [ +0.000000] [<ffffffff8191cbfc>] pci_iommu_alloc+0x50/0x6c [ +0.000000] [<ffffffff8192b844>] mem_init+0x17/0x9d [ +0.000000] [<ffffffff8190cdde>] start_kernel+0x22c/0x45f [ +0.000000] [<ffffffff8190c120>] ? early_idt_handler_array+0x120/0x120 [ +0.000000] [<ffffffff8190c346>] x86_64_start_reservations+0x2a/0x2c [ +0.000000] [<ffffffff8190c494>] x86_64_start_kernel+0x14c/0x16f [ +0.000000] ---[ end trace 030a3d2481f72efb ]--- ** omitted irrelevant data ** [ +0.007274] ACPI: bus type USB registered [ +0.000038] usbcore: registered new interface driver usbfs [ +0.000021] usbcore: registered new interface driver hub [ +0.000052] usbcore: registered new device driver usb [ +0.000441] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ +0.000265] ehci-pci: EHCI PCI platform driver [ +0.000127] ehci-pci 0000:00:1a.0: EHCI Host Controller [ +0.000006] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 1 [ +0.000016] ehci-pci 0000:00:1a.0: debug port 2 [ +0.000749] SCSI subsystem initialized [ +0.001027] libata version 3.00 loaded. [ +0.002108] ehci-pci 0000:00:1a.0: cache line size of 64 is not supported [ +0.000010] ehci-pci 0000:00:1a.0: irq 16, io mem 0xf3318000 [ +0.008033] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00 [ +0.000178] hub 1-0:1.0: USB hub found [ +0.000008] hub 1-0:1.0: 2 ports detected [ +0.000261] ehci-pci 0000:00:1d.0: EHCI Host Controller [ +0.000013] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 2 [ +0.000013] ehci-pci 0000:00:1d.0: debug port 2 [ +0.003906] ehci-pci 0000:00:1d.0: cache line size of 64 is not supported [ +0.000009] ehci-pci 0000:00:1d.0: irq 23, io mem 0xf3317000 [ +0.008939] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00 [ +0.000175] hub 2-0:1.0: USB hub found [ +0.000004] hub 2-0:1.0: 2 ports detected [ +0.000167] xhci_hcd 0000:00:14.0: xHCI Host Controller [ +0.000006] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 3 [ +0.001071] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x00009810 [ +0.000004] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported [ +0.000144] hub 3-0:1.0: USB hub found [ +0.000012] hub 3-0:1.0: 10 ports detected [ +0.001105] xhci_hcd 0000:00:14.0: xHCI Host Controller [ +0.000003] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 4 [ +0.000094] hub 4-0:1.0: USB hub found [ +0.000007] hub 4-0:1.0: 2 ports detected [ +0.000291] ahci 0000:00:1f.2: version 3.0 [ +0.000033] xhci_hcd 0000:06:00.0: xHCI Host Controller [ +0.000003] xhci_hcd 0000:06:00.0: new USB bus registered, assigned bus number 5 [ +0.000095] xhci_hcd 0000:06:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x00000090 [ +0.000010] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 4 ports 6 Gbps 0x3 impl SATA mode [ +0.000002] ahci 0000:00:1f.2: flags: 64bit ncq led clo pio slum part ems [ +0.000225] hub 5-0:1.0: USB hub found [ +0.000008] hub 5-0:1.0: 1 port detected [ +0.000064] xhci_hcd 0000:06:00.0: xHCI Host Controller [ +0.000004] xhci_hcd 0000:06:00.0: new USB bus registered, assigned bus number 6 [ +0.000022] usb usb6: We don't know the algorithms for LPM for this host, disabling LPM. [ +0.000168] hub 6-0:1.0: USB hub found [ +0.000010] hub 6-0:1.0: 4 ports detected ** omitted irrelevant data ** ** the device in question is now connected and then after about 1 minute resets ** [Jun10 00:22] usb 6-2: new SuperSpeed USB device number 2 using xhci_hcd [ +0.032587] usb-storage 6-2:1.0: USB Mass Storage device detected [ +0.000530] scsi host4: usb-storage 6-2:1.0 [ +0.000489] usbcore: registered new interface driver usb-storage [ +0.002221] usbcore: registered new interface driver uas [ +1.001382] scsi 4:0:0:0: Direct-Access Generic STORAGE DEVICE TS26 PQ: 0 ANSI: 6 [ +0.000646] scsi 4:0:0:1: Direct-Access Generic STORAGE DEVICE TS26 PQ: 0 ANSI: 6 [ +0.000589] scsi 4:0:0:2: Direct-Access Generic STORAGE DEVICE TS26 PQ: 0 ANSI: 6 [ +0.007183] sd 4:0:0:0: [sdc] Attached SCSI removable disk [ +0.000908] sd 4:0:0:1: [sdd] Attached SCSI removable disk [ +0.001125] sd 4:0:0:2: [sde] Attached SCSI removable disk [Jun10 00:23] usb 3-3: reset high-speed USB device number 2 using xhci_hcd [Jun10 00:24] xhci_hcd 0000:06:00.0: Timeout while waiting for setup device command [ +5.214018] xhci_hcd 0000:06:00.0: Timeout while waiting for setup device command [ +0.203334] usb 6-2: device not accepting address 2, error -62 [ +3.977266] usb usb6-port2: Cannot enable. Maybe the USB cable is bad? [ +2.410228] usb usb6-port2: Could not disable after 2000 ms [ +0.770106] usb 6-2: device not accepting address 2, error -22 [ +3.970509] usb usb6-port2: Cannot enable. Maybe the USB cable is bad? [ +2.400384] usb usb6-port2: Could not disable after 2000 ms [ +0.000216] usb 6-2: USB disconnect, device number 2 Please note: I DID NOT disconnect the device. It stays connected to the USB port even though dmesg reports it was disconnected, making the device useless. In BIOS itself I found only 2 options that are somehow related to USB: "XHCI Handoff" and "EHCI Handoff". They are set to "Enabled" and "Disabled" respectively. Steps to reproduce: Acquire motherboard with VIA VL805 USB3.0 controller. Connect USB3.0 device to USB3.0 port, after about 1-1.5 minutes the device becomes unresponsive and dmesg reports that it timed out trying to setup device and then disconnects it. Linux kernel is latest 4.6.2. Architecture is x86_64. Distribution is Arch Linux. Bug report fired in Arch Linux (https://bugs.archlinux.org/task/49642) and Arch maintainer suggested to report here.
On Sat, Jun 25, 2016 at 12:29:39PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=120981 > > Bug ID: 120981 > Summary: 4.6.x VIA VL805 USB 3.0 controller resets device > making it unusable until re-plugged > Product: Drivers > Version: 2.5 > Kernel Version: 4.6.x Please send to the linux-usb@vger.kernel.org mailing list.
I am able to reproduce the sample problem, with OpenSuse Tumbleweed, Kernel 4.6.2 arch x86_64, dell workstation with Intel Corporation 7 Series/C210 Series Chipset. 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04) Here's a disconnect that occurs on several ports, with several different USB cables, and which is not reproducible on other Linux distros with pre-4.6 kernels: [96271.378187] usb 3-4: USB disconnect, device number 13 [96271.679148] usb 3-4: new high-speed USB device number 14 using xhci_hcd [96271.815224] usb 3-4: New USB device found, idVendor=1004, idProduct=633e [96271.815228] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [96271.815230] usb 3-4: Product: LGE Android Phone [96271.815231] usb 3-4: Manufacturer: LG Electronics Inc. [96271.815232] usb 3-4: SerialNumber: LGH81272592373 [96319.781677] usb 3-4: USB disconnect, device number 14 (repeats hundreds of times) I could test any patches that anybody wants to have tested. If I can help gather information, let me know and I'll help with that too.