2012-07-31 48 views
0

我想了解USB Wi-Fi適配器的現有Linux Wi-Fi驅動程序。雖然我可以讀取C代碼,但我也希望能夠在驅動程序的某些關鍵位置插入調試/打印語句,以查看它在執行時的行爲。在Linux系統上,在修改驅動程序代碼之後,如何將其加載到內核中以便替換舊驅動程序?有沒有辦法將「hotplug替代品」直接放在舊驅動器上,還是比這更復雜?修改/重新加載現有Linux驅動程序的最快方法

我打算在一個虛擬的虛擬機裏面這樣做,所以我並不擔心會搞亂原來的驅動程序。

回答

1

如果驅動程序被編譯爲模塊,所有你需要做的是添加你調試打印輸出,編譯模塊,rmmod原來的模塊,insmod新的模塊,並啓動WLAN連接一樣。

0

如果你想測試和編輯上飛:

  • lsmod找到模塊名稱
  • rmmod
  • 編輯源
  • 讓蘇爾你有一個Makefile:obj-m := module_name.o
  • 重新編譯(在Ubuntu上):make -C /usr/src/linux-headers-'uname -r' M='pwd' modules
  • insmod module_name.ko

如果它是一個設備模塊,你可能想RM/dev中的任何設備,然後做一個mknod翻拍它們(請參閱mknod人),最後chmod糾正的權利。