You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何找到触发加载内核模块88XXau.ko的默认udev规则?

解决Edimax EW-7811UTC仅按需加载88XXau驱动模块的问题

步骤1:获取Edimax EW-7811UTC的USB设备ID

插入适配器后执行以下命令,找到对应设备的idVendor和idProduct:

lsusb

输出示例(以Edimax设备为例):

Bus 001 Device 005: ID 0846:9052 Edimax Technology Co., Ltd EW-7811UTC 802.11ac Wireless Adapter [Realtek RTL8812AU]

这里的0846是厂商ID,9052是产品ID,记下来备用。

步骤2:定位自动加载模块的规则来源

udev自动加载模块的规则通常存放在以下路径,执行命令查找包含88XXau的规则文件:

grep -r "88XXau" /lib/udev/rules.d/ /etc/udev/rules.d/
  • 如果找到对应的规则文件(比如/lib/udev/rules.d/90-rtl8812au.rules),可以将其重命名禁用:
    sudo mv /lib/udev/rules.d/90-rtl8812au.rules /lib/udev/rules.d/90-rtl8812au.rules.disabled
    
  • 如果未找到任何udev规则,说明是内核的modalias机制自动匹配加载模块,这种情况需要通过黑名单禁止自动加载。

步骤3:配置自定义udev规则与模块黑名单

3.1 禁止内核自动加载88XXau模块

创建模块黑名单文件:

sudo touch /etc/modprobe.d/blacklist-88XXau.conf

写入以下内容:

blacklist 88XXau

3.2 创建仅匹配Edimax EW-7811UTC的udev规则

创建自定义规则文件:

sudo touch /etc/udev/rules.d/99-edimax-ew7811utc.rules

写入规则(替换YOUR_VENDOR_ID和YOUR_PRODUCT_ID为步骤1获取的ID):

# 仅当插入Edimax EW-7811UTC时加载88XXau模块
SUBSYSTEM=="usb", ATTRS{idVendor}=="0846", ATTRS{idProduct}=="9052", RUN+="/sbin/modprobe 88XXau"

步骤4:应用规则并测试

  1. 重新加载udev规则:
    sudo udevadm control --reload-rules && sudo udevadm trigger
    
  2. 卸载当前加载的模块(如果已加载):
    sudo rmmod 88XXau
    
  3. 测试场景:
    • 插入其他同驱动支持的适配器,执行lsmod | grep 88XXau,模块应未加载;
    • 插入Edimax EW-7811UTC,再次执行lsmod | grep 88XXau,模块应自动加载,同时无线设备正常识别。

内容的提问来源于stack exchange,提问作者User051209

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:15:44