wifi AP驱动移植与使用
2016-10-09 14:28
405 查看
环境:
主机:ubuntu14.04设备:hisi3520d
交叉编译器:arm-hisiv100nptl-linux-gcc
kernel:3.0.8
wifi模块:mt7601
移植详解:
1)解压驱动文件包修改目录下的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
2)编译:#make ARCH=arm
3)复制RT2870AP.dat到目标板的/etc/RT2870AP目录下, mt7601Uap.ko到设备任意位置,加载驱动#insmod /mt7601Uap.ko
因为mt7601驱动本身不支持ieee80211协议,所以在管理wifi热点信息(ssid,key...)时,不使用网上通用的hostapd软件包,直接通过RT2870AP.dat文件直接配置。
4)启用无线网卡ifconfig ra0 192.168.xx.xx #手机可以搜索到wifi但是链接不上
5)启用dhcp服务程序,如果设备上不带dhcp请自行下载dhcp移植编译或通过busybox编译,这里不详细讲解,udhcpd -f /var/udhcpd.conf&
其中udhcpd.conf配置文件如下:
start 192.168.200.2 #wifi分配起始ip地址
end 192.168.200.254 #wifi分配结束ip地址
interface ra0 #网卡名称
opt dns 210.21.196.6 #DNS,如果不能访问外网一般是DNS错误
opt router 192.168.200.1
opt subnet 255.255.255.0
6)启动iptables 实现eth0的流量共享,如果设备上不带iptables工具,请自行移植。
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o ra0 -m state --state RELATED,ESTABLISH -j ACCEPT
iptables -A FORWARD -i ra0 -o eth0 -j ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
共享wifi AP 热点流程:
insmod /mt7601Uap.koifconfig eth0 192.168.1.112 #设备设置本地有线网络,该网络应该具有访问外网能力
route add default gw 192.168.1.1 #添加网关
ping www.baidu.com,如果成功继续往下执行,不成功则需要先检测你设备的本地网络功能(主要是DNS)
ifconfig ra0 192.168.200.1 netmask 255.255.255.0 up
udhcpd -f /var/dvr/udhcpd.conf &
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o ra0 -m state --state RELATED,ESTABLISH -j ACCEPT
iptables -A FORWARD -i ra0 -o eth0 -j ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
使用手机链接wifi,wifi热点名称和密码在RT2870AP.dat中,成功链接wifi并能访问外网。
错误记录:
1、每次在使用手机链接wifi热点访问外网时,wifi驱动异常,解决方法:替换wifi ap驱动版本2、部分手机在链接wifi热点时,能通过dhcp获取到正确的ip和dns,但是不能访问外网,需要手动设置ip方式才能访问外网,解决方案:替换dhcp的版本
参考博客:
http://blog.csdn.net/xiongzhizhu/article/details/52090995
相关文章推荐
- android 平台USB wifi驱动移植及使用
- 基于linux-2.6.38.8内核的SDIO/wifi驱动分析&&android 平台USB wifi驱动移植及使用 SDIOwifi
- openwrt15.05使用mt7620官方wifi驱动及apcli
- android 平台USB wifi驱动移植及使用
- android 平台USB wifi驱动移植及使用
- android 平台USB wifi驱动移植及使用 SDIOwifi
- android 平台USB wifi驱动移植及使用 SDIOwifi
- amlogic ap6210 wifi bt驱动移植
- android 平台USB wifi驱动移植及使用 SDIOwifi
- APxxx系列wifi驱动芯片移植笔记
- 基于ubuntu-2.6.35内核的SDIO-WiFi驱动移植
- 嵌入式Linux USB WIFI驱动的移植
- Android wl1271 wifi bt 驱动移植
- rt3070 wifi驱动移植
- 移植usb wifi 驱动 http://blog.csdn.net/wh_19910525/article/details/7394976
- 基于Linux-2.6.35内核的wifi驱动移植
- usb wifi 驱动移植rtl5370
- WINCE系统下2440的SDIO WIFI驱动移植笔记
- 基于ubuntu-2.6.35内核的SDIO-WiFi驱动移植使其支持WAP
- 基于FS2410的SDIO WIFI驱动移植