主题 : 加载驱动模块时Device or resource busy的解决方法 复制链接 | 浏览器收藏 | 打印
奔跑的蜗牛……
级别: 侠客
UID: 11357
精华: 4
发帖: 69
金钱: 565 两
威望: 125 点
综合积分: 218 分
注册时间: 2009-12-04
最后登录: 2013-04-05
楼主  发表于: 2010-04-19 23:38

 加载驱动模块时Device or resource busy的解决方法

加载驱动模块时Device or resource busy的解决方法
insmod或modprobe驱动模块时Device or resource busy的解决方法

在编译好memdev驱动模块后,通过insmod加载模块时发现以下错误提示:
#insmod memdev.ko
insmod: error inserting 'memdev.ko': -1 Device or resource busy

这种情况一般都是驱动的设备号已经被系统使用了。
我回头查看memdev模块的主设备号,我定义的是254,然后查看系统设备列表。
#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

此时发现字符设别驱动的254已经被使用了。

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

另外值得注意的是,编译内核模块的时候,必须有一个已经配置好并编译过的内核源代码树。否则会出现以下错误:
  Building modules, stage 2.
/xxx/linux-2.6.29/scripts/Makefile.modpost:43: include/config/auto.conf: No such file or directory
make[2]: *** No rule to make target 'include/config/auto.conf'.
make[1]: *** [modules] Error 2
make[1]: Leaving directory '/xxx/linux-2.6.29'
make: *** [all] Error 2

解决方法:先配置编译内核源代码树,然后再编译内核模块或者驱动模块。
[ 此帖被cs2003happy在2010-04-20 15:43重新编辑 ]
Continue Study of Embedded Linux Development and Application

奔跑的蜗牛……
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-04-20 14:10
顶一个
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 9801
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2009-10-14
最后登录: 2011-04-09
2楼  发表于: 2010-07-24 16:41
谢谢啊,我也刚好做到这里遇到这个问题,谢谢你的提醒与帮助啊,呵呵!
级别: 新手上路
UID: 16718
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
综合积分: 20 分
注册时间: 2010-03-20
最后登录: 2011-05-01
3楼  发表于: 2010-07-29 20:22
刚越到这个问题就看到楼主的帖子
级别: 新手上路
UID: 44312
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2011-04-24
最后登录: 2017-01-13
4楼  发表于: 2012-05-09 14:14
我是静态加载到内核的,加载成功了,运行测试程序的时候出现:Open Device button:Device or resource busy。
怎么解决呢?
级别: 侠客
UID: 59279
精华: 0
发帖: 84
金钱: 430 两
威望: 86 点
综合积分: 168 分
注册时间: 2011-11-22
最后登录: 2012-12-04
5楼  发表于: 2012-07-15 17:15