红联Linux门户
Linux帮助

LINUX驱动学习:加载模块时出现Device or resource busy的解决方法

发布时间:2008-04-17 15:59:17来源:红联作者:Buyto
在编译好globalmem驱动模块后,通过insmod加载模块时发现以下错误提示:

linux-olyaim:/usr/src/source/globalmem # insmod globalmem.ko

insmod: error inserting 'globalmem.ko': -1 Device or resource busy

因为是刚开始学LINUX驱动程序,又是通过VMware安装的LINUX操作系统。怀疑是操作系统的问题,后来仔细想想,既然模块都编译通过了,那系统应该是没有什么问题。

就在心灰意冷的情况下敲了一条以下命令:linux-olyaim:/usr/src/source/globalmem # cat /proc/devices

Character devices:

1 mem
2 pty
3 ttyp
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
6 lp
7 vcs
10 misc
13 input
21 sg
29 fb
128 ptm
136 pts
180 usb
189 usb_device
254 vmci

Block devices:
1 ramdisk
2 fd
7 loop
8 sd
9 md
22 ide1
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp

突然想起globalmem程序中设定的主设备号也是254,和上面的vmci应该有冲突。所以加载时才出现上面的提示。

解决方法:更换一个上表未使用的的主设备号,或者直接让系统自动分配。
文章评论

共有 5 条评论

  1. 于 2013-12-05 16:01:08发表:

    感谢楼主,确实有用啊

  2. liyushu 于 2009-12-11 13:48:06发表:

    when i use "rmmod", the system say :"Device or resource busy" , it's not this situtation . thank also .

  3. chris078426 于 2008-10-13 10:17:36发表:

    (hl):hao

  4. ppb0320 于 2008-10-12 15:12:58发表:

    靠,我也遇见这个问题了
    和楼主的情况一模一样,也是在虚拟机上,想破脑袋想得郁闷也没解决
    还好看见楼主的帖子,茅塞顿开
    驱动开发的学习还刚上路,要学的东西还是很多啊

  5. gongji110 于 2008-04-17 16:19:27发表:

    小问题,但是却值得我们注意。