GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara memeriksa apakah mode USB3.0 UASP (USB Attached SCSI Protocol) diaktifkan di Linux?

Jika Anda mengetahui nama perangkat Anda, temukan Bus USB dan nomor Perangkat:

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

Kemudian lihat hierarki USB dan temukan perangkat Anda (milik saya adalah 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
...

Anda dapat melihat dalam kasus saya uas pengemudi.

Jika UAS tidak digunakan, Anda akan melihat usb-storage (seperti Dev 3 dalam kasus saya).


Selain jawaban yang diberikan austinmarton, Anda dapat menjalankan

lsusb -v -d VPID | grep -i interface

dengan VPID adalah ID vendor/produk yang dilaporkan dalam lsusb . Misalnya:

$ 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 

Perhatikan bahwa hanya bInterfaceProtocol nilai yang tertera adalah 80 Bulk-Only . Perangkat ini tidak menjadi perangkat yang dikonfigurasi UASP. Namun, jika Anda melihat bInterfaceProtocol 98 tambahan , ini akan menjadi perangkat yang dikonfigurasi UASP.

Nilai-nilai ini diberikan dalam desimal, tetapi spek merujuknya dengan nilai hexnya...

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

Informasi ini dapat ditemukan di Spesifikasi Penyimpanan Massal di usb.org, bagian 3 Kode Protokol, Tabel 2 — Protokol Transportasi Penyimpanan Massal.

Namun, saya tidak yakin apakah ini menjawab pertanyaan pertama atau kedua Anda, karena tidak jelas apakah nilai ini akan dilaporkan pada mesin/perangkat yang mendukung UASP dan yang tidak.


Untuk melengkapi jawabannya:

Jika pengontrol Anda tidak mendukung UAS, kernel linux cukup baik untuk memberi tahu Anda:

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

Selain itu, lsusb menampilkan baris untuk bInterfaceProtocol 98, tetapi kosong:

$ 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,
Robot Manusia Di Dalam.


Linux
  1. Cara Memeriksa Modul Apache mana yang Diaktifkan/Dimuat di Linux

  2. Cara Memeriksa kesehatan SSD/HDD di Linux

  3. Cara Memeriksa apakah SELinux Diaktifkan atau Dinonaktifkan

  1. Bagaimana saya bisa yakin bahwa saya telah menyambungkan perangkat ke port USB 3?

  2. Bagaimana saya memeriksa apakah KPTI diaktifkan di linux?

  3. Bagaimana cara memasang perangkat di Linux?

  1. Linux – Bagaimana Cara Menghubungkan Kembali Perangkat Usb yang Terputus Secara Logis?

  2. Bagaimana saya bisa memeriksa apakah volume dipasang di tempat yang seharusnya menggunakan Python?

  3. Bagaimana saya bisa menentukan apakah perangkat iscsi adalah sistem file Linux yang terpasang?