詳解USB無線網卡的Linux驅動移植
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
(7) ping測試
ping測試時需要加c參數控制ping次數,否則會一直不停測試,并且無法kill。
[root@(none) tmp]# ping c 2 172.16.51.9
PING 172.16.51.9 (172.16.51.9): 56 data bytes
64 bytes from 172.16.51.9: icmp_seq=0 ttl=64 time=1.4 ms
64 bytes from 172.16.51.9: icmp_seq=1 ttl=64 time=0.7 ms
---172.16.51.9 ping statistics 勃勃
2 packets transmitted, 2 packets received, 0% packet loss
roundtrip min/avg/max=0.7/1.0/1.4 ms
3 討論
在USB無線網卡驅動移植過程中,將主要的文件netdevice.h、wireless.h、iw_handler.h、dev.c等進行替換后,內核已經能編譯成功。將內核下載并重啟開發板后,加載驅動成功,并能利用iwlist搜索到周邊的WLAN網絡。在利用iwconfig給驅動指定SSID時iwconfig引起內核崩潰。初判原因不應為wirelesstools程序。加入ip.h、icmp.h socket.h等文件后iwconfig指定SSID成功。最后進行ping測試時,出現ping 127.1和本機IP均失敗的情況。使用strace跟蹤ping執行過程,發現recvfrom()函數參數傳遞錯誤,替換neighbour.c af_netlink.c等文件后ping 127.1成功。
若系統內核升級到Linux 2.6.30,驅動能編譯通過,但只要一發出ifconfig命令,內核即崩潰。即使高版本內核在移植時也有問題,這些問題需要進一步研究。
評論