Re: No SuperSpeedPlus on ASM2142

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16.9.2019 5.41, Loïc Yhuel wrote:
Hello,

I'm trying to get Gen 2 working on this controller.
It drives 2 USB ports on the back panel of an ASUS Prime X399-A (latest BIOS).
ASM2142 FW is 170308_70_02_00 (seen with ASM2142A_MPTool on Windows).
On Windows 10 it uses the Microsoft xhci driver, and Gen 2 works.

On 5.3, I get :
[    1.008270] xhci_hcd 0000:08:00.0: Host supports USB 3.0 SuperSpeed
...
[    1.333145] usb 4-1: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd

lsusb shows 10 Gbps support in "SuperSpeedPlus USB Device Capability" for
both the root hub and the device.

For the root hub, commit ddd57980 broke the detection, since
xhci->usb3_rhub.min_rev is 0x1 instead of expected 0x10 (SBRN is 0x30).

So both places that indicate USB 3.1 support are not according to latest spec,
SBRN (Serial Bus Release Number) is 30 instead of 31, and supported protocol
capability minor revision is 0x1 instead of 0x10.


Reverting it changes to "Host supports USB 3.1 Enhanced SuperSpeed", and the
speed of the root hub is 10000 in sysfs.
However, I only got the device detected as "SuperSpeedPlus Gen 2 USB" once,
and the performance didn't increase, so even if the "speed" in sysfs was 10000,
I think it didn't work. After a reboot, it reverted to being detected as Gen 1.

Most reliable way of checking the current actual port speed is reading protocol speed id
from the ports PORTSC register port-speed field.
Use debugfs: (with your correct pci address and port number)

cat  /sys/kernel/debug/usb/xhci/0000\:00\:15.0/ports/port13/portsc
Powered Connected Enabled Link:U0 PortSpeed:4 Change: Wake:

PortSpeed:4 is default for SS 5Gbps, Gen1x1
PortSpeed:5 is defaulf for SSP 10Gbps, Gen2x1


The device (JMS580 USB Gen 2 to SATA bridge, with an SSD) seems to have a
performance issue on Gen 1 (doesn't depend on the controller or the OS), with
about 280MB/s read (almost the same without UAS).
But Gen 2 on Windows gives 510MB/s read, so even the only time Linux reported
10 Gbps speed, if it was working "hdparm -t" should have improved.


I recall similar numbers in Linux, ~500-550Mb/s with a USB 3.1 to SATA adapter
and fast SSD. Reading with dd

As a side note, the runtime power management doesn't seem to work either, but
since it isn't the default configuration, unless this controller is
used on laptops
it probably doesn't matter.
If the power/control of the PCIe device and its two root hubs are all set to
"auto", it is suspended if there is no USB device, and doesn't wake up on plug.


Is the xHCI controller id PCI D0 state even when runtime suspeded?
Some ACPI tables end up preventing D3 for runtime suspend, keeping controller in D0
and possibly preventing PME# wake signaling

-Mathias



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux