Si vous connaissez le nom de votre appareil, recherchez les numéros de bus USB et d'appareil :
$ lsusb
...
Bus 002 Device 005: ID xxxx:yyyy MyDeviceManufacturer
...
Ensuite, regardez l'arborescence USB et trouvez votre appareil (le mien était 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
...
Vous pouvez voir dans mon cas le uas
chauffeur.
Si UAS n'est pas utilisé, vous verrez usb-storage
(comme Dev 3 dans mon cas).
En plus de la réponse donnée par austinmarton, vous pouvez exécuter
lsusb -v -d VPID | grep -i interface
où VPID est l'identifiant du fournisseur/produit indiqué dans lsusb
. Par exemple :
$ 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
Notez que le seul bInterfaceProtocol
la valeur indiquée est 80 Bulk-Only
. Cet appareil ne serait pas être un appareil configuré en UASP. Cependant, si vous voyez un bInterfaceProtocol 98
supplémentaire , cela serait être un appareil configuré en UASP.
Ces valeurs sont données en décimal, mais la spécification y fait référence par leurs valeurs hexadécimales...
50h (80d): USB Mass Storage Class Bulk-Only (BBB) Transport
62h (98d): Allocated by USB-IF for UAS.
Ces informations peuvent être trouvées dans la spécification de stockage de masse sur usb.org, section 3 Codes de protocole, tableau 2 — Protocole de transport de stockage de masse.
Je ne sais pas si cela répond à votre première ou deuxième question, car il n'est pas clair si cette valeur serait signalée à la fois sur les machines/appareils qui prennent en charge UASP et ceux qui ne le font pas.
Pour compléter la réponse :
Si votre manette ne le fait pas prend en charge UAS, le noyau Linux a la gentillesse de vous le dire :
$ 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.
De plus, lsusb affiche une ligne pour bInterfaceProtocol 98, mais elle est vide :
$ 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,
Le robot humain à l'intérieur.