天天看點

海思3518E開發筆記5.2——MT7601U網卡STA模式移植前言STA模式USB-WIFI的驅動移植與部署移植wpa_supplicantSTA模式USB-WIFI的ORTP視訊傳輸測試ORTP視訊傳輸測試無限調試環境搭建

目錄

  • 前言
  • STA模式USB-WIFI的驅動移植與部署
    • 源碼修改
    • 驅動部署
  • 移植wpa_supplicant
    • 移植openssl
    • 移植wpa_supplicant
  • STA模式USB-WIFI的ORTP視訊傳輸測試
  • ORTP視訊傳輸測試
  • 無限調試環境搭建

前言

  • HI2518E+WIFI做STA,PC做STA,外部路由器做AP,實作區域網路内ortp視訊傳
  • HI2518E+WIFI做STA,PC做STA,外部路由器做AP,實作區域網路全程無線調試

STA模式USB-WIFI的驅動移植與部署

源碼修改

參考上一篇

修改

Makefile

的plantform、linux裝置樹位址、plantform對應交叉編譯、驅動儲存位址

修改

os/linux/config.mk

修改

include/rtmp_def.h

然後編譯

驅動部署

從共享檔案夾中将

mt7601Usta.ko

RT2870STA.dat

複制到開發闆目錄下

此時先不用修改

RT2870STA.dat

中的參數,後續配合wpa_supplicant進行修改

在AP模式時,需要修改,因為AP模式是向外廣播自己的源

裝載新ko的時候需要将之前AP模式的KO解除安裝,否則報錯

移植wpa_supplicant

(1)下載下傳wpa_supplicant、openssl(因為wpa_supplicant依賴于openssl)

  • http://hostap.epitest.fi/wpa_supplicant/,下載下傳wpa_supplicant-2.5.tar.gz
  • ftp://ftp.openssl.org/source/old/0.9.x/,下載下傳openssl-0.9.8za.tar.gz

移植openssl

用于ssl驗證,有很多地方會用到

(1)給openssl打更新檔

  • 把wpa_supplicant-2.5裡面的patches檔案夾下的openssl-0.9.8za-tls-extensions.patch檔案拷貝到openssl-0.9.8za目錄下,運作:

    patch -p1 < openssl-0.9.8za-tls-extensions.patch

(2)修改openssl-0.9.8za目錄下的Makefile

CC=arm-hisiv300-linux-gcc
AR=arm-hisiv300-linux-ar $(ARFLAGS)  r
AD=arm-hisiv300-linux-ar $(ARFLAGS)  d
RANLIB=arm-hisiv300-linux-ranlib
INSTALLTOP = /tmp/openssl(/tmp目錄重新開機之後就沒有,适合臨時一次使用)
OPENSSLDIR = /tmp/openssl
           

(3)make,然後make install

(4)make install時報錯,因為OpenSSL 與 perl版本不相容,解決方法:rm -f /usr/bin/pod2man

****Expected text after =item, not a number
****Expected text after =item, not a number
****Expected text after =item, not a number
****Expected text after =item, not a number
           

(5)安裝好後,在/tmp/openssl目錄有諸多檔案,我們需要的是lib和include。

海思3518E開發筆記5.2——MT7601U網卡STA模式移植前言STA模式USB-WIFI的驅動移植與部署移植wpa_supplicantSTA模式USB-WIFI的ORTP視訊傳輸測試ORTP視訊傳輸測試無限調試環境搭建

移植wpa_supplicant

(1)解壓并進入下面的目錄

~/wpa_supplicant-2.5/wpa_supplicant
           

(2)在此目錄下執行cp defconfig .config

(3)修改.config,增加以下内容

CC=arm-hisiv300-linux-gcc -L/tmp/openssl/lib
CFLAGS+=-I /tmp/openssl/include
LIBS+=-L/tmp/openssl/lib
           

(4)執行make,如果報錯如下:

driver_nl80211.c:17:31: fatal error: netlink/genl/genl.h

則進入wpa_supplicant目錄下.config ,将CONFIG_DRIVER_NL80211=y 注釋掉。

(5)執行make,生成wpa_supplicant、wpa_cli,則移植成功完成。

海思3518E開發筆記5.2——MT7601U網卡STA模式移植前言STA模式USB-WIFI的驅動移植與部署移植wpa_supplicantSTA模式USB-WIFI的ORTP視訊傳輸測試ORTP視訊傳輸測試無限調試環境搭建
  • wpa_supplicant 伺服器端
  • wpa_cli用戶端。

這是linux底下運用指令行管理無線網絡的方式。

STA模式USB-WIFI的ORTP視訊傳輸測試

部署前确定sta的驅動和配置檔案放在

/etc/Wireless/RT2870STA/RT2870STA.dat

1、部署wpa_supplicant

(1)将wppa_cli丢到開發闆/usr/bin目錄

  • 出現闆載系統容量不足的問題……使用df -h 檢視空間使用情況。由于不熟悉哪些檔案可以删除,我直接通過/mnt/通路,後面遇到問題再處理。

(2)在闆載系統上,建立

/etc/wap_supplicant.conf

并配置内容如下:(可在虛拟機寫好拷貝進去的,如果直接複制的haunt,記得每行前面的空格去掉。

ctrl_interface=/var/run/wpa_supplicant

network={
ssid="A209"//目前我房間的無線路由器的網絡名字
scan_ssid=1
key_mgmt= WPA-EAP WPA-PSK IEEE8021X NONE//加密方式
pairwise=TKIP CCMP
group=CCMP TKIP WEP104 WEP40
psk="12345678"//路由器的密碼
}
           

2、STA模式USB-WIFI的設定

(1)安裝驅動 insmod mt7601Usta.ko

(2)設定靜态IP位址(注意要與實際路由器的位址段一緻)

  • 因為沒有移植DHCP是以這裡設定靜态IP。

    ifconfig wlan up, ifconfig ra0 192.168.43.233

    這個闆子的靜态ip之是以這樣設定,是因為查詢我房間的無線網絡資訊得知網段是192.168.43.xx,由于xx自動配置設定是從小開始,是以我這裡設定一個比較大的233,以防止和其他的沖突。

(3)開發闆作為STA,連接配接AP (-dd打開調試資訊)

使用指令

wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -dd &

& 符号表示讓其工作在背景。這行指令表示讓wpa_supplicant 工作起來。

(4)檢視連接配接狀态

使用指令

wpa_cli -i wlan0 status

海思3518E開發筆記5.2——MT7601U網卡STA模式移植前言STA模式USB-WIFI的驅動移植與部署移植wpa_supplicantSTA模式USB-WIFI的ORTP視訊傳輸測試ORTP視訊傳輸測試無限調試環境搭建

(5)測試連接配接效果

ping 192.168.2.1 (網關AP,即路由器的IP)

如果想上網,先添加網關資訊,即路由器的IP,使用指令

route add default gw 192.168.2.1 dev wlan0

測試ping 8.8.8.8(google的dnw server)。

因為沒有添加DNS,是以不能直接類似ping www.baidu.com.cn這種形式。

ORTP視訊傳輸測試

(1)在mpp/sample/common/sample_common_ven.c,修改LOCAL_HOST_IP 為192.168.2.13(pc接入時自動配置設定的IP)

(2)編譯得到sample并到開發闆運作,如果虛拟機重新開機過,要在ortp源碼那再make install,確定tmp中有ortp

(3)修改sdp中c=IN IP4 192.168.2.233,打開sdp播放。

無限調試環境搭建

1、原理

  • (1)ubuntu與Windows橋接,這樣ubuntu、windows、開發闆三者都做STA,連接配接同一個AP。
  • (2)開發闆事先移植部署好USB WIFI驅動、wpa_supplicant等。
  • (3)開發闆/etc/profile中設計好配置WIFI啟動、連接配接AP、靜态IP等。
  • (4)開發闆/etc/profile中設定讓開發闆通過無線mount虛拟機

2、實戰

  • (1)先确認開發闆部署好USB-WIFI驅動、wpa_supplicant工具。
  • (2)sample放到虛拟機ubuntu的共享檔案夾中。
  • (3)開發闆/etc/profile中做好各種配置。
  • (4)設定ubuntu橋接到windows的無線網卡,并給ubuntu設定靜
  • (5) 開發闆重新開機,看是否能成功挂載。
ifconfig lo 127.0.0.1
#ifconfig eth0 192.168.2.111

cd /ko
./load3518e -i -sensor ar0130 -osmem 32 -total 64 &
cd -

insmod /etc/mt7601Usta.ko
ifconfig wlan0 up
ifconfig wlan0 192.168.2.233
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -dd &
route add default gw 192.168.2.1 dev wlan0
sleep2
mount -t nfs -o nolock 192.168.2.84:/home/test/nfsShare /mnt