Di Linux tersedia banyak tools yang digunakan untuk mengidentifikasikan USB yang terpasang di Komputer/Laptop anda, tergantung dari informasi yang ingin didapatkan, tools yang digunakan bisa digabung dengan berbagai utility lainnya untuk mempercepat pencarian, seperti contoh grep.

Dengan mendapakan informasi vendor ID dan Device ID semakin memudahkan gooling untuk mencari driver yang tepat tanpa perlu membandingkannya dengan merek USB yang anda gunakan, karena ada banyak vendor mouse, flashdisk, keyboard diluar sana yang memberikan white label.

Mari kita mulai tahap-tahap untuk identifikasi USB

Cek Hardware USB

Mouse yang menggunakan brand terkenal seperti Logitech, akan langsung terdeteksi. Tetapi bila anda menggunakan merek lain, bisa jadi USB tersebut tidak terdeteksi. Untuk itu kita akan melihat hardware ID

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 13d3:3490 IMC Networks 
Bus 001 Device 003: ID 0bda:57de Realtek Semiconductor Corp. USB2.0 VGA UVC WebCam
Bus 001 Device 005: ID 1ea7:0064 SHARKOON Technologies GmbH 2.4GHz Wireless rechargeable vertical mouse [More&Better]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

mouse wireless merek Onix yang saya gunakan terdeteksi sebagai 1ea7:0064. 1ea7 disini adalah Vendor ID, dan 0064 adalah Device ID Ini yang nanti akan kita non-aktifkan fitur autosuspend nya. Contoh lain Mouse Robot Wireless terdeteksi sebagai

Bus 001 Device 002: ID 25a7:fa23 Areson Technology Corp 2.4G Receiver

Nomor port yang digunakan bisa dilihat dengan lsusb -t

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 2: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 6: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 8: Dev 5, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 8: Dev 5, If 1, Class=Wireless, Driver=btusb, 12M

Dari output ini yang bisa kita lihat adalah driver yang digunakan, dan kecepatannya. Kita ambil satu contoh Port 8: Dev 5, If 1, Class=Wireless, Driver=btusb, 12M
USB ini adalah Wireless, menggunakan driver btusb dan maksimum kecepatannya adalah 12 Mbps. Lebih detail mengenai driver yang digunakan, periksa dengan modinfo namadriver

$ modinfo btusb
filename:       /lib/modules/5.12.7-300.fc34.x86_64/kernel/drivers/bluetooth/btusb.ko.xz
license:        GPL
version:        0.8
description:    Generic Bluetooth USB driver ver 0.8
author:         Marcel Holtmann <marcel@holtmann.org>
firmware:       mediatek/mt7668pr2h.bin
firmware:       mediatek/mt7663pr2h.bin
srcversion:     8C6CE4AE66611E1FD3BCB40
...
...
retpoline:      Y
intree:         Y
name:           btusb
vermagic:       5.12.7-300.fc34.x86_64 SMP mod_unload 
sig_id:         PKCS#7
signer:         Fedora kernel signing key
sig_key:        34:E4:0D:3C:69:4B:FE:F0:CE:75:CF:68:92:8B:8E:BF:AD:84:5A:FD
sig_hashalgo:   sha256
signature:      06:B2:3D:EA:4F:E6:91:E4:6F:15:32:0F:0C:C0:4C:A2:E7:8E:F3:89:
		37:B9:C2:64:E1:E7:FE:F6:8A:E1:97:9D:75:DE:FD:EC:8D:19:60:5F:
		76:90:4C:7D:BF:5C:AF:3A:91:F6:DC:BF:DE:7D:C8:30:C5:3A:91:ED:
		87:94:59:70:68:80:A3:7F:82:B6:59:66:B0:DE:64:4A:43:D7:A2:56:
...
parm:           disable_scofix:Disable fixup of wrong SCO buffer size (bool)
parm:           force_scofix:Force fixup of wrong SCO buffers size (bool)
parm:           enable_autosuspend:Enable USB autosuspend by default (bool)
parm:           reset:Send HCI reset command on initialization (bool)

Informasi dari dmesg

Untuk melihat USB apakah bisa terdeteksi oleh linux, pertama kali cek di dmesg
mouse usb detected by linux

usb-devices

Utility lain yang bermafaat untuk melihat informasi USB adalah usb-devices

$ usb-devices
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh=12
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=05.12
S:  Manufacturer=Linux 5.12.7-300.fc34.x86_64 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:00:14.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
 
T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=25a7 ProdID=fa23 Rev=02.41
S:  Manufacturer=Compx
S:  Product=2.4G Receiver
C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
I:  If#=0x1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
 
T:  Bus=01 Lev=01 Prnt=01 Port=05 Cnt=02 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0bda ProdID=57de Rev=00.14
S:  Manufacturer=04081-0005610016421051645
S:  Product=USB2.0 VGA UVC WebCam
S:  SerialNumber=200901010001
C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo
I:  If#=0x1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
 
T:  Bus=01 Lev=01 Prnt=01 Port=07 Cnt=03 Dev#=  5 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=13d3 ProdID=3490 Rev=00.02
C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:  If#=0x0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I:  If#=0x1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
 
T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 6
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev=05.12
S:  Manufacturer=Linux 5.12.7-300.fc34.x86_64 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:00:14.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

Leave a comment

Your email address will not be published. Required fields are marked *