开发板支持wifi

参考网址: http://wangye.org/blog/archives/845/  

             http://blog.csdn.net/lme525/article/details/37762519

      http://blog.sina.com.cn/s/blog_6e228288010153uq.html

 

 通过命令启用hostapd热点时,需要将手机设置为静态ip才能认证通过

 

参照以下方法:

wpa_supplicant 和hostapd可能需要 openssl libnl 所以需要先交叉编译这两个工具

 

1)

 openssl-1.0.2e 交叉编译方法

 tar -xf openssl-1.0.2e.tar.gz

 cd openssl-1.0.2e

 AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib CC=mipsel-linux-gcc /usr/bin/perl ./Configure shared linux-generic32 --prefix=/home/loongson/tools/wpa_supplicant/install

 make 

 make install

 

 说明:

 AR/RANDLIB/CC 环境变量 是确保Makefile中使用mipsel-linux 系列工具

 /usr/bin/perl ./Configure  表示执行perl脚本 

 Configure 注意第一个字母是大写

 shared 表示要编译动态库,

 linux-generic32 表示生成目标平台名称

 --prefix 指明安装目录.

 

2)

 libnl-1.1.4 交叉编译方法

 tar -xf libnl-1.1.4.tar.gz

 ./configure --prefix=/home/loongson/tools/wpa_supplicant/install CC=mipsel-linux-gcc --host=mips

 make

 make install

 

 说明:

 libnl的最新版本是libnl-3.x 但是在编译wpa_supplicant时需要用到某个头文件,只有libnl-1.1.4提供,所以使用libnl-1.1.4

 

3)

 wpa_supplicant-2.5 交叉编译方法

 tar -xf wpa_supplicant-2.5.tar.gz

 cd wpa_supplicant-2.5/wpa_supplicant

 创建配置文件:cp defconfig .config

 修改配置文件.config :

  CFLAGS += -I/home/loongson/tools/wpa_supplicant/install/include

  LIBS += -L/home/loongson/tools/wpa_supplicant/install/lib

  LIBS_p += -L/home/loongson/tools/wpa_supplicant/install/lib

  LIBS_c += -L/home/loongson/tools/wpa_supplicant/install/lib

  CC = mipsel-linux-gcc

 

  CONFIG_TLS=openssl

  

 make

 

4)

 最后把编译出来的 wpa_cli wpa_supplicant wpa_passphrase 复制到开发板的根文件系统

 把/home/loongson/tools/wpa_supplicant/install/lib/目录下的 libcrypto.* libnl.* libssl.*库文件复制到开发板的根文件系统 的/lib下

 

5)

无线网卡配置例子

 /* 无线网卡设置 */

 wpa_passphrase "Loongson-Product" loongson425 > /tmp/supplicant.conf

 ifconfig wlan0 up

 wpa_supplicant -B -Dwext -iwlan0 -c /tmp/supplicant.conf

 udhcpc -b -i wlan0

 

 ifconfig wlan0 192.168.2.144

 route add default gw 192.168.2.1

 

 ping 192.168.2.1

 

自动获取ip

  从Busybox的examples/udhcp/下复制 simple.script文件到开发板/usr/share/udhcpc/下,并重命名为default.script,然后更改文件default.script的权限,

  chmod a+x default.script

 

  wpa_passphrase "Loongson-Product" loongson425 > /tmp/supplicant.conf

  wpa_supplicant -B -Dwext -iwlan0 -c /tmp/supplicant.conf

  udhcpc -i wlan0

 

6)

  hostapd 交叉编译方法

  tar -xf hostapd-2.5.tar.gz

  cd hostapd-2.5/hostapd

  cp defconfig .config

  修改.config文件,添加

   CFLAGS += -I/home/loongson/tools/wpa_supplicant/install/include

   LIBS += -L/home/loongson/tools/wpa_supplicant/install/lib

   LIBS_p += -L/home/loongson/tools/wpa_supplicant/install/lib

   LIBS_c += -L/home/loongson/tools/wpa_supplicant/install/lib

   CC = mipsel-linux-gcc

 

   CONFIG_DRIVER_WIRED=y

   CONFIG_TLS=openssl

  

  make

  生成hostapd和hostapd.conf文件,复制到开发板的根文件系统,库文件同wpa_passphrase

  

  1.

  hostapd.conf放到开发板根文件系统的/etc目录下

  把原来hostapd.conf文件的内容清空,hostapd.conf配置文件修改如下

  

interface=wlan0

driver=nl80211

ssid=DMF_WiFi

channel=3

hw_mode=g

ignore_broadcast_ssid=0

auth_algs=1

wpa=3

wpa_passphrase=87654321

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP

  

  2.

  从busybox的examples/udhcp/下复制 udhcpd.conf文件到开发板根文件系统的/etc目录下

  udhcpd.conf配置文件根据实际使用修改,如

  start192.168.0.20

  end192.168.0.254

  interfacewlan0

  optdns192.168.10.2 192.168.10.10

  optionsubnet255.255.255.0

  optrouter192.168.10.2

  optwins192.168.10.10

  一般修改这几个就可以

  

  3.

  开发板的根文件系统的/var/lib/misc/目录下添加 udhcpd.leases文件,udhcpd在执行的时候可能会提示没有一个叫做udhcpd.release的租赁文件,这个只要在相应的文件夹下创建即可

  

  4.

  最后执行

  hostapd -B /etc/hostapd.conf

  ifconfig wlan0 192.168.0.1 netmask 255.255.255.0   (先把要接入点设备设置好,否则其他无线网卡接入到该ap时会分配不到地址)

  udhcpd /etc/udhcpd.conf

 

则可以实现wifi热点的启用

 

要实现开发板wifi_ap访问外网,则需要以下操作:

开发板eth1连接路由器,路由器可以访问外网,路由器网关是:192.168.2.1 DNS:192.168.1.1

 

1) 

 首先使开发板的eth1可以访问外网

 自动获取ip

 udhcpc -i eth1

 ping www.baidu.com

 ping通,说明可以访问外网

 

2)

 wifi设置为ap模式,这里使用的是rt3070的usb wifi

 hostapd -B /etc/hostapd.conf

 ifconfig wlan0 192.168.0.1 netmask 255.255.255.0   (先把要接入点设备设置好,否则其他无线网卡接入到该ap时会分配不到地址)

 udhcpd /etc/udhcpd.conf

 

 hostapd.conf配置文件内容:

interface=wlan0

driver=nl80211

ssid=DMF_WiFi

channel=3

hw_mode=g

ignore_broadcast_ssid=0

auth_algs=1

wpa=3

wpa_passphrase=87654321

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP

 

 udhcpd.conf配置文件内容(修改的部分):

start192.168.0.20

end192.168.0.254

interfacewlan0

optdns192.168.2.1 192.168.2.1  #这里是路由的网关地址?不是DNS:192.168.1.1?

optionsubnet255.255.255.0

optrouter192.168.0.1

optwins192.168.0.1

 

3)

 设置iptables wlan0的访问转发到eth1

 iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

 iptables -A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISH -j ACCEPT

 iptables -A FORWARD -i wlan0 -o eth1 -j ACCEPT

 echo 1 > /proc/sys/net/ipv4/ip_forward

 

文档的下载及文件下载:http://pan.baidu.com/s/1ntsvbb7#path=%252Floongson1%252Ftools%252Fwifi

 

posted @ 2016-03-08 10:06  cogitoergosum  阅读(605)  评论(0编辑  收藏  举报