LINUX.ORG.RU

Как заставить USB 3.0 перестать работать с 3.0 устройствами в 2.0 режиме?

 , , , ,


0

3

Итак ситуация: есть материнка без 3.0 портов. Была куплена PCI-E плата на 6 usb портов 2-3 (автоматический выбор) с доп. питанием (подключено).

Система ее видит lspci:

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

Погуглил про нее, чип вроде NECовский. На сайте NEC в разделе с дровами такое:

The Linux driver for the following Renesas USB device is released from the Linux community site. It is included in Linux kernel.
Please download and use the current Linux Kernel from the Linux community site, if you're using the Linux driver. Please contact to Linux community, if you have a question regarding the Linux driver.
В ядре якобы есть поддержка. Ок, включаю модуль: # modprobe xhci_hcd Система начинает отлично видеть и работать со всем, что воткнуто в плату, но подозрительно медленно (внешний винт есть, работает с той же смешной скоростью, что и раньше). Смотрю дальше: 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
Судя по 2.1 и скорости в 480мбс (соответствует 2.0) железка упорно не хочет использовать весь свой потенциал. О системе $ uname -a
Linux desktop 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux
Куда копать?


Попробовать последний релиз ядра.

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

А вот это я не в курсе. Как посмотреть?

Вроде в Jessie это ядро последнее. Или последнее в смысле 4?

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

знать бы как. я вообще не уверен, что можно узнать firmware контроллера без спец.софта для перепрошивки..

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

ну версию биоса я могу посмотреть, а как версию прошивки чипа pci карточки можно посмотреть?

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

А, чёрт, я спутал с SATA-контроллером.

Тогда просто поставь винду на какой-нибудь диск и прошей фирмварь из-под неё. Больше вариантов нет. Потому-что 2.0.2.6 реально исправляет косяки (пару лет назад прошивал набортный usb3.0 nec/renesas контроллер из-под винды, винда перестала падать в синий экран.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

проблема решилась с обновлением ядра apt-get update apt-get upgrade Похоже было кривое (странно, что на ветке Stable такое может быть) ядро, потому как новое пришло под той же версией, но после обновления и флешка, и съемный винт заработали в режиме 3.0, вот такие чудеса.

Сейчас есть другая проблема. Помимо них есть USB WiFi http://en.comfast.com.cn/download/DriverProgram/item-151.html он работает как 2.0 и после обновления, но теперь я так понимаю, что проблема в нем. С этими дровами https://github.com/gnab/rtl8812au в частности и официальными тоже.

Ansy
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.