GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu zkontrolovat, zda je v Linuxu povolen režim USB3.0 UASP (USB Attached SCSI Protocol)?

Pokud znáte název svého zařízení, najděte čísla sběrnice USB a zařízení:

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

Poté se podívejte do stromu USB a najděte své zařízení (mé bylo 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
...

V mém případě můžete vidět uas řidič.

Pokud se UAS nepoužívá, uvidíte usb-storage (jako Dev 3 v mém případě).


Kromě odpovědi, kterou dal austinmarton, můžete běžet

lsusb -v -d VPID | grep -i interface

kde VPID je ID dodavatele/produktu uvedené v lsusb . Například:

$ 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 

Všimněte si, že jediný bInterfaceProtocol uvedená hodnota je 80 Bulk-Only . Toto zařízení nebude být zařízením konfigurovaným UASP. Pokud však uvidíte další bInterfaceProtocol 98 , to by být zařízením konfigurovaným UASP.

Tyto hodnoty jsou uvedeny v desítkové soustavě, ale specifikace na ně odkazuje jejich hexadecimálními hodnotami...

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

Tyto informace lze nalézt ve specifikaci Mass Storage na usb.org, část 3 Kódy protokolů, Tabulka 2 — Mass Storage Transport Protocol.

Nejsem si však jistý, zda to odpovídá na vaši první nebo druhou otázku, protože není jasné, zda by tato hodnota byla hlášena jak na počítačích/zařízeních, které podporují UASP, tak na těch, které nepodporují.


Pro dokončení odpovědi:

Pokud váš ovladač není podporují UAS, linuxové jádro je tak laskavé, že vám to říká:

$ 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.

Také lsusb zobrazuje řádek pro bInterfaceProtocol 98, ale je prázdný:

$ 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

HTH,

R. Daneel olivaw,
Lidský robot uvnitř.


Linux
  1. Jak mohu nainstalovat Windows 7 bez dvd nebo usb na linux?

  2. Jak zjistím, zda je v linuxu povoleno KPTI?

  3. Jak zkontrolovat, zda je v jádře Linuxu povolen Retpoline nebo ne?

  1. Jak mohu zkontrolovat, zda jsou cgroups dostupné na mém hostiteli Linuxu?

  2. Jak zjistím, jaké pevné disky jsou připojeny k linuxové krabici?

  3. Jak mohu zkontrolovat, zda je svazek připojen tam, kde má být pomocí Pythonu?

  1. Jak zkontrolovat, které moduly Apache jsou povoleny/načteny v Linuxu

  2. Linux – Jak znovu připojit logicky odpojené USB zařízení?

  3. Jak zkontrolovat, zda je SELinux povolen nebo zakázán