插入模块时出错:设备或资源繁忙

插入模块时出错:设备或资源繁忙

当运行 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

重新启动后,系统不应加载旧模块。

相关内容