1

Since April when I built my computer with Arch Linux OS, I have been getting some errors that seem to point to the ASPM control of some USB 3.1 on my ASUS "ROG STRIX Z370-E GAMING" motherboard.

I either get 0, 1 or both of the following errors following journalctl, the errors seem to be totally random, as to whether or not the errors occur. I would like to point out that the ports currently work, but their power is not able to be modulated by the OS. (Although, Windows has no trouble.)

My attempts at troubleshooting have led me to disable the affected USB ports in the BIOS, which fixes the problems. But I would obviously like the USB ports to work.

Below is some diagnostic information. I've also bolded the relevant info.

journalctl -xb -p3 [timestamp and "archlinux kernel" removed for brevity]

pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
pcieport 0000:00:1c.4:   device [8086:a294] error status/mask=00000001/00002000
pcieport 0000:00:1c.4:    [ 0] Receiver Error         (First)
pcieport 0000:00:1c.6: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
pcieport 0000:00:1c.6:   device [8086:a296] error status/mask=00000001/00002000
pcieport 0000:00:1c.6:    [ 0] Receiver Error         (First)

lspci -tv [Affected PCIe Ports in bold]

-[0000:00]-+-00.0  Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers
           +-02.0  Intel Corporation Device 3e92
           +-14.0  Intel Corporation 200 Series PCH USB 3.0 xHCI Controller
           +-16.0  Intel Corporation 200 Series PCH CSME HECI #1
           +-17.0  Intel Corporation 200 Series PCH SATA controller [AHCI mode]
           +-1b.0-[01]--
           +-1c.0-[02]--
           +-1c.2-[03]----00.0  Realtek Semiconductor Co., Ltd. RTL8822BE 802.11a/b/g/n/ac WiFi adapter
           +-1c.4-[04]----00.0  ASMedia Technology Inc. Device 2142
           +-1c.6-[05]----00.0  ASMedia Technology Inc. Device 2142 
           +-1d.0-[06]--
           +-1f.0  Intel Corporation Device a2c9
           +-1f.2  Intel Corporation 200 Series PCH PMC
           +-1f.3  Intel Corporation 200 Series PCH HD Audio
           +-1f.4  Intel Corporation 200 Series PCH SMBus Controller
           \-1f.6  Intel Corporation Ethernet Connection (2) I219-V

journalctl -xb [timestamp and "archlinux kernel" removed for brevity]

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci-pci: OHCI PCI platform driver
uhci_hcd: USB Universal Host Controller Interface driver
xhci_hcd 0000:00:14.0: xHCI Host Controller
xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0000000000009810
xhci_hcd 0000:00:14.0: cache line size of 64 is not supported
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.18
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: xHCI Host Controller
usb usb1: Manufacturer: Linux 4.18.16-arch1-1-ARCH xhci-hcd
usb usb1: SerialNumber: 0000:00:14.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 16 ports detected
xhci_hcd 0000:00:14.0: xHCI Host Controller
xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
xhci_hcd 0000:00:14.0: Host supports USB 3.0  SuperSpeed
usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.18
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: xHCI Host Controller
usb usb2: Manufacturer: Linux 4.18.16-arch1-1-ARCH xhci-hcd
usb usb2: SerialNumber: 0000:00:14.0
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 10 ports detected
xhci_hcd 0000:04:00.0: xHCI Host Controller
xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 3
pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
pcieport 0000:00:1c.4:   device [8086:a294] error status/mask=00000001/00002000
pcieport 0000:00:1c.4:    [ 0] Receiver Error         (First)
xhci_hcd 0000:04:00.0: hcc params 0x0200ef81 hci version 0x110 quirks 0x0000000000000010
usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.18
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: xHCI Host Controller
usb usb3: Manufacturer: Linux 4.18.16-arch1-1-ARCH xhci-hcd
usb usb3: SerialNumber: 0000:04:00.0
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
xhci_hcd 0000:04:00.0: xHCI Host Controller
xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 4
xhci_hcd 0000:04:00.0: Host supports USB 3.1 Enhanced SuperSpeed
usb usb4: We don't know the algorithms for LPM for this host, disabling LPM. 
usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.18
usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: xHCI Host Controller
usb usb4: Manufacturer: Linux 4.18.16-arch1-1-ARCH xhci-hcd
usb usb4: SerialNumber: 0000:04:00.0
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
xhci_hcd 0000:05:00.0: xHCI Host Controller
xhci_hcd 0000:05:00.0: new USB bus registered, assigned bus number 5
pcieport 0000:00:1c.6: AER: Corrected error received: 0000:00:1c.6
pcieport 0000:00:1c.6: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
pcieport 0000:00:1c.6:   device [8086:a296] error status/mask=00000001/00002000
pcieport 0000:00:1c.6:    [ 0] Receiver Error         (First)
xhci_hcd 0000:05:00.0: hcc params 0x0200ef81 hci version 0x110 quirks 0x0000000000000010
usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.18
usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb5: Product: xHCI Host Controller
usb usb5: Manufacturer: Linux 4.18.16-arch1-1-ARCH xhci-hcd
usb usb5: SerialNumber: 0000:05:00.0
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 2 ports detected
xhci_hcd 0000:05:00.0: xHCI Host Controller
xhci_hcd 0000:05:00.0: new USB bus registered, assigned bus number 6
xhci_hcd 0000:05:00.0: Host supports USB 3.1 Enhanced SuperSpeed
usb usb6: We don't know the algorithms for LPM for this host, disabling LPM.
usb usb6: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.18
usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb6: Product: xHCI Host Controller
usb usb6: Manufacturer: Linux 4.18.16-arch1-1-ARCH xhci-hcd
usb usb6: SerialNumber: 0000:05:00.0
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
usb: port power management may be unreliable
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
1

A PCIe bus is more like a network than a bus: Packets are sent over high-speed differential links. Your error, severity=Corrected, type=Physical Layer says that in one of those packets, a physical transmission error was detected and corrected.

High-speed links are not trivially electrically, so this can have a number of reasons, e.g. a routing layout on your motherboard which is close to allowed limits together with an PCIe controller on the USB chip which is also close to the limits, and then such errors can happen.

It's a hardware problem, the only fix is to exchange components with other components that are less close to allowed limits, or to change the motherboard layout etc.

So there's nothing you can do. As long as all errors get corrected, and everything works as it should, you can just ignore it and live with it. If you still have warranty, you can try to get your vendor to exchange the motherboard (but the vendor will probably refuse, as it still works).

If the USB ports start to fail, you can disable them as you already have done, and add an additional PCIe card with USB controller(s) (if you still have room).

The fact that the power of the USB ports can't be adjusted is probably unrelated to the error message, and a driver issue. (Unless you can correlate the error messages with PCIe packets that attempt to set the power, but given the nature of the error, this is extremely unlikely, unless the packets happen to have a bit sequence that triggers the error).

  • Thanks for your answer. I was suspecting as much. I have inspected the bit packets sent from the USB root ports and end points, and no matter how many times I restart the computer, the packets never indicate ASPM with L0sL1 capabilties. Something seems fishy here, because I have explicitly made this change in BIOS. ASPM with L0sL1 indeed gets enabled when I modify these values from 40 (L0s) to 43 (L0sL1) using setpci. I will add an addendum to the original question to clarify a bit more. – Ryan Ward Nov 1 '18 at 0:07

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.