linux平台 wifi 7601 porting

来源:互联网 发布:长江水利委员会知乎 编辑:程序博客网 时间:2024/06/06 10:40

目录
1.1客户需求
1.2准备资料
1.3 环境准备
1.4 porting 7601 wifi driver(commad方式)
1.4.1 insmod wifi driver
1.4.2 启动wpa_supplicant
1.4.3 扫描ap
1.4.4 获取扫描结果
1.4.5 连接ap
1.4.6 获取ip上网

1.1客户需求
通过 linux平台实现wifi上网功能

1.2准备资料
1.2.1平台
linux平台
1.2.2 Porting的wifi dongle
MTK 7601
1.2.3 需要的Source code
1)7601 wifi driver source code(mtk给予)
2)wpa_supplicant source code(mtk给予)
3) kernel source code(客户系统对应的kernel,用于build wifi driver)
4)toolchain (针对kernel及wifi driver来编译)
5)udhcpc (当wifi通过wpa_supplicant连接后,来获取ip,实现上网功能)

1.3 环境准备
1.3.1 编译各种source code
1)先build好kernel后,再针对kernel去build wifi driver。
2)Wifi driver的编译可以找mtk要编译办法
3)wpa_supplicant的linux则在当前环境下进入到wpa_supplicant目录下make
4)udhcpc这个是从busybox这个中build出来的
5)对于支持80211的wpa_supplicant,kernel中同样要开cfg80211的config,来build出对应的cfg80211.ko
6)mtk的7601 driver最新上要支持firmware_class.ko,所以还得在kernel中开对应的config去build出firmware_class.ko出来
7)wpa_supplicant的启动需要用到wpa_supplicant.conf这个config,其内容可填入如下:
ctrl_interface=/var/run/wpa_supplicant
update_config=1
8)新建一个/Customer/misc/wifi目录,用于存放wpa_suppicant.conf

1.4 porting 7601 wifi driver(commad方式)
1.4.1 insmod wifi driver
insmod cfg80211.ko
insmod firmware_class.ko
insmod mt7601Usta.ko

1.4.2 启动wpa_supplicant
1.4.3 扫描ap
wpa_cli -iwlan0 -p /var/run/wpa_supplicant scan

1.4.4 获取扫描结果
wpa_cli -iwlan0 -p /var/run/wpa_supplicant scan_results
或者直接将扫描结果存放于一下路径下:
wpa_cli -iwlan0 -p /var/run/wpa_supplicant scan_results>/dev/shm/scan_results.txt

1.4.5 连接ap
针对连接ap,分成三种,一种是WPAPSK /WPA2PSK,一种是WEP的,一种是无密码的NONE。

1.4.5.1 连接WPAPSK /WPA2PSK的ap
wpa_cli –iwlan0 add_network //因为add一个网络,第一个为0,所以下面以0的id连接
wpa_cli -iwlan0 set_network 0 scan_ssid 1
wpa_cli -iwlan0 set_network 0 ssid ‘\”SSID\”’
wpa_cli -iwlan0 set_network 0 proto ‘WPA RSN’
wpa_cli -iwlan0 set_network 0 key_mgmt WPA-PSK
wpa_cli -iwlan0 set_network 0 pairwise ‘CCMP TKIP’
wpa_cli -iwlan0 set_network 0 group ‘CCMP TKIP’
wpa_cli -iwlan0 set_network 0 psk ‘\” PASSWORD\”’
wpa_cli -iwlan0 enable_network 0
wpa_cli -iwlan0 select_network 0

1.4.5.2连接WEP的ap
wpa_cli -iwlan0 add_network
wpa_cli -iwlan0 set_network 0 ssid ‘\”SSID\”’
wpa_cli -iwlan0 set_network 0 key_mgmt NONE
wpa_cli -iwlan0 set_network 0 wep_key0 ‘\”12345\”’
wpa_cli -iwlan0 enable_network 0

1.4.5.3 连接NONE的ap
wpa_cli -iwlan0 add_network
wpa_cli -iwlan0 set_network 0 ssid ‘\”SSID\”’”
wpa_cli -iwlan0 set_network 0 key_mgmt NONE”
wpa_cli -iwlan0 enable_network 0”
wpa_cli -iwlan0 select_network 0”

1.4.6 获取ip上网
udhcpc wlan0
获取ip上网即可。

原创粉丝点击