LINUX.ORG.RU

Скорость USB порта контроллера Orient AM-31U2PE-AC

 


0

4

Приобретён новый USB-контроллер Orient AM-31U2PE-AC для установки в компьютер, не имеющий портов 10 Gbps. Но в данный момент для сравнения я тестирую его в компьютере, имеющем такие порты на материнской плате.

Включаю флешку в разъём на материнское плате:

# lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
    |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=uas, 10000M

Включаю флешку в разъём на новом контроллере:

# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
    |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=uas, 5000M

Выглядит так, будто бы порт нового контроллера не поддерживает требуемую скорость. Тем не менее в списке поддерживаемых скоростей она присутствует для обоих тестируемых хабов:

# lsusb -v 2>/dev/zero | egrep 'Bus [0-9]|bcdUSB|RX|TX'
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bcdUSB               3.10
      Speed Attribute ID: 4 5Gb/s Symmetric RX SuperSpeed
      Speed Attribute ID: 4 5Gb/s Symmetric TX SuperSpeed
      Speed Attribute ID: 5 10Gb/s Symmetric RX SuperSpeedPlus
      Speed Attribute ID: 5 10Gb/s Symmetric TX SuperSpeedPlus
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bcdUSB               3.10
      Speed Attribute ID: 4 5Gb/s Symmetric RX SuperSpeed
      Speed Attribute ID: 4 5Gb/s Symmetric TX SuperSpeed
      Speed Attribute ID: 5 10Gb/s Symmetric RX SuperSpeedPlus
      Speed Attribute ID: 5 10Gb/s Symmetric TX SuperSpeedPlus

В чём может быть причина отказа подключаться на скорости 10Gbps?

Ответ на: комментарий от newbie24

Может контроллер ограничил скорость на USB из-за того, что у него ограничена скорость по PCIe? Контроллер ASM1142 имеет две полосы PCIe. Он может использовать PCIe 2.0 x2 (2x5 Gbps) или PCIe 3.0 x1 (8 Gbps). Может ты его вставил в PCIe 2.0 x1 слот?

iliyap ★★★★★
()
Ответ на: комментарий от iliyap

Посмотреть скорость PCIe линка можно вот так:

# sudo lspci -s 02:00.0 -vv -nn |grep -e '^[0-f]' -e 'Express (v2)' -e 'LnkCap:' -e 'LnkSta:'
02:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset USB 3.1 xHCI Compliant Host Controller [1022:43d5] (rev 01) (prog-if 30 [XHCI])
	Capabilities: [80] Express (v2) Legacy Endpoint, MSI 00
		LnkCap:	Port #0, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <2us, L1 <32us
		LnkSta:	Speed 8GT/s (ok), Width x4 (ok)
iliyap ★★★★★
()
Последнее исправление: iliyap (всего исправлений: 2)
Ответ на: комментарий от iliyap

Может ты его вставил в PCIe 2.0 x1 слот?

Вряд ли. На материнке есть такой слот, но контроллер в него не войдёт физически. Кроме него есть ещё два слота.

Про первый в спецификации ясно написано, что это PCIe 3.0 x16. Версия второго не указана, написано, что x16, функционирующий в режиме x4.

Вывод lspci при подключении контроллера к разъёмам:

x16:

# lspci -s 01:00.0 -vv -nn |grep -e '^[0-f]' -e 'Express (v2)' -e 'LnkCap:' -e 'LnkSta:'
  01:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242] (prog-if 30 [XHCI])
        Capabilities: [80] Express (v2) Endpoint, MSI 00
                LnkCap: Port #1, Speed 5GT/s, Width x2, ASPM L0s L1, Exit Latency L0s <2us, L1 unlimited
                LnkSta: Speed 5GT/s (ok), Width x2 (ok)

x4:

# lspci -s 05:00.0 -vv -nn |grep -e '^[0-f]' -e 'Express (v2)' -e 'LnkCap:' -e 'LnkSta:'
  05:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242] (prog-if 30 [XHCI])
        Capabilities: [80] Express (v2) Endpoint, MSI 00
                LnkCap: Port #1, Speed 5GT/s, Width x2, ASPM L0s L1, Exit Latency L0s <2us, L1 unlimited
                LnkSta: Speed 5GT/s (ok), Width x2 (ok)
newbie24
() автор топика
Ответ на: комментарий от soomrack

покажи lsusb -v все что относится к твоему девайсу

# lsusb -vs 2:1

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0
  bDeviceProtocol         3
  bMaxPacketSize0         9
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0003 3.0 root hub
  bcdDevice            5.10
  iManufacturer           3 Linux 5.10.0-23-amd64 xhci-hcd
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:01:00.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x001f
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
        bMaxBurst               0
Hub Descriptor:
  bLength              12
  bDescriptorType      42
  nNbrPorts             2
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  bHubDecLat          0.0 micro seconds
  wHubDelay             0 nano seconds
  DeviceRemovable    0x00
 Hub Port Status:
   Port 1: 0000.02a0 lowspeed L1
   Port 2: 0000.02a0 lowspeed L1
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x002b
  bNumDeviceCaps          2
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x02
      Latency Tolerance Messages (LTM) Supported
    wSpeedsSupported   0x0008
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   3
      Lowest fully-functional device speed is SuperSpeed (5Gbps)
    bU1DevExitLat           0 micro seconds
    bU2DevExitLat           0 micro seconds
  SuperSpeedPlus USB Device Capability:
    bLength                28
    bDescriptorType        16
    bDevCapabilityType     10
    bmAttributes         0x00000023
      Sublink Speed Attribute count 3
      Sublink Speed ID count 1
    wFunctionalitySupport   0x0001
    bmSublinkSpeedAttr[0]   0x00050034
      Speed Attribute ID: 4 5Gb/s Symmetric RX SuperSpeed
    bmSublinkSpeedAttr[1]   0x000500b4
      Speed Attribute ID: 4 5Gb/s Symmetric TX SuperSpeed
    bmSublinkSpeedAttr[2]   0x000a4035
      Speed Attribute ID: 5 10Gb/s Symmetric RX SuperSpeedPlus
    bmSublinkSpeedAttr[3]   0x000a40b5
      Speed Attribute ID: 5 10Gb/s Symmetric TX SuperSpeedPlus
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered

и драйвер еще какой и версия ядра какая – погугли, может в них проблема.

Ядро:

# uname -r
5.10.0-23-amd64

А версию драйвера как посмотреть?

newbie24
() автор топика
Ответ на: комментарий от newbie24

хз. на картинках и в описании я увидел x4…

Speed	Dual simplex; examples in single-lane (x1) and 16-lane (x16), per direction:

    Version 1.x: 2.5 GT/s

            x1: 250 MB/s
            x16: 4 GB/s

    Version 2.x: 5 GT/s
            x1: 500 MB/s
            x16: 8 GB/s
    Version 3.x: 8 GT/s
            x1: 985 MB/s
            x16: 15.75 GB/s
    Version 4.0: 16 GT/s
            x1: 1.97 GB/s
            x16: 31.5 GB/s
    Version 5.0: 32 GT/s
            x1: 3.94 GB/s
            x16: 63 GB/s
    Version 6.0: 64 GT/s
            x1: 7.56 GB/s
            x16: 121 GB/s
    Version 7.0: 128 GT/s
            x1: 15.13 GB/s
            x16: 242 GB/s
soomrack ★★★★
()

Что мне кажется особенно загадочным, тест скорости чтения флешки, подключенной к этому контроллеру, даёт результат, близкий к 1 GB/s. Разве такая скорость возможна при кодключении к USB на скорости 5 Gbps?

# lsusb -t | grep -B1 Mass
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
    |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=uas, 5000M

# dd if=/dev/sda of=/dev/zero bs=64M iflag=direct
512110190592 bytes (512 GB, 477 GiB) copied, 552.363 s, 927 MB/s

Для сравнения флешка подключена через интрированный на материнку USB-контроллер на 10 Gbps:

# lsusb -t | grep -B1 Mass
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 10000M

# dd if=/dev/sda of=/dev/zero bs=64M iflag=direct
512110190592 bytes (512 GB, 477 GiB) copied, 496.304 s, 1.0 GB/s

и 5 Gbps:

# lsusb -t | grep -B1 Mass
/:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M

# dd if=/dev/sda of=/dev/zero bs=64M iflag=direct
512110190592 bytes (512 GB, 477 GiB) copied, 1224.02 s, 418 MB/s
newbie24
() автор топика
Ответ на: комментарий от newbie24

В другой материнке этот контроллер ведёт себя аналогичным образом. Всё так же lsusb -t показывает соединение на 5 Gbps, но скорость чтения всё так же примерно в два раза превосходит скорость соединения.

Так и должно быть? Или это неправильный контроллер?

newbie24
() автор топика