歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下Wi-Fi的實現:wireless_tools和wpa_supplicant

Linux下Wi-Fi的實現:wireless_tools和wpa_supplicant

日期:2017/2/28 14:52:13   编辑:Linux教程

平台為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命令查看狀態。

Copyright © Linux教程網 All Rights Reserved