0

I am very new to Linux. I have recently installed Manjaro on my PC. The installation is on a separate SSD to my Windows installation. When I boot up, my mouse (Logitech g403) works fine for approximately 30-60 seconds, after which the LED turns off and the mouse is no longer responsive. Initially I thought this was an issue with the mouse itself however after some fiddling I realised this is in fact the USB port.

My motherboard is a Gigabyte B450 Aorus Pro. I have attached an image of the I/O on this motherboard for reference. Gigabyte B450 Aorus Pro

As you can see it has 4 USB 3.0, 1 USB 3.1 and 1 USB-C 3.1. I also have 2 USB 3.0 and 2 USB 2.0 on the front of my case. After some trial and error by moving known working USB devices between these ports I am able to conclude that only the USB 3.1 and USB-C 3.1 on the motherboard I/O works and only the 2 USB 3.0 on the front of my case work.

So now I have my mouse functioning plugged into the USB 3.0 port on the front of my case. I ran lsusb and it returned

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:0029 Intel Corp. AX200 Bluetooth
Bus 001 Device 003: ID 2433:b200 ASETEK [NZXT Kraken X60]
Bus 001 Device 011: ID 046d:c083 Logitech, Inc. G403 Prodigy Gaming Mouse
Bus 001 Device 010: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I am not sure what to make of this. Can anyone guide me in the right direction to rectify this issue?

EDIT: Based on the advice of telcoM I ran lspci -nn -d ::0c03 and it returned

01:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset USB 3.1 XHCI Controller [1022:43d5] (rev 01)
0a:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller [1022:145c]
5
  • The lsusb listing only shows USB devices that are successfully detected by Linux, so it doesn't help much in identifying the USB controllers that provide the USB connections. Please run lspci -nn -d ::0c03 and edit the output into your original question: that should list all the PCI/PCIe bus devices that have the standard device class identifier indicating that they're USB controllers, in a way that allows further identification.
    – telcoM
    May 1 at 0:45
  • @telcoM I have done so now. Thanks. May 5 at 1:30
  • Guess: you have a hardware fault where those port(s) stop working as soon as the part of the chip responsible for them gets warm. This can even happen if all ports are handled on the same chip. It could be a tiny irregularity in the crystal structure that barely works when cold, but not if warm. If that's the case, there's nothing you can do about it - the chip slipped through quality control because the fault only appears after some time.
    – dirkt
    May 5 at 5:07
  • @dirkt There is no hardware fault. All USB ports work in Windows. This is only an issue when I boot into Manjaro. May 5 at 5:44
  • Hm. Even if it's a driver bug, that usually doesn't manifest itself in "some ports not working after 60s, others are working fine". Any error messages in dmesg or syslog?
    – dirkt
    May 5 at 16:44
0

The lspci command indicated you seem to have two distinct USB controllers on your system. The second one, with PCI vendor:product ID [1022:145c] is apparently known as "AMD Zeppelin USB 3.0 Host Controller".

The next step would be to run udevadm monitor as root, and plug something into one of the known-working USB ports. As you do so, the udevadm monitor command should output one or more lines like this (it may output more lines, but this is the simplest to look at):

KERNEL[<timestamp>] add      /devices/pci0000:00/0000:00:14.0/usb1/1-9 (usb)

The PCI bus ID of the USB controller would be the last part before the /usb..., or 0000:00:14.0 in my example. The 0000: in the beginning can be ignored (unless you work on a multi-node supercomputer :-) but the rest of the PCI bus ID should match one of the USB controllers listed by the previous lspci -nn -d ::0c03 command.

It seems this might be a somewhat known issue:

https://www.tomshardware.com/news/amd-suggest-possible-fixes-for-usb-connectivity-issues

Apparently AMD recommends making sure your BIOS is up to date, and if the problem persists, the following two BIOS settings might help:

  1. Set PCIe mode from Gen4/Auto to Gen 3 in the BIOS
  2. Disable Global C-State in the BIOS.

https://www.reddit.com/r/Amd/comments/m2wqkf/updated_agesa_coming_for_intermittent_usb/

According to AMD, once you update to a BIOS that contains AGESA version 1.2.0.2 or newer, that should solve the problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.