關於RT3070(RT2870)和wpa_supplicant的使用

來源:互聯網
上載者:User

 前段時間搞了一下RT73與wpa_supplicant,調通了,無論是什麼加密方式和認證類型,RT73都可以良好的工作。可又由於RT73停產了,被迫要使用RT3070。剛開始我以為應該和RT73差不多,果不其然,用法十分接近,但是也有一點點區別的。

1.首先RT73使用的是rausb0表示的,而RT3070使用ra0表示。

2.RT3070的驅動差不多是RT73的兩倍多。

3.另外,在使用wpa_supplicant上也有點小區別,主要是wpa_supplicant版本的問題。

下面,我就說一下我的使用過程,希望可以協助到大家!

首先是驅動的編譯,從網上下了好多RT3070的驅動,都沒交叉編譯過去,只有2009_1106_RT3070_Linux_STA_V2.1.1.0.bz2這一版本的編譯過去了,呵呵!

交叉編譯過程:

1.tar -jxvf 2009_1106_RT3070_Linux_STA_V2.1.1.0.bz2

2. cd 2009_1106_RT3070_Linux_STA_V2.1.1.0

3.vi makefile

#PLATFORM: Target platform<br />#PLATFORM = PC<br />PLATFORM = 5VT<br />#PLATFORM = IKANOS_V160<br />#PLATFORM = IKANOS_V180<br />#PLATFORM = SIGMA<br />#PLATFORM = SIGMA_8622<br />#PLATFORM = INIC<br />#PLATFORM = STAR<br />#PLATFORM = IXP<br />#PLATFORM = INF_TWINPASS<br />#PLATFORM = INF_DANUBE<br />#PLATFORM = BRCM_6358<br />#PLATFORM = INF_AMAZON_SE<br />#PLATFORM = CAVM_OCTEON<br />#PLATFORM = CMPC<br />#PLATFORM = RALINK_2880

 

ifeq ($(PLATFORM),5VT)<br />LINUX_SRC = /home/Hi3511_VSSDK_V1.1.2.2/pub/kbuild-FULL_REL<br />CROSS_COMPILE = arm-hismall-linux-<br />endif

4.cd os/linux

5.vi config.mk

#ifdef WPA_SUPPLICANT_SUPPORT<br /># Support Wpa_Supplicant<br />HAS_WPA_SUPPLICANT=y<br />#endif // WPA_SUPPLICANT_SUPPORT //</p><p>#ifdef NATIVE_WPA_SUPPLICANT_SUPPORT<br /># Support Native WpaSupplicant for Network Maganger<br />HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y<br />#endif // NATIVE_WPA_SUPPLICANT_SUPPORT //

6.cd ../../common

vi rtusb_io.c:

if (ret < 0) {<br />//DBGPRINT(RT_DEBUG_OFF, ("#/n"));<br />RTMPusecDelay(5000);<br />}

否則,載入驅動後會一直列印"#",很煩!!!!!

7.cd ../../..

8.make

這時,應該就編譯通過了。在2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux目錄下產生了rt3070sta.ko,也就是RT3070的驅動了。

9.把RT2870STA.dat拷貝到/etc/Wireless/RT2870STA目錄下

載入驅動過程

insmod rt3070sta.ko

看一下列印訊息:

rtusb init ---></p><p>=== pAd = ca901000, size = 465920 ===</p><p><-- RTMPAllocAdapterBlock, Status=0<br />usbcore: registered new driver rt2870

iwconfig看一下

ra0 RT2870 Wireless ESSID:""<br /> Mode:Auto Frequency=2.412 GHz<br /> Link Quality=10/100 Signal level:-256 dBm Noise level:-143 dBm<br /> Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br /> Tx excessive retries:0 Invalid misc:0 Missed beacon:0

注意wireless_tools之前要移植到開發板上!

接下來就是wpa_supplicant的交叉編譯,這個比較麻煩,在這裡就不詳細說明了,給個網址給大家,我也是參考著做的:

http://blog.csdn.net/farsight2009/archive/2010/06/10/5660878.aspx

不過,我使用的是0.6.10這個版本,其他版本我都沒用起來!

由於這個版本比較高,上述網址中的

#cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/driver_ralink.* ./<br /> #cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/driver.h ./<br /> #cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/events.c ./<br /> #cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/wpa_supplicant.c ./<br /> #cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/wpa_supplicant_i.h ./<br /> #cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/defconfig ./<br /> #cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/drivers.c ./<br /> #cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/Makefile ./</p><p>本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/farsight2009/archive/2010/06/10/5660878.aspx

這些部分就可以略去了,不用做了,呵呵!

順利地話,就可以在wpa_supplicant-0.6.10/wpa_supplicant下產生wpa_supplicant了!接著就是把wpa_supplicant拷貝到開發板中。

關於wpa_supplicant的使用:

1.把wpa_supplicant.conf拷貝到/etc目錄下,當然要根據情況修改wpa_supplicant.conf的內容了!

這裡我提供一個我修改的模板,屢試不爽!

ctrl_interface=/var/run/wpa_supplicant<br />network={<br />ssid="XXXXXX"<br />scan_ssid=1<br />key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE<br />pairwise=TKIP CCMP<br />group=CCMP TKIP WEP104 WEP40<br />psk="XXXXXX"<br />}

其中XXXXXX要替換成相應的ssid和密碼!無論是什麼加密方式和認證類型,都搞定!WEP除外,因為WEP加密比較簡單,在後面會提到,呵呵!!!

2.mkdir -p /var/run/wpa_supplicant

3.最後就是用命令

 wpa_supplicant -B -ira0 -c /etc/wpa_supplicant.conf -Dwext

看一下超級終端的列印:

<-- RTMPAllocTxRxRingMemory, Status=0<br />-->RTUSBVenderReset<br /><--RTUSBVenderReset<br />Key1Str is Invalid key length(0) or Type(0)<br />Key2Str is Invalid key length(0) or Type(0)<br />Key3Str is Invalid key length(0) or Type(0)<br />Key4Str is Invalid key length(0) or Type(0)<br />1. Phy Mode = 9<br />2. Phy Mode = 9<br />NVM is Efuse and its size =2d[2d0-2fc]<br />3. Phy Mode = 9<br />RTMPSetPhyMode: channel is out of range, use first channel=1<br />MCS Set = ff 00 00 00 01<br /><==== rt28xx_init, Status=0<br />0x1300 = 00064300<br />/mnt $ ===>rt_ioctl_giwscan. 4(4) BSS returned, data->length = 447<br />==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)

 

這過程可能要花費幾秒鐘!

接著ifconfig一下它的ip,ping一下無線路由器,應該能ping通的。

當然,這些都是讓RT3070工作在managed模式下的,工作在ad-hoc模式下的配置跟簡單,不需要使用wpa_supplicant!

可以參考裡面的iwpriv_usage.txt進行配置,我配置了一下,發現其中有幾種情況配置不成功,這裡我把配置成功的羅列下來:

===========================================================================<br />Config STA to link with AP which is SHARED/WEP(Authentication/Encryption)<br />1. iwpriv ra0 set NetworkType=Infra<br />2. iwpriv ra0 set AuthMode=SHARED<br />3. iwpriv ra0 set EncrypType=WEP<br />4. iwpriv ra0 set DefaultKeyID=1<br />5. iwpriv ra0 set Key1="AP's wep key"<br />6. iwpriv ra0 set SSID="AP's SSID"<br />===========================================================================<br />Config STA to link with AP which is OPEN/WEP(Authentication/Encryption)<br />1. iwpriv ra0 set NetworkType=Infra<br />2. iwpriv ra0 set AuthMode=OPEN<br />3. iwpriv ra0 set EncrypType=WEP<br />4. iwpriv ra0 set DefaultKeyID=1<br />5. iwpriv ra0 set Key1="AP's wep key"<br />6. iwpriv ra0 set SSID="AP's SSID"<br />===========================================================================<br />Config STA to link with AP which is OPEN or SHARED/WEP(Authentication/Encryption)<br />1. iwpriv ra0 set NetworkType=Infra<br />2. iwpriv ra0 set AuthMode=WEPAUTO<br />3. iwpriv ra0 set EncrypType=WEP<br />4. iwpriv ra0 set DefaultKeyID=1<br />5. iwpriv ra0 set Key1="AP's wep key"<br />6. iwpriv ra0 set SSID="AP's SSID"<br />===========================================================================<br />Config STA to create/link as adhoc mode, which is OPEN/NONE(Authentication/Encryption)<br />1. iwpriv ra0 set NetworkType=Adhoc<br />2. iwpriv ra0 set AuthMode=OPEN<br />3. iwpriv ra0 set EncrypType=NONE<br />4. iwpriv ra0 set SSID="Adhoc's SSID"<br />===========================================================================<br />Config STA to create/link as adhoc mode, which is OPEN/WEP(Authentication/Encryption)<br />1. iwpriv ra0 set NetworkType=Adhoc<br />2. iwpriv ra0 set AuthMode=OPEN<br />3. iwpriv ra0 set EncrypType=WEP<br />4. iwpriv ra0 set DefaultKeyID=1<br />5. iwpriv ra0 set Key1="AP's wep key"<br />6. iwpriv ra0 set SSID="Adhoc's SSID"<br />===========================================================================<br />Config STA to create/link as adhoc mode, which is SHARED/WEP(Authentication/Encryption)<br />1. iwpriv ra0 set NetworkType=Adhoc<br />2. iwpriv ra0 set AuthMode=SHARED<br />3. iwpriv ra0 set EncrypType=WEP<br />4. iwpriv ra0 set DefaultKeyID=1<br />5. iwpriv ra0 set Key1="AP's wep key"<br />6. iwpriv ra0 set SSID="Adhoc's SSID"<br />===========================================================================<br />Config STA to create/link as adhoc mode, which is OPEN or SHARED/WEP(Authentication/Encryption)<br />1. iwpriv ra0 set NetworkType=Adhoc<br />2. iwpriv ra0 set AuthMode=WEPAUTO<br />3. iwpriv ra0 set EncrypType=WEP<br />4. iwpriv ra0 set DefaultKeyID=1<br />5. iwpriv ra0 set Key1="AP's wep key"<br />6. iwpriv ra0 set SSID="Adhoc's SSID"

 

=============================The End==============================

 

==========================================================================================================

發現做達芬奇平台有很多qq交流群,但是海思平台的QQ交流群卻很少,至少我在網上沒有找到,於是我打算建立一個。
小弟自從畢業已經搞海思的平台有2年半了,剛開始主要做上層,做過一個流媒體播放器,可以在手機上觀看即時視頻。轉向做驅動也有接近2年的時間了,想建立一個群用於交流,沒有其他什麼意思,希望志同道合的朋友們用於加入,踴躍發言!謝謝!最後註明QQ群號碼:
213622826

==========================================================================================================

 

 

 

 

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.