You are not logged in.

#1 2021-09-27 04:13:20

Smoerrebroed
Member
From: Germany
Registered: 2011-07-24
Posts: 106

USB 3.2 Gen 2 port only works at 5 Gbit/s

Hi All,

after purchasing a new CFexpress card reader, which is the first device that I own which supports 10 Gbit/s over USB, I found that with my mainboard (Asus TUF Gaming B550 Plus) it only operates at 5 Gbit/s rather than at 10 Gbit/s that should be achievable. Here's some initial config information:

[user@host ~]$ lsusb -tv
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    ID 1d6b:0003 Linux Foundation 3.0 root hub
    |__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
        ID 174c:2362 ASMedia Technology Inc. 
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
    ID 1d6b:0003 Linux Foundation 3.0 root hub
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 6: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 12M
        ID 0b05:1939 ASUSTek Computer, Inc. 
    |__ Port 6: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M
        ID 0b05:1939 ASUSTek Computer, Inc. 
    |__ Port 7: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
        ID 05e3:0610 Genesys Logic, Inc. Hub
    |__ Port 9: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
        ID 0bda:8771 Realtek Semiconductor Corp. 
    |__ Port 9: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
        ID 0bda:8771 Realtek Semiconductor Corp. 
    |__ Port 10: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        ID 046a:00b0 Cherry GmbH 
    |__ Port 10: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        ID 046a:00b0 Cherry GmbH 

(I'm talking about Bus 04 Port 3.) As you can see, Bus 02 would actually support 10 Gbit/s, but somehow this device is not recognized as being capable of that speed. There is no difference whether I connect it to the USB-A or USB-C port at the back of the mainboard. Also, when hooking it up to my MBP using the same cable, it is recognized properly as supporting 10 Gbit/s (which it really does).

I already searched the web for any potential config options to somehow "unlock" those 10 Gbit/s, but it seems that there not really any switches/options for that. It should theoretically work out of the box with a recent kernel.

Any ideas what might be wrong here? I remember that a while back I had some instabilities when connecting my USB 3 (5 Gbit/s) card reader, and it would only be recognized at USB 2 speed (480 Mbit/s), but that was just an intermittent issue. This one here seems to be fixed at 5 Gbit/s, no matter how often I unplug/replug it or restart the machine. FWIW, I'm running the most recent official kernel (5.14.7-arch1-1). TIA!

Last edited by Smoerrebroed (2021-09-27 04:14:28)

Offline

#2 2021-09-27 10:54:43

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: USB 3.2 Gen 2 port only works at 5 Gbit/s

Latest firmware version[1] is 2423 from 26 aug 2021, are you running that ?

Brand and model of the CFreader ?


[1] https://www.asus.com/Motherboards-Compo … Desk_BIOS/

Last edited by Lone_Wolf (2021-09-27 10:55:45)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2021-09-27 12:27:55

Smoerrebroed
Member
From: Germany
Registered: 2011-07-24
Posts: 106

Re: USB 3.2 Gen 2 port only works at 5 Gbit/s

Lone_Wolf wrote:

Latest firmware version[1] is 2423 from 26 aug 2021, are you running that ?


Yes. I had the previous version on there before, but there is no difference.

Lone_Wolf wrote:

Brand and model of the CFreader ?

It's one of those all aluminum readers that can be had for about 40 EUR/USD on Amazon: https://www.amazon.com/dp/B08FD7B2LF/ They are based on an ASMedia 236x chip, but I don't see any hints about firmware version. The thing is that the same reader is correctly recognized with 10 Gbit/s capability on my MBP, so something looks to be missing on Arch.

Not sure how this works, but look here:

[user@host ~]$ sudo lsusb -vvd 174c:2362

Bus 004 Device 002: ID 174c:2362 ASMedia Technology Inc. ASM236X series
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.20
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x174c ASMedia Technology Inc.
  idProduct          0x2362 
  bcdDevice            1.00
  iManufacturer           2 Asmedia
  iProduct                3 ASM236X series
  iSerial                 1 00000000009C
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0079
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     98 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Data-in pipe (0x03)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Data-out pipe (0x04)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Status pipe (0x02)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        Command pipe (0x01)
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x002a
  bNumDeviceCaps          3
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x0000f41e
      BESL Link Power Management (LPM) Supported
    BESL value     1024 us 
    Deep BESL value    61440 us 
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat          10 micro seconds
    bU2DevExitLat        2047 micro seconds
  SuperSpeedPlus USB Device Capability:
    bLength                20
    bDescriptorType        16
    bDevCapabilityType     10
    bmAttributes         0x00000001
      Sublink Speed Attribute count 1
      Sublink Speed ID count 0
    wFunctionalitySupport   0x1100
    bmSublinkSpeedAttr[0]   0x000a4030
      Speed Attribute ID: 0 10Gb/s Symmetric RX SuperSpeedPlus
    bmSublinkSpeedAttr[1]   0x000a40b0
      Speed Attribute ID: 0 10Gb/s Symmetric TX SuperSpeedPlus
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered

wSpeedsSupported is missing an entry for 10 Gbit/s, but it shows under bmSublinkSpeedAttr[0] and bmSublinkSpeedAttr[1]. Not sure if this is supposed to be like that.

Last edited by Smoerrebroed (2021-09-27 12:31:00)

Offline

#4 2021-09-28 09:33:57

sabroad
Member
Registered: 2015-05-24
Posts: 242

Re: USB 3.2 Gen 2 port only works at 5 Gbit/s

Smoerrebroed wrote:

(I'm talking about Bus 04 Port 3.) As you can see, Bus 02 would actually support 10 Gbit/s, but somehow this device is not recognized as being capable of that speed.

[user@host ~]$ sudo lsusb -vvd 174c:2362

Bus 004 Device 002: ID 174c:2362 ASMedia Technology Inc. ASM236X series

Bus 004 only supports 5gbps. What does lsusb look like when you plug it into the port(s) on Bus 002 (10gbps)?


--
saint_abroad

Offline

#5 2021-10-13 04:04:33

Smoerrebroed
Member
From: Germany
Registered: 2011-07-24
Posts: 106

Re: USB 3.2 Gen 2 port only works at 5 Gbit/s

I am not exactly sure how it works, but the card reader is actually plugged into one of the ports that is marked as being 10 Gbit/s. No idea why it shows under another (logical?) bus.

Offline

#6 2021-10-21 05:06:35

Smoerrebroed
Member
From: Germany
Registered: 2011-07-24
Posts: 106

Re: USB 3.2 Gen 2 port only works at 5 Gbit/s

So ... no further ideas? How could I troubleshoot this phenomenon more in-depth to find out the root cause?

Offline

#7 2021-10-21 07:50:07

seth
Member
Registered: 2012-09-03
Posts: 50,012

Re: USB 3.2 Gen 2 port only works at 5 Gbit/s

https://bugzilla.kernel.org/show_bug.cgi?id=204869 (different asmedia chip, though)
dmesg when attaching the reader?

Offline

Board footer

Powered by FluxBB