本文轉載自:RT3070wifi模塊的移植 關於無線網絡加密的一些概念 本人糅合了兩篇文章的內容。
平臺:TI dm6441, ,linux2.6.18,
wifi:RT3070
我看wifi模塊上沒有寫是鐳凌公司的,因爲公司同事是在另一個公司買的,但是當我看模塊的驅動手冊時,看到了驅動模塊是rt3070sta.ko,狗狗一下後知道了一切。於是:下載了wifi驅動。
wifi驅動是DPO_RT3070_LinuxSTA_V2[1].3.0.4_20100604.tar.bz2在鐳凌的官網上可以下載到最新驅程源碼。
一:配置內核
Make menuconfig:
Device Drivers --->
Network device support --->
Wireless LAN (non-hamradio) --->
[*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
[*] Wireless Extension API over RtNetlink
--- Obsolete Wireless cards support (pre-802.11)
< > STRIP (Metricom starmode radio IP)
< > USB ZD1201 based Wireless device support
< > IEEE 802.11 for H
不然你即使編譯好了這個模塊也不能用
二、當然是編譯模塊咯,看驅動裏面的readme,根據它來改驅動:
1、改Makefile: 裏面沒有dm6441平臺的,我看到有dm6446的,所以就在這裏改了
ifeq ($(PLATFORM),DM6446)
LINUX_SRC = /root/work/linux-2.6.18_pro500
CROSS_COMPILE=/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-
Endif
這兩個路徑一定要正確。後來我想了一下這個Makefile裏面的平臺只是指定了內核和編譯工具鏈,應該隨便改哪個平臺都是一樣的吧。
2、改os/linux/config.mk
設置CC,LD :
CC := $(CROSS_COMPILE)gcc
LD := $(CROSS_COMPILE)ld
不用修改。
3.複製.dat文件到/etc/目錄:
README上說是把RT2870STA.dat 複製到 /etc/Wireless/RT2870STA/RT2870STA.dat,
這裏的目錄要自己建。
三、用到的測試工具和庫文件。
後來我從廠家那裏拿到了他們驅動和工具。
我把廠家驅動光盤裏WF8000-U_091225/linux/usr下的bin文件cp到/usr/bin 下。注意要改權限 chmod a+x /usr/bin/* 用於測試的工具就算裝好了。
但是我把 libiw.so.29拷到/lib目錄下但是和沒拷錯誤一樣,結果拷到根目錄下成功,但是庫不能放在這裏啊,我估計要放到/usr/lib下,還沒有試。
四、測試:
查看模塊驅動裏面的iwpriv_usage.txt可知道各個命令的參數,我由於當初沒有看這裏面的東西在進入有密碼的路由器時吃了大虧,原來這裏寫的很清楚。
insmod rt3070sta.ko
ifconfig ra0 up 啓用無線網卡,至於爲什麼是ra0,因爲我的使用手冊上是這樣做的
此時cat /proc/wireless 可以看到多了一個ra0
iwlist scanning 可以搜索到可用的網絡 iwlist ra0 scanning (只搜索ra0的無線網絡)
iwpriv ra0 set SSID="name"無線網絡配置 name是搜到的一個網絡的名字。假如不要密碼這樣就行了。
iwpriv ra0 set WPAPSK="A3DDD" 輸入登陸密碼
iwconfig ra0 key open 打開密碼 輸入密碼後 一定要加這條命令哦,不然連接不上
ifconfig ra0 192.168.1.109 netmask 255.255.255.0爲無線網卡指定IP地址
設置網關 route add default gw 192.168.1.1
之後我在ubantu上ping 192.168.1.109 成功。這些命令就是所謂的工具。
在超級終端ping 外網成功。
各種密碼的命令參數,這在iwpriv_usage.txt裏面可以查到。
無密碼:
iwpriv ra0 set SSID="Vodafone D100"
注意:在切換到無密碼的用戶時,若之前是有密碼用戶,則要iwconfig ra0 key off。
關於無線網絡加密的一些概念
消費者在採購無線網路設備時,一定有看過或聽過WEP加密機制,產品的彩盒上也都會註明支持64或128bit的WEP加密(目前是面上每款產品最少都支持64位元WEP)。WEP安全協定的英文全名爲wired equivalent privacy protocol,是由Wi-Fi聯盟制定。
兩個802.11g無線網卡,對等網方式連接,用XP無線網絡來管理,設置網絡驗證方式可選:開放式、共享式、WPA-None三種。其中開放式、共享式只能選WEP加密;而WPA-None加密方式可選TKIP、AES兩類。
無線局域網概念介紹
無線局域網的英文簡稱是WLAN(Wirel Local Area Network),國內目前使用最多是802.11a/b/g。
頻道(Channel)
802.11g可兼容802.11b,二者都使用了2.4G微波頻段,最多可以使用14個頻道(Channel)。各國的規定的2.4G頻率範圍略有不
同,在中國802.11b/g可以使用1-11頻道,在同一區域可以有3個互不干擾的頻道。家用微波爐也在這一頻率範圍會對信號有影響。藍牙也在2.4G內,但藍牙功率很小因此不會有大的影響。802.11a使用了5G無線頻段,在同一區域可以有12個頻道,一些高端的迅馳網卡支持802.11a。
帶寬(bandwith)
802.11n支持在標準帶寬(20MHz)上的速率包括有(單位Mbit/s):7.2, 14.4, 21.7, 28.9, 43.3, 57.8, 65, 72.2(短保護間隔,單數據流)。使用4xMIMO時速度最高爲300Mbit/s。
802.11n也支持雙倍帶寬(40MHz),當使用40MHz帶寬和4*MIMO時,速度最高可達600Mbit/s。
802.11b: 11M,5.5M,2M,1M
802.11g: 54M,48M,36M,24M,18M,12M,9M,6M
802.11a: 54M,20M,6M
AP(Acess Point)
無線接入點,是一種網絡設備,無線網卡與AP相連,通過AP與其它網卡交換信號,AP通常還有RJ-45以太網口用以與有線網相連。簡單地說AP就象一個Hub。
Infrastructure
基礎架構通訊方式,無線網卡通過AP進行無線通訊。
Ad-Hoc
一種無線網絡通訊方式,各個網卡不經過AP直接進行點對點的通訊,當使用人比較少又沒有AP但仍然想通過無線方式交互信息時可以用Ad-hoc方式應急。
SSID(System Set ID)
SSID用來區分不同的網絡,最多可以有32個字符,如我們用的wep.net.sjtu。網卡設置了不同的SSID就可以進入不同網絡,SSID通常由AP廣播出來,通過XP自帶的掃描功能可以相看當前區域內的SSID。出於安全考慮可以不廣播SSID,此時用戶就要手工設置SSID才能進入相應的網
絡。
WEP(Wired Equivalent Privacy)有線等效保密
爲了保證數據能通過無線網絡安全傳輸而制定的一個加密標準,使用了共享祕鑰RC4加密算法,密鑰長度最初爲40位(5個字符),後來增加到128位(13個字符),有些設備可以支持152位加密。使用靜態(Static)WEP加密可以設置4個WEP
Key,使用動態(Dynamic)WEP加密時,WEP Key會隨時間變化而變化。
開放式與共享式驗證(open or
shared Authentication)
無線設備之間認證的模式,通常使用靜態WEP加密時使用共享方式,使用802.1x動態WEP加密時使用開放認證方式。
WPA(Wi-Fi Protected Access)
Wi-Fi聯盟制定的過渡性無線網絡安全標準,相當於802.11i的精簡版,使用了TKIP(Temporal Key Integrity Protocal)數據加密技術,雖然仍使用RC4加密算法,但使用了動態會話密鑰。TKIP引入了4個新算法:48位初始化向量(IV)和IV順序規則(IV
Sequencing Rules)、每包密鑰構建(Per-Packet Key Construction)、Michael消息完整性代碼(Message Integrity Code,MIC)以及密鑰重獲/分發。WPA極大提高了無線網絡數據傳輸的安全性。
802.1x認證
靜態WEP祕鑰難於管理,改變祕鑰時要通知所有人,如果有一個地方泄漏了祕鑰就無安全性可言,而且靜態WEP加密有嚴重的安全漏洞,通過無線偵聽在收到一 定數量的數據後就可以破解得到WEP祕鑰。802.1x最初用於有線以態網的認證接入,防止非法用戶使用網絡,後來人們發現802.1x用以無線網可以較
好地解決無線網絡的安全接入。802.1x的EAP-TLS通過數字證書實現了用戶與網絡之間的雙向認證,即可以防止非法用戶使用網絡,也可以防止用戶連入非法的AP。802.1x使用動態WEP加密防止WEP
Key被破解。爲解決數字證書的發放難題人們對TLS認證進行了改進產生了TTLS和PEAP,可以用傳統的用戶名口令方式認證入網。我校無線網絡的802.1x可以同時支持EAP-TLS,TTLS和PEAP。
WAPI(WLAN Authentication and Privacy Infrastructure)無線局域網認證與保密基礎架構
中國提出的一個無線網絡通訊的安全標準,國標代號GB15629.11。
Wi-Fi
是Wi-Fi聯盟(Wi-Fi Alliance)的標記,參看[url]http://www.wi-fi.org[/url]。Wi-Fi聯盟是1999年成立的非盈利性的國際組織,致力於基於802.11的無線網絡產品的互通性認證。目前擁有200家會員單位。
?WPA-PSK—Enables WPA Pre-shared key (WPA-PSK), which enables your client adapter to associate to access points using WPA-PSK.
?WPA-None—Enables WPA for your client adapter when the client is set for ad hoc mode.
wpa-none用於對等網(ad-hoc),wpa-psk用於接入點連接。
區別:
WPA supports two mutually exclusive key management types: WPA and WPA-Pre-shared key (WPA-PSK). Using WPA key management, clients and the authentication server authenticate to each other using an EAP authentication method, and the client and server generate
a pairwise master key (PMK). Using WPA, the server generates the PMK dynamically and passes it to the access point. Using WPA-PSK, however, you configure a pre-shared key on both the client and the access point, and that pre-shared key is used as the PMK.
加密強度:
WPA-AES using a radius server is better security since you then don't use a pre shared key.
But for most home users, setting up a radius server is not an option.
WPA-PSK with a pre shared key more than ~20 characters should be more secure than WEP.
preferebly using AES.
With WPA in infrastructure mode, the AP will provide you the key to encrypt/decrypt data, you can also on most AP set the timout interval when to renew the key.
With WPA-None, there is no 802.1x authenction, the key used to encrypt /decrypt is just a hash of the SSID and the password.
To me using WPA-None / TKIP isn't much better than WEP. (since both encrypt/decrypt using RC4 and the key is static)
Using WPA-None and AES should increase the security but still the key is static.
wpa是包含802.1x認證的,wpa-none則取消了這個功能。
WPA型密碼:
網上說若路由器的加密方式是wpa的話要移植wpa_supplicant工具,我沒有這樣做,還是可以。
iwpriv ra0 set NetworkType=Infra 網絡類型有Infra,Adhoc兩種,前者是基於AP的,後者是p2p
iwpriv ra0 set AuthMode=WPAPSK OPEN,SHARED,WEPAUTO,WPAPSK,WPA2PSK,WPANONE
iwpriv ra0 set EncrypType=TKIP NONE,WEP,TKIP,AES
iwpriv ra0 set SSID="Vodafone D100"
iwpriv ra0 set WPAPSK="1234567890"
WEP型密碼:
iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=OPEN
iwpriv ra0 set EncrypType=WEP
iwpriv ra0 set DefaultKeyID=1
iwpriv ra0 set Key1="1234567890"
iwpriv ra0 set SSID="Vodafone D100"
Adhoc 示例:
iwpriv ra0 set NetworkType=Adhoc
iwpriv ra0 set AuthMode=OPEN //或者 SHARED
iwpriv ra0 set EncrypType=WEP
iwpriv ra0 set DefaultKeyID=1
iwpriv ra0 set Key1="1234567890"
iwpriv ra0 set SSID="Vodafone D100"
切換用戶登陸:
直接重新輸入登陸名字和輸入密碼的命令,值得注意的是在切換有密碼和沒有密碼的用戶時要相應的iwconfig ra0 key open和iwconfig ra0 key off。
網上說若路由器的加密方式是wpa的話要移植wpa_supplicant工具,我沒有作過,看別人的http://blog.csdn.net/jimmy_1986/archive/2010/09/09/5872536.aspx
錯誤信息
PING 192.168.1.1 (192.168.1.1): 56 data bytes
ping: sendto: Network is unreachable
此原因是沒有設置ip ifconfig ra0 192.168.1.109 up 解決。
ping 219.134.65.113 外網
ping: sendto: Network is unreachable
此原因是沒有設置網關 route add default gw 192.168.1.1 解決。