如果我运行,lsusb
我会看到我的 USB WiFi 设备。
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
...
如果我跑步,lshw
我会看到司机该设备使用的是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
在 Arch 中使用journalctl
我看到司机注册的是rtl8812au
.
Sep 30 12:22:20 archlinux kernel: usbcore: registered new interface driver rtl8812au
我的理解设备的自识别字段(例如供应商 ID 和产品 ID)通知系统应该为设备加载哪种驱动程序。
但我怎么知道芯片组呢?一个司机可能覆盖多个芯片组, 正确的?
因此,我的设备很可能使用该特定驱动程序涵盖的多种芯片组之一。
我发布的示例输出让我认为我的设备可能是一个rtl8812au
芯片组,考虑到它的驱动程序的命名如此具体。
但是RT2800USB驱动真的让我很感兴趣。它涵盖了如此广泛的芯片组。如果我的系统显示rt2800usb
司机正在加载,我觉得芯片组是什么不太清楚。
有什么办法可以真的知道我的设备的特定芯片组,而无需以某种方式打开设备并检查芯片?