如何建立一個/Proc/xxx去抓取WiFi Driver資料
(陳志宏, 2012-11-02 08:48)
1樓
請教各位,我目前有一塊開發版是用於AP Router,目前遇到瓶頸,因為在Userspace並不會顯示Client的MAC Address
我想從Kernel去抓資料,目前我已經知道WiFi Driver取得資料的Function在哪裡,但是接下來就不知道該如何繼續了?
我有想過是否可以建立一個Kernel Module在Proc/xxx裡面每隔一段時間就去抓資料呢??這樣是否可行??
還是有那方面的書籍或網站可以參考,請不吝指教.
(Mark, 2012-11-04 18:19)
2樓
1. 就如你所說的, 在 WIFI driver 裡面去 create /proc/xxx file, 讓 user space 的程式去定期 get.
2. 也可以在 WIFI driver 裡面加上一個 ioctl command, 讓 user space 程式可以用 ioctl() 去 get this value.
(joseph, 2012-11-04 22:23)
3樓
一般這都是iwpriv 取得資訊, 所以你在driver 內再另外加一個 command 就解決了 (ioctl)
-----------------------
網路上層呼叫底層Wifi Driver 的方式, 是用 Socket 來完成 另外WIFI無線 ioctl叫用
是用struct iwreq ; 這和我們上課用 struct ifreq 用在Ethernet 不太一樣..