I’d like to be able to identify the chipset a particular USB device is using. I know about lsusb (and now /proc/bus/usb/devices), but they don’t provide as much information as lspci.
Here is an example of how I use lsusb:
(laptop:/proc/bus/usb) # lsusb -v -d 050d:805cBus 001 Device 008: ID 050d:805c Belkin Components Device Descriptor: : idVendor 0x050d Belkin Components idProduct 0x805c bcdDevice 0.01 iManufacturer 1 Ralink iProduct 2 802.11 n WLAN :
… and /proc/bus/usb/devices (thanks to a comment on this thread):
T: Bus=01 Lev=02 Prnt=03 Port=02 Cnt=01 Dev#= 8 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=050d ProdID=805c Rev= 0.01 S: Manufacturer=Ralink S: Product=802.11 n WLAN C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 4mA
Although I can see that I’m looking at the right USB device (Belkin USB 801.11n with Ralink chipset), I still can’t determine the exact chipset version. The "0x805c" doesn’t match a chipset number I’d expect (2500 – 2900).
I’m thinking that perhaps it isn’t even possible to query this information across the USB bus.
Thanks in advance for any help.
There is no general way to determine the chipset unless the manufacturer changes the ProductID for each different chipset, or updates the revision number. And even then you would need to know how the ProductID maps to the chipset.