当运行 modprobe 将模块插入内核时,我得到以下信息:
# modprobe 8192cu
FATAL: Error inserting 8192cu (/lib/modules/3.8.13-118.2.1.el6uek.x86_64/kernel/drivers/net/wireless/8192.cu.ko): Device or resource busy
无论设备插入还是未插入,都会发生这种情况。它也可能与我尝试重新安装驱动程序时看到的其他错误有关:
# rmmod 8192.cu.ko
ERROR: Module 8192cu does not exist in /proc/modules
# insmod 8192.cu.ko
insmod: error inserting `8192cu.ko`: -1 Device or resource busy
最奇怪的是,该设备甚至没有插入。它一直运行良好,直到我的 Oracle Linux(基于 Red Hat Enterprise Linux 6)重新启动。
我应该如何重新安装驱动程序并确保其正常工作?
# dmesg
rtl8192cu driver version=v4.0.2_9000.20130911
build time: Dec 2 2015 15:05:23
Error: Driver 'rtl8192cu' is already registered, aborting...
答案1
这是因为模块rtl8192cu
已经加载,这会阻止8192cu
加载。因此,首先卸载该模块:
modprobe -r rtl8192cu
现在,您可以加载新的:
modprobe 8192cu
如果有效,您可以将第一个模块列入黑名单。要将模块列入黑名单,从而防止在启动期间加载,请使用以下命令:
echo "blacklist rtl8192cu" >> /etc/modprobe.d/blacklist-rtl8192cu.conf
重新启动后,系统不应加载旧模块。