詳解USB無(wú)線網(wǎng)卡的Linux驅(qū)動(dòng)移植
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
(7) ping測(cè)試
ping測(cè)試時(shí)需要加c參數(shù)控制ping次數(shù),否則會(huì)一直不停測(cè)試,并且無(wú)法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無(wú)線網(wǎng)卡驅(qū)動(dòng)移植過(guò)程中,將主要的文件netdevice.h、wireless.h、iw_handler.h、dev.c等進(jìn)行替換后,內(nèi)核已經(jīng)能編譯成功。將內(nèi)核下載并重啟開發(fā)板后,加載驅(qū)動(dòng)成功,并能利用iwlist搜索到周邊的WLAN網(wǎng)絡(luò)。在利用iwconfig給驅(qū)動(dòng)指定SSID時(shí)iwconfig引起內(nèi)核崩潰。初判原因不應(yīng)為wirelesstools程序。加入ip.h、icmp.h socket.h等文件后iwconfig指定SSID成功。最后進(jìn)行ping測(cè)試時(shí),出現(xiàn)ping 127.1和本機(jī)IP均失敗的情況。使用strace跟蹤ping執(zhí)行過(guò)程,發(fā)現(xiàn)recvfrom()函數(shù)參數(shù)傳遞錯(cuò)誤,替換neighbour.c af_netlink.c等文件后ping 127.1成功。
若系統(tǒng)內(nèi)核升級(jí)到Linux 2.6.30,驅(qū)動(dòng)能編譯通過(guò),但只要一發(fā)出ifconfig命令,內(nèi)核即崩潰。即使高版本內(nèi)核在移植時(shí)也有問(wèn)題,這些問(wèn)題需要進(jìn)一步研究。
評(píng)論