So the situation: there is a motherboard without 3.0 ports. A PCI-E card for 6 usb ports 2-3 (automatic selection) was purchased with add. power (connected).

The system sees it lspci:

02:00.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller (rev 03) 

Googled about it, a chip like NECovsky. On the NEC website in the firewood section is:

The USB driver is released from the Linux community site. It is included in Linux kernel. Download the Linux Kernel from the Linux community site, if you are using the Linux driver. Please contact the Linux community if you have a question regarding the Linux driver.

Supposedly there is support in the core. Ok, I turn on the module: # modprobe xhci_hcd The system starts to see and work perfectly with everything that is plugged into the board, but suspiciously slowly (there is an external screw, it works with the same ridiculous speed as before). Look further: lsusb

 Bus 001 Device 005: ID 14cd:6116 Super Top M6116 SATA Bridge Bus 001 Device 004: ID 8564:1000 Bus 001 Device 007: ID 14cd:8168 Super Top Bus 001 Device 006: ID 09da:78b4 A4 Tech Co., Ltd Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 008 Device 002: ID 1a2c:0c23 China Resource Semico Co., Ltd Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 002: ID 2109:0812 Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 004: ID 0951:1666 Kingston Technology Bus 002 Device 003: ID 0bc2:3322 Seagate RSS LLC Bus 002 Device 005: ID 0bda:8812 Realtek Semiconductor Corp. Bus 002 Device 002: ID 2109:2812 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub ага, винт 2:3, кстати флешка тоже должна 3.0 работать 2:4 

lsusb -v -s 2: 3

 Bus 002 Device 003: ID 0bc2:3322 Seagate RSS LLC Couldn't open device, some information will be missing Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0bc2 Seagate RSS LLC idProduct 0x3322 bcdDevice 1.00 iManufacturer 2 iProduct 3 iSerial 1 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 85 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 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 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 0x0200 1x 512 bytes bInterval 0 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 0x0200 1x 512 bytes bInterval 0 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 0x0200 1x 512 bytes bInterval 0 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 0x0200 1x 512 bytes bInterval 0 Command pipe (0x01) 

lsusb -v -s 2: 3

 Bus 002 Device 003: ID 0bc2:3322 Seagate RSS LLC Couldn't open device, some information will be missing Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0bc2 Seagate RSS LLC idProduct 0x3322 bcdDevice 1.00 iManufacturer 2 iProduct 3 iSerial 1 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 85 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 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 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 0x0200 1x 512 bytes bInterval 0 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 0x0200 1x 512 bytes bInterval 0 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 0x0200 1x 512 bytes bInterval 0 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 0x0200 1x 512 bytes bInterval 0 Command pipe (0x01) 

$ lsusb -t

 /: Bus 12.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/2p, 12M /: Bus 11.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/3p, 12M /: Bus 10.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/3p, 12M /: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/3p, 12M /: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/3p, 12M |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M /: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/4p, 480M /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M |__ Port 2: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M |__ Port 2: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 2: Dev 5, If 0, Class=Vendor Specific Class, Driver=rtl8812au, 480M Port 3: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M Port 4: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M |__ Port 3: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 2: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 2: Dev 6, If 1, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 2: Dev 6, If 2, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 4: Dev 7, If 0, Class=Mass Storage, Driver=usb-storage, 480M |__ Port 4: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M |__ Port 5: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M 

Judging by 2.1 and a speed of 480 mbs (corresponds to 2.0), the hardware stubbornly does not want to use its full potential. About $ uname -a

 Linux desktop 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux 

Where to dig?

  • 1. you have twice the output of the same command lsusb -v -s 2:3 . 2. Complete the picture for completeness with sudo hdparm -t /dev/устройство output and dd if=/dev/zero of=/новый/файл/на/примонтированном/устройстве/который/потом/можно/удалить bs=1G count=1 - aleksandr barakin
  • 1. I apologize. Here's the flash output from pastebin.com/bALNLjX8 2. $ sudo hdparm -t / dev / sdg1 <code> / dev / sdg1: Timing buffered disk reads: 106 MB in 3.05 seconds = 34.71 MB / sec </ code> dd if = / dev / zero of = / media / ansy / 5tb / tmp.file bs = 1G count = 1 <code> 1 + 0 records received 1 + 0 records sent copied 1073741824 bytes (1.1 GB), 30.8443 c, 34.8 MB / c </ code> - Alex Melnikov
  • Yes, the speed is too small. but, quite possibly, the “bottleneck” in your case is not the usb interface, but the pci-e interface. I just remembered how about three years ago I was dealing with low wifi performance in some model of the router. The adapter was connected via the pci-e bus. so the guys from the openwrt website helped - they found problems in the driver of the bus. whether it was in the algorithm, or in the timings - I don’t remember. It is not excluded that you have a similar problem. or maybe some parameters are needed for the code implementing the bus communication. look this way. - aleksandr barakin
  • Considering that for some reason the devices are switched on in the 2.0 mode, I will assume that this is not the bus. it’s not just a question of speed, I’m not measuring it, since it depends on a lot, but on the usb port mode that is clearly prescribed - Alex Melnikov
  • included in the 2.0 mode - here you know better. I did not see usb3 devices in my eyes (controllers, that is), and I’m not guided that lsusb and others should show about them. - aleksandr barakin

1 answer 1

the problem is solved by changing the kernel and switching to mint