• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

linux 驱动卸载失败解决办法

前功尽弃 2021-04-23 浏览量:1246
请教一下,在写linux驱动时,经常写错,导致驱动加载后无法卸载,(rmmod卸载失败)这个时候应该怎么办?感觉每次都重启很麻烦,各位有没有更好的办法
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 解决方案: 
    第一步、在/lib/modules/目录中建立与当前内核版本号一致的目录 如 uname -r 得到 2.6.31.6则mkdir -p /lib/modules/2.6.31.6 否则会出现“rmmod: chdir(2.6.31.6): No such file or directory”类似的错误,而模块也没有被卸载; 


    第二步、在驱动模块卸载函数__exit中的cdev_del(struct cdev *)函数调用后即注销字符设备后调用 unregister_chrdev_region(dev_t devno  unsigned count)函数释放在驱动加载函数__init中通过register_chrdev_region、alloc_chrdev_region,注册的主设备号。(cdev_del函数、unregister_chrdev_region函数缺一不可); 
    • 发布于 2021-04-28
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 不要写成内核驱动,写成驱动模块,加载与卸载就会很方便,只要记得你的名字,就可以操作的。
    • 发布于2021-05-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个名字只用设置一次,你没事儿改名字干什么啊,确定好了不要修改了,名字就不会错了
    • 发布于2021-05-12
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

linux 驱动卸载失败解决办法