title: How can you identify the chipset of a USB device in Linux?
body: <p>I'd like to be able to identify the chipset a particular USB device is using.  I know about <a href="https://man.archlinux.org/man/lsusb.8.en" rel="nofollow noreferrer"><code>lsusb</code></a> (and now <code>/proc/bus/usb/devices</code>), but they don't provide as much information as <a href="https://man.archlinux.org/man/lspci.8" rel="nofollow noreferrer"><code>lspci</code></a>.</p>
  <p>Here is an example of how I use <code>lsusb</code>:</p>
  <blockquote><pre>
  (laptop:/proc/bus/usb) # lsusb -v -d 050d:805c
  <p>Bus 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
  :
  </pre></blockquote></p>
  <p>... and <code>/proc/bus/usb/devices</code> (thanks to a comment on this thread):</p>
  <blockquote><pre>
  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
  </pre></blockquote>
  <p>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 &quot;0x805c&quot; doesn't match a chipset number I'd expect (2500 - 2900).</p>
  <p>I'm thinking that perhaps it isn't even possible to query this information across the USB bus.</p>
  <p>Thanks in advance for any help.</p>