[問題] 修改Madwifi的Module (insmod傳入參數的問題)

看板Linux作者時間15年前 (2010/05/11 00:53), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
這個問題不知道po在這裡合不合適? 如果不合適請寄站內信告知... --- 我沒有寫過Linux Kernel Programming (Kernel新人), 不過因為實驗所需, 我試著修改Madwifi的SampleRate演算法的模組,也就是ath_rate_sample。 我修改了madwifi/ath_rate/sample/sample.c這個檔案, 希望可以runtime從終端機傳入參數來改變模組的功能。 例如定一個叫做myint的變數,希望可以做到: if (myint==1) {...} else if (myint==2) {...} else {...} //myint是希望可以從Terminal改變它的值 查了很久發現module_param + insmod可以做到這件事情。 http://blog.roodo.com/seanlin226/archives/3885605.html 所以我在sample.c裡面的#include串之後寫了 static int myint=9; module_param(myint,int,0); 重新make和make install之後,在sample的資料夾下, 因為我不確定要如何操作到剛剛寫完的sample.c,所以我試著輸入 1. insmod ath_rate_sample.ko myint=5 -> insmod: error inserting 'ath_rate_sample.ko': -1 File exists 2. insmod ./ath_rate_sample.ko myint=5 -> insmod: error inserting 'ath_rate_sample.ko': -1 File exists 3. insmod ath_rate_sample myint=5 -> insmod: can't read 'ath_rate_sample': No such file or directory 4. insmod sample.o myint=5 -> insmod: error inserting 'sample.o': -1 Invalid module format 我個人認為是1.或2.最合理啦(ath_rate_sample.ko),不過它卻會顯示-1 File exists, Google了很久也找不出是為什麼, 請問有沒有人知道我是哪裡做的不對呢? 問題有點長,希望有人可以幫幫初學者小弟解惑。 感謝再感謝!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.42.171

05/11 01:18, , 1F
好像比較常見透過sysfs做模組參數,要不要試試看?
05/11 01:18, 1F

05/11 03:21, , 2F
好的謝謝你 我研究看看:)
05/11 03:21, 2F

05/11 12:11, , 3F
先rmmod?
05/11 12:11, 3F

05/12 00:27, , 4F
先rmmod是可以 不過只能在載入模組時改變
05/12 00:27, 4F

05/12 00:29, , 5F
/sys/module/module_name/parameter/variable_name可改
05/12 00:29, 5F
文章代碼(AID): #1Bw3eKcP (Linux)