=============================================================
作者:guanlei <995318056@qq.com>
linux内核版本:linux-3.0
开发板:fl2440
busybox版本:busybox-1.20.2
交叉编译器版本:arm-linux
============================================================
上一篇说到fl2440使用rt3070连接自己wifi,但并非动态获取ip,本篇讲述如何动态获取ip地址
要支持动态获取ip的话,你需要在linux内核中和制作文件系统的busybox的menuconfig选中必要的选项
一: 内核部分
Networking --->
说明:若没选 Packet socket, [ * ] Network packet filtering (replaces ipchains) --->选项,在执行udhcpc命令时出现如下错误:
二:busybox部分
[*]udhcp server(udhcpd)
[*]udhcp client(udhcpc)都选上
udhcpd就是终端设备作为DHCP服务器
Networking Utilities --->
[*] udhcp client for DHCPv6 (udhcpc6)
[*] udhcp server (udhcpd) //生成udhcpc命令
make
sudo make install (过程神略)
从Busybox的examples/udhcp/下copy
chmod a+x default.script。(如果你没有在开发板上修改权限的话,是不能获取ip的,错误可能是这样的)
>: udhcpc -i wlan0
udhcpc (v1.20.2) started
Sending discover...
Sending select for 192.168.1.110...
Lease of 192.168.1.110 obtained, lease time 7200
后边啥都没了。。。。。。然而这并不是正确的!
三 连接WiFi,尝试dhcp
>: wpa_supplicant -Dwext -iwlan0 -c/apps/etc/wireless/wpa_supplicant.conf &
上面这命令是在你配置好了wpa_supplicant.conf ,启用了wlan0基础上运行的
>: udhcpc -i wlan0 //双网卡的时候指定wlan0
udhcpc (v1.20.2) started
Setting IP address 0.0.0.0 on wlan0
Sending discover...
Sending select for 192.168.1.110... //这就是分配给你的ip
Lease of 192.168.1.110 obtained, lease time 7200
Setting IP address 192.168.1.110 on wlan0
Deleting routers
route: SIOCDELRT: No such process
Adding router 192.168.1.1
Recreating /etc/resolv.conf
Adding DNS server 218.104.111.114 //配置我们的dns,在etc下的resolv.conf文件中可以看到
Adding DNS server 218.104.111.122
(这次自动获取才是对的!!)
查看一下现在的信息
>: route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default localhost 0.0.0.0 UG 0 0 0 wlan0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 wlan
>: ifconfig eth0 down //把你的eth0 关了先 要不一会儿你ping的时候wlan0和eth0回不和谐的!
>: ping www.baidu.com
PING www.baidu.com (61.135.169.125): 56 data bytes
64 bytes from 61.135.169.125: seq=0 ttl=55 time=75.904 ms
64 bytes from 61.135.169.125: seq=1 ttl=55 time=73.490 ms
64 bytes from 61.135.169.125: seq=2 ttl=55 time=76.492 ms
64 bytes from 61.135.169.125: seq=3 ttl=55 time=75.445 ms
--- www.baidu.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 73.490/75.332/76.492 ms
以上就是rt3070自动获取ip的过程,若没有成功再参考前一篇文章!