Comment 6 for bug 1313279

Revision history for this message
ProfYaffle (profyaffle) wrote :

Anyone have any further comment on this one? I've just come crashing into the same problem - clean install of 14.04 Xubuntu on an MSI H97M-G43 motherboard, and all is well until I connect my 2x460e and 2x290e tuners. At that point, I can watch the USB devices drop off as the xHCI subsystem dies.... it's like that scene from Terminator 2 as the red light slowly fades on my mouse... :-(

Nov 8 17:42:17 Server kernel: [ 95.306697] xhci_hcd 0000:00:14.0: xHCI host not responding to stop endpoint command.
Nov 8 17:42:17 Server kernel: [ 95.306706] xhci_hcd 0000:00:14.0: Assuming host is dying, halting host.
Nov 8 17:42:17 Server kernel: [ 95.306829] em28174 #1: writing to i2c device at 0xaa failed (error=-5)
Nov 8 17:42:17 Server kernel: [ 95.306837] xhci_hcd 0000:00:14.0: HC died; cleaning up

and then syslog fills up with:

Nov 8 17:42:17 Server kernel: [ 95.307142] em28174 #1: writing to i2c device at 0xaa failed (error=-19)
Nov 8 17:42:17 Server kernel: [ 95.307150] i2c i2c-16: tda10071: i2c wr failed=-19 reg=00 len=2
Nov 8 17:42:17 Server kernel: [ 95.307163] em28174 #1: writing to i2c device at 0xaa failed (error=-19)
Nov 8 17:42:17 Server kernel: [ 95.307170] i2c i2c-16: tda10071: i2c rd failed=-19 reg=3a len=2
Nov 8 17:42:17 Server kernel: [ 95.307433] em28174 #0: writing to i2c device at 0xd8 failed (error=-19)
Nov 8 17:42:17 Server kernel: [ 95.307440] i2c i2c-14: cxd2820r: i2c rd failed=-19 reg=10 len=1
Nov 8 17:42:17 Server kernel: [ 95.307480] em28174 #2: writing to i2c device at 0xd8 failed (error=-19)
Nov 8 17:42:17 Server kernel: [ 95.307485] i2c i2c-18: cxd2820r: i2c rd failed=-19 reg=10 len=1
Nov 8 17:42:17 Server kernel: [ 95.326994] hid-generic 0003:051D:0002.0002: usb_submit_urb(ctrl) failed: -19
Nov 8 17:42:17 Server kernel: [ 95.347130] hid-generic 0003:051D:0002.0002: usb_submit_urb(ctrl) failed: -19

... while lan0, sshd and everything non-USB keeps purring on nicely.

I've tried various kernels, all seem to have the same issue (although I'm yet to try 3.13.3 or 3.13.4 as above, that's on my to-do):

user@NewServer:~$ ll /boot/vm*
-rw------- 1 root root 5807968 Nov 5 19:52 /boot/vmlinuz-3.12.32-031232-generic
-rw-r--r-- 1 root root 5798112 Nov 1 15:47 /boot/vmlinuz-3.13.0-32-generic
-rw------- 1 root root 5704000 Nov 8 19:40 /boot/vmlinuz-3.13.0-39-generic
-rw------- 1 root root 5810456 Nov 1 15:51 /boot/vmlinuz-3.13.0-39-generic.efi.signed
-rw------- 1 root root 5927568 Apr 14 2014 /boot/vmlinuz-3.14.1-031401-generic
-rw------- 1 root root 6491024 Nov 2 23:47 /boot/vmlinuz-3.18.0-031800rc3-generic

... one of which (the unsigned 3.13.0-39) I compiled myself, modularising EHCI and xHCI and then blacklisting the latter. Sadly, this just shut down all my USB ports, which is hardly convenient.

From what I read, it's a fundamental issue with Linux and USB 3.0, and the best way to resolve it is to disable xHCI at the BIOS level and then fall back to EHCI/USB2 throughout. Sadly, the MSI board doesn't support disabling xHCI, so that's not an option (although buying a different mobo on which I can disable it - Gigabyte, for example - is looking increasingly attractive).

Interestingly, the same tuners work perfectly on the same kernel (3.13.0-39 backported to Precise) on an earlier revision of the same board (H77MA-G43), so I don't know if it's chipset-related or just 'quirky'.