21

У меня есть ноутбук с Ubuntu 15.04 (универсальный 3.19.0-21) и внешний 2,5-дюймовый жесткий диск SATA USB 3.0, который утверждает, что поддерживает режим UASP (модель S2510BPU33 от StarTech). У меня нет проблем с креплением диска или чтением / записью на него.

Я хотел бы иметь возможность подтвердить следующее:

  1. Что само устройство на самом деле поддерживает UASP
  2. Поддерживает ли мой чипсет также UASP
  3. Использует ли устройство UASP, когда я его монтирую

Где я могу найти эту информацию?

4 ответа4

21

Если вы знаете название своего устройства, найдите номера USB-шины и устройства:

$ lsusb
...
Bus 002 Device 005: ID xxxx:yyyy MyDeviceManufacturer
...

Затем посмотрите на дерево USB и найдите ваше устройство (у меня был Bus 2, Dev 5):

$ lsusb -t
...
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    |__ Port 2: Dev 5, If 0, Class=Mass Storage, Driver=uas, 5000M
    |__ Port 4: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
...

Вы можете видеть в моем случае драйвер uas .

Если UAS не используется, вы увидите usb-storage (как Dev 3 в моем случае).

8

В дополнение к ответу Остинмартон, вы можете запустить

lsusb -v -d VPID | grep -i interface

где VPID - идентификатор поставщика / продукта, указанный в lsusb . Например:

$ lsusb -v -d 1234:5678 | grep -i interface
Couldn't open device, some information will be missing
  bDeviceClass            0 (Defined at Interface level)
    bNumInterfaces          1
    Interface Descriptor:
      bInterfaceNumber        0
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              6 

Обратите внимание, что единственным указанным значением bInterfaceProtocol является 80 Bulk-Only . Это устройство не будет настроенным UASP. Однако, если вы увидите дополнительный bInterfaceProtocol 98 , это будет устройство, настроенное для UASP.

Эти значения даны в десятичном виде, но спецификация ссылается на них по их шестнадцатеричным значениям ...

50h (80d): USB Mass Storage Class Bulk-Only (BBB) Transport
62h (98d): Allocated by USB-IF for UAS. 

Эту информацию можно найти в Спецификации запоминающего устройства на usb.org, раздел 3 Коды протоколов, Таблица 2 - Транспортный протокол запоминающего устройства.

Я не уверен, отвечает ли это на ваши первые или вторые вопросы, поскольку неясно, будет ли сообщаться об этом значении как на машинах / устройствах, которые поддерживают UASP, так и на тех, которые этого не делают.

3

Чтобы завершить ответ:

Если ваш контроллер не поддерживает UAS, ядро Linux будет любезно сказать вам следующее:

$ dmesg | grep "UAS"
[58669.959610] usb 4-2: USB controller 0000:03:00.0 does not support streams, which are required by the UAS driver.
[58669.959613] usb 4-2: Please try an other USB controller if you wish to use UAS.

Кроме того, lsusb показывает строку для bInterfaceProtocol 98, но она пуста:

$ lsusb -v -d 0080:a001 | grep -i interface
bDeviceClass            0 (Defined at Interface level)
  bNumInterfaces          1
  Interface Descriptor:
    bInterfaceNumber        0
    bInterfaceClass         8 Mass Storage
    bInterfaceSubClass      6 SCSI
    bInterfaceProtocol     80 Bulk-Only
    iInterface              0 
  Interface Descriptor:
    bInterfaceNumber        0
    bInterfaceClass         8 Mass Storage
    bInterfaceSubClass      6 SCSI
    bInterfaceProtocol     98 
    iInterface              0

НТН,

Р. Даниэль Оливоу,
Человек-робот внутри.

-1

Вы должны проверить, используется ли драйвер UAS для вашего диска. Сначала определите диск, о котором идет речь:

   # dmesg | grep sdb
   ...................
   sd 9:0:0:1: [sdb] Attached SCSI disk

Таким образом, мое устройство представляет собой диск SCSI. Здесь вы найдете информацию о драйверах, используемых в настоящее время,

   # ls /sys/bus/scsi/drivers
     sd  sr

Итак, в моем случае, подходящий драйвер - это либо sd, либо sr. Чтобы проверить, какой из них, я пытаюсь

   # cd /sys/bus/scsi/drivers/sd/9:0:0:1
   # 

Следовательно, мой водитель SD.Вы можете дважды проверить, что каталог /sys/bus/scsi/drivers/sr/9:0:0:1 не существует. Следовательно, мой внешний диск не UASP.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .