I have a very recent laptop (ASUS TP301UA) on which I installed Tumbleweed. Since the install (beginning of July), no USB device is detected (tested a few USB keys, a USB slideshow pointer and a mouse). Plugging a USB device simply triggers nothing new in dmesg, journatctl or lsusb.
Everytime, I need the suspend the computer and re-wake it with USB device plugged to make it work properly. Once a USB device is plugged and working, any other device works properly, until all USB devices have been unplugged. It looks like the kernel does not actively monitor USB ports until told so (because a USB device is been used or booting/waking up?).
I’ve waited for new kernel updates, but nothing changed with 4.7…
If someone has an idea of what is going on, any help would be welcome!
It would be useful to compare behaviour with another Live distro (USB stick) perhaps, although this issue reads like an issue peculiar to this laptop. Some ideas to start with…
Anything unusual reported by the following?
dmesg|grep usb
Any firmware updates available for this laptop? Check the vendor website out for any such updates.
More info about the host controller chipsets might be useful too
usb-devices
or
/usr/sbin/hwinfo --usb
I did stumble across this superuser.com thread describing similar USB behaviour to yours. The ASUS laptop user found that there was a BIOS setting called ‘XHCI Pre-Boot Mode’ which needed to be disabled to allow normal USB behaviour. Maybe the XHCI driver doesn’t properly support your XHCI controller chipset. This would be a workaround, but if it works at least your USB devices will be functioning. A bug report would be needed to help progress this.
If none of the above help then check out the following…
Thank you for your help, here’s the returns from the commands above.
In dmesg, I’ve got mainly the following lines (probably from tests earlier):
[15528.819984] usb usb1: root hub lost power or was reset
[15528.819985] usb usb2: root hub lost power or was reset
[15529.197164] usb 1-8: reset full-speed USB device number 5 using xhci_hcd
[15529.548632] usb 1-5: reset high-speed USB device number 2 using xhci_hcd
[15529.756480] usb 1-8:1.0: rebind failed: -517
[15529.756481] usb 1-8:1.1: rebind failed: -517
Here’s usb-devices (no device currently attached):
Do you have a user manual for the device? It should be described there, or possibly on the ASUS website. I don’t own this hardware so can’t offer direct advice.
Updated the BIOS, didn’t change anything unfortunately… And no solution suggested in your kindly shared threads seems to go anywhere.
Could it be because of the kernel? As I said, hardware is fairly new, it even has those USB-C port (which I never used because I don’t have any USB-C device).
Do you have windows installed as well, and if so do the USB ports work there as expected? Can you test with another Linux disto eg Live distro on USB stick to test/compare behaviour with? I’m suspicious of the xHCI host controller chipsets (and whether there are issues with the underlying supporting kernel driver at this time)…
Vendor=1d6b ProdID=0002 Rev=04.07
Vendor=1d6b ProdID=0003 Rev=04.07
…although still not sure about this…
FWIW, I did find this ubuntu thread concerning the same host controller chipset. The comment about IOMMU is interesting…
IOMMU is a feature in some BIOS programs that imposes some additional security controls on Input/output devices. If your BIOS doesn’t show this name anywhere, forget it.
Do you have such a setting in your BIOS, and if so is it currently enabled or disabled?
I can’t find IOMMU mentionned anywhere in the BIOS, but I do have “I/O interface security” which has a “USB interface security” subsection. However, everything in “Unlocked” in there… Can only “Lock” some interfaces.
The bad part is I cannot use Live USB to test other distributions, because once a USB device is detected (e.g. at boot/wake up), all USB is working properly. I know I had the same problem with KDE Neon, because I installed it before Tumbleweed.
It’s certainly a curious issue. Did you ever have Windows installed, and if so did the USB ports work as expected (you didn’t answer that from my previous post)? Any power management settings for USB in the BIOS? If you’re certain it’s not a hardware issue, you might need to submit a bug report.
Oops, sorry. No I removed Windows without even booting it to be reimbursed by Asus (which are very easy on the matter by the way!), so I don’t know whether it would have worked or not (I guess it would).
There is no power management settings in the BIOS, especially none regarding USB…
If I need to report a bug, should I report it to openSUSE?
It’s a bit difficult to test further without having alternative OS available. It might be that no interrupt is being generated by the host controller when devices are first connected, in which case the Linux kernel won’t be notified that a device is present. This could be a hardware issue that needs to be investigated by ASUS. I assume this machine is under warranty, so I would get this checked out first.
Oh, bummer… I bought my laptop in France and now I’m in New Zealand… I’ll contact Asus but I fear they’ll answer than since I run Linux, they cannot say for sure it’s hardware and will not cover this under warranty. Thanks for your help anyway!
I found something interested, so I’m posting if somebody stumble upon this topic: running
udevadm trigger
triggers the scan for USB device and makes the USB devices working in my case (AFTER they’ve been plugged unfortunately, so you have to plug the device, enter the command as root --meaning password entering-- and then it’s working, almost as cumbersome as suspend/waking, but well…)
ahci numbers are going up (a bit slowly and not very steadily) but xhci numbers are not moving at all. If I understand correctly, ahci = USB2 and xhci = USB3, right? What I don’t understand is that USB2 ports are badly working, just the same as the USB3 one.
No, the AHCI (Advanced Host Controller Interface) relates to your SATA (HDD) device. Not relevant here. Your USB host controllers are both reported as " xHCI Host Controller" devices. (EHCI relates to USB 2.0, but an XHCI controller is capable of communicating with USB 2.0 and USB 3.0 devices.)
The lack of interrupts being generated explain why ‘hot-plugging’ of USB devices is not occurring.