開發環境:
開發板:hisi3520d
核心linux3.0.8
交叉編譯器:arm-hisiv100nptl-linux-gcc
wifi模組:rt5572和mt7601
在介紹wpa_supplicant工具前,需要先介紹一下它和wireless-tool的差異:
wpa_supplicant是乙個最好的選擇,但缺點是它不支援所有的驅動。
wireless-tools支援幾乎所有的無線網絡卡和驅動,但它不能連線到那些只支援wpa的ap。
第一步:編譯驅動
修改makefile(指定平台型別和相應平台型別下的核心與交叉編譯器):
platform = pc
ifeq ($(platform),pc)
linux_src_module = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
linux_src = /home/hi3520d_sdk_v1.0.3.0/osdrv/kernel/linux-3.0.y
cross_compile = arm-hisiv100nptl-linux-
endif
修改os/linux/config.mk(新增wpa支援)
has_wpa_supplicant=y
has_native_wpa_supplicant_support=y
編譯驅動程式:#make arch=arm
第二步:交叉編譯wpa-supplicant工具
第一步編譯openssl-0.9.8e
把wpa_supplicant-2.2裡面的patches資料夾下的openssl-0.9.8e-tls-extensions.patch檔案拷貝到openssl-0.9.8e目錄下,執行:
pathc–p1
第二步編譯wap-supplicant2.2
wpa_supplicant目錄,首先執行cp defconfig .config 拷貝生成編譯配置,新增一下配置
cc=arm-hisiv100nptl-linux-gcc
cflags += -i/home/openssl-0.9.8e/demo/include
libs += -l/home/openssl-0.9.8e/demo/lib
libs_p += -l/home/openssl-0.9.8e/demo/lib
執行#make 編譯生成3個檔案wpa_supplicant, wpa_cli, wpa_passphrase
第三步 生成有效的wpa配置檔案
ctrl_inte***ce=/var/ra0
eapol_version=1
ap_scan=1
network=
wep方式鏈結熱點:
network=
無密碼訪問熱點:
network=
第四步基於rt5572模組和mt7601模組鏈結wifi熱點
測試流程如下:
#insmod ***x.ko 載入驅動
#ifconfig -a 檢視無線網絡卡
#ifconfig ra0 up 開啟對應的無線網絡卡ra0
#iwlist ra0 scan 掃瞄wifi熱點
#./wpa_supplicant -dwext -ira0 -c/var/wpa_supplicant.conf -dd&
-i為wifi
裝置,-c
指定wpa_supplicant
配置檔案(wifi路由器設定為不同的協議採用不同的配置檔案) -dd開啟除錯資訊
# udhcpc -b -i ra0 自動獲取ip(udhcpc需要自己移植)
#ping www.baidu.com ping外網,如果能ping通外網就成功了
測試發現bug:
模組不支援wpa2-psk方式鏈結熱點
解決方法:將wpa_supplicant的版本換成0.6.10的版本
rt5572不支援wpa-psk方式鏈結熱點
解決方法:將rt5572的驅動包換成2012_03_22_rt5572_linux_sta_v2.6.0.0_dpo版本
上訴三種配置檔案,經測試發現支援所用常用的wifi配置,wifi配置介面如下,紅色橢圓為支援協議型別,綠色矩形為支援下拉框內的,任何認證型別與加密演算法的搭配,這些涵蓋了常用wifi設定所用方式。
wifi AP驅動移植與使用
主機 ubuntu14.04 裝置 hisi3520d 交叉編譯器 arm hisiv100nptl linux gcc kernel 3.0.8 wifi模組 mt7601 1 解壓驅動檔案包修改目錄下的makefile檔案,指定核心路徑和交叉編譯器位置 platform pc ifeq plat...
wif的移植操作和wpa加密 my
vt6656 linux src v1.20.05 x86 make c work hi3515 sdk hi3515 sdk v1.0.5.0.c1 pub kbuild full rel m pwd modules 一 vt6656 2.解壓複製到linux系統中。3.進入該資料夾的driver...
Alsa驅動移植
華清遠見嵌入式學院講師。二 預設情況下核心已經支援alsa驅動,保險情況下先去確認一下,如下圖 device drivers sound card support advanced linux sound architecture alsa for soc audio support soc aud...