"If it quacks like a keyboard and types like a keyboard it must be a keyboard."
Isso nem sempre é verdade. A lsusb
utillity obtém suas informações de um arquivo chamado /var/lib/usbutils/usb.ids
para pesquisar os IDs de fornecedores, ids de produtos, classes, subclasses e protocolos. Mas, observe que um dispositivo USB pode imitar um ID errado (consulte Rubber Ducky para exemplo).
No entanto, gosto da opção -t
para obter mais informações sobre dispositivos conectados. Um mouse USB, por exemplo, ficaria assim:
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=HID, Driver=usbhid, 1.5M
A parte interessting no Driver=usbhid
, onde você pode descobrir qual driver o kernel usa para aquele dispositivo específico. A classe do dispositivo é HID, o que significa um dispositivo de interface humana . Nesse caso, a entrada simples lsusb
ficaria assim:
Bus 006 Device 002: ID 046d:c050 Logitech, Inc. RX 250 Optical Mouse
046d
é o ID do fornecedor pesquisado como Logitech, Inc.
e c050
é o ID do produto pesquisado como RX 250 Optical Mouse
.
Você pode grep
o arquivo de id desses IDs verificar:
$ grep -P "^046d|c050" /var/lib/usbutils/usb.ids
046d Logitech, Inc.
c050 RX 250 Optical Mouse