0%

确认 Linux 内核支持 wifi 型号列表

Linux 内核版本为 4.9.22,需要在此添加型号为 Bus 002 Device 040: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter 支持

usb wifi 型号确认

使用命令 lsusb

$ lsusb
Bus 002 Device 037: ID 1d57:fa60 Xenta
Bus 002 Device 036: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 002 Device 040: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

确认内核是否支持

Realtek 为例

Device Drivers  --->
    [*] Network device support  --->
        [*]   Wireless LAN  --->
            [*]   Realtek devices
                < >     Realtek 8187 and 8187B USB support
                < >     Realtek rtlwifi family of devices  --->
                    <*>   Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter
                    [*]   Debugging output for rtlwifi driver family
                < >     RTL8723AU/RTL8188[CR]U/RTL819[12]CU (mac80211) support

从内核配置中不能找到 RTL8188EUS 型号支持,查看内核源码进行确认

内核代码

源码路径如下 drivers/net/wireless/realtek,搜索 MODULE_DEVICE_TABLE

$ ag MODULE_DEVICE_TABLE
rtl8xxxu/rtl8xxxu_core.c
6349:MODULE_DEVICE_TABLE(usb, dev_table);

rtl818x/rtl8180/dev.c
87:MODULE_DEVICE_TABLE(pci, rtl8180_table);

rtl818x/rtl8187/dev.c
85:MODULE_DEVICE_TABLE(usb, rtl8187_table);

rtlwifi/rtl8723ae/sw.c
378:MODULE_DEVICE_TABLE(pci, rtl8723e_pci_ids);

rtlwifi/rtl8192cu/sw.c
393:MODULE_DEVICE_TABLE(usb, rtl8192c_usb_ids);

rtlwifi/rtl8723be/sw.c
382:MODULE_DEVICE_TABLE(pci, rtl8723be_pci_ids);

rtlwifi/rtl8821ae/sw.c
429:MODULE_DEVICE_TABLE(pci, rtl8821ae_pci_ids);

rtlwifi/rtl8192se/sw.c
415:MODULE_DEVICE_TABLE(pci, rtl92se_pci_ids);

rtlwifi/rtl8192de/sw.c
363:MODULE_DEVICE_TABLE(pci, rtl92de_pci_ids);

rtlwifi/rtl8192ce/sw.c
366:MODULE_DEVICE_TABLE(pci, rtl92ce_pci_ids);

rtlwifi/rtl8192ee/sw.c
364:MODULE_DEVICE_TABLE(pci, rtl92ee_pci_ids);

rtlwifi/rtl8188ee/sw.c
387:MODULE_DEVICE_TABLE(pci, rtl88ee_pci_ids);

可以看到有两种接口方式 usbpci,另外可以搜索 USB_VENDOR 0x0bda0x8179,发现内核不支持此型号

驱动

github

可以在代码中找到如下内容 MODULE_DEVICE_TABLE(usb, rtw_usb_id_tbl)probe 函数 rtw_drv_init

/*=== Realtek demoboard ===*/
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8179),.driver_info = RTL8188E}, /* 8188EUS */
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0179),.driver_info = RTL8188E}, /* 8188ETV */