歡迎您光臨本站 註冊首頁

Wi-Fi的實現:wireless_tools和wpa_supplicant

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

平台為hi35XX,在Liunx下藉助wireless_tools和wpa_supplicant(因為現在的無線wifi網路大多是wpa加密。所以需要移植wpa_supplicant工具)等工具實現wifi的過程。

一、移植wireless_tools

1. 下載並編譯wireless_tools

tar zxf  wireless_tools.29.tar.gz(網上下載)

cd wireless_tools.29

make

成功後會在當前目錄生成iwspy,iwpriv,iwlist以及iwconfig等文件。

2. 拷貝文件

我們只需將這四個文件拷備到文件系統的sbin目錄,然後將當前目錄的libiw.so.29庫文件拷到文件系統的lib目錄,無線網路工具即安裝完成。

二、載入無線網卡驅動模塊

網上有很多無線驅動模塊,可移植性很好。呵呵,我的是利用XX無線網卡公司提供的網卡驅動源碼,修改下Makefile(1.網卡選擇 2.平台  3.內核路徑和工具鏈)以及os/linux下的config.mk(一般不需要修改),make得到的。

insmod rtutil5572sta.ko。

    insmod rt5572sta.ko

    insmod rtnet5572sta.ko

三、指令的使用

1.  掃描可用的無線網路

iwlistwifi-name scanning

其中wifi-name為無線網卡的名字,比如網卡eth0就是系統默認的網卡名字, wifi-name可以用ifconfig查看,一般為ra0(無線網卡),不過,需要ifconfig ra0 up。

2.  掃描網路信息

iwlistra0 scan

===>rt_ioctl_giwscan.11(11) BSS returned, data->length = 1427

ra0      Scan completed :

Cell 01 - Address:C4:CA:D9:1D:9E:A0

Protocol:802.11b/g/n

ESSID:""

Mode:Managed

Frequency:2.412 GHz(Channel 1)

Quality=7/100  Signal level=-87 dBm  Noise level=-82 dBm

Encryption key:off

Bit Rates:54 Mb/s

如上:ESSID項的值即為無線網路的名字,如上的“TXJ”等。如果值為空,說明在無線路由勾選了隱藏ESSID的選項。ESSID是很關鍵的,如果被隱藏了,也不是不能連接,而是需要破解,用到其他的工具,非常麻煩。

3. 設置要連接的網路類型

iwprivra0 set NetworkType=Infra

4. 設置要連接的無線網路的安全模式

iwprivra0 set AuthMode=WPA2PSK

5. 設置網路加密方式:(CCMP即為AES)

iwprivra0 set EncrypType=TKIP

6. 設置連接時的密碼

iwprivra0 set WPAPSK=*******  //********為加密網路的密碼

7. 連接該網路:有兩種方式:

<1> 用iwpriv命令

iwpriv ra0 set SSID=TXJ

<2> 用iwconfig命令

iwconfigra0 essid TXJ

至此,如果密碼正確,就可以連接上網路TXJ了。

8. 查看狀態

iwpriv ra0 connStatus

當然,你也可以用iwconfig命令查看狀態。



[火星人 ] Wi-Fi的實現:wireless_tools和wpa_supplicant已經有1136次圍觀

http://coctec.com/docs/net/show-post-68166.html