首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改/重新加载现有Linux驱动程序的最快方法

修改/重新加载现有Linux驱动程序的最快方法
EN

Stack Overflow用户
提问于 2012-07-31 15:16:12
回答 2查看 9.2K关注 0票数 1

我正在尝试了解USB Wi-Fi适配器的现有Linux Wi-Fi驱动程序。虽然我可以阅读C代码,但我也希望能够在驱动程序中的某些临界点插入调试/打印语句,以查看它在执行时的行为。在Linux系统上,修改驱动程序代码后,如何将其加载到内核中,以替换旧的驱动程序?有没有一种方法可以直接在旧驱动程序上“热插拔替换”它,或者比这更复杂?

我打算在一个可扩展的虚拟机中做这件事,所以我不担心弄乱原来的驱动程序,因为它很重要。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-31 18:25:35

如果驱动程序被编译为一个模块,所有你需要做的就是添加你的调试打印输出,编译模块,rmmod原始模块,insmod你的新模块,并像往常一样启动无线局域网连接。

票数 1
EN

Stack Overflow用户

发布于 2013-06-06 02:08:28

如果您想要动态测试和编辑:

  • lsmod要找到name
  • rmmod it的模块,请编辑
  • ,确保你得到了一个Makefile:obj-m := module_name.o
  • recompile (在Ubuntu上):make -C /usr/src/linux-headers-'uname -r' M='pwd' modules
  • insmod module_name.ko

如果它是一个设备模块,你可能想在/dev中对任何设备执行rm命令,然后执行一个mknod命令来重写它们(参见mknod ),最后执行chmod命令来纠正权限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11735000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档