2

If I run lsusb I see my USB WiFi device.

Bus 001 Device 006: ID 7392:a812 Edimax Technology Co., Ltd

Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x7392 Edimax Technology Co., Ltd
  idProduct          0xa812 
  bcdDevice            2.00
  iManufacturer           1 Realtek
  iProduct                2 Edimax AC600 USB
  iSerial                 3 00e04c000001
  bNumConfigurations      1
  ...

If I run lshw I see the driver used by that device is rtl8812au

*-network:1
   description: Wireless interface
   physical id: 3
   bus info: usb@1:12
   logical name: enp0s20u12
   serial: 74:da:38:b9:77:3c
   capabilities: ethernet physical wireless
   configuration: broadcast=yes driver=rtl8812au ip=192.168.0.105 multicast=yes wireless=IEEE 802.11AC

Using journalctl in Arch I see the driver registered is rtl8812au.

Sep 30 12:22:20 archlinux kernel: usbcore: registered new interface driver rtl8812au

My understanding is that self-identified fields from a device like vendor id and product id inform the system what sort of driver should be loaded for a device.

But how do I know the chipset? A driver may cover multiple chipsets, right?

So my device could very well be using one of a wide range of chipsets covered by that particular driver.

The sample output I posted makes me think my device is probably an rtl8812au chipset considering the driver for it is named so specifically.

But the rt2800usb driver really intrigues me. It covers such a wide range of chipsets. If my system showed that the rt2800usb driver was being loaded, I feel like it wouldn't be nearly as clear what the chipset was.

Is there any way to really know the particular chipset of my device without somehow opening up the device and examining the chip?

  • 1
    There is no way, unless the driver covering multiple chipsets can perform identification of the chipset (which depends on the chipsets, often you can read a register for chipset and/or version). Some drivers can, and some even tell you in dmesg. – dirkt Oct 02 '17 at 05:25
  • 1
    For some reason, I thought my question was unique, but I see my question really is a duplicate to https://stackoverflow.com/questions/757295/how-can-you-identify-the-chipset-of-a-usb-device-in-linux and that the answer by @dirkt is correct. It seems that there is no reliable or consistent way to determine the chipset of a USB device – Will Haley Oct 02 '17 at 18:03

0 Answers0