续一 基于fl2440使用rt3070工作在sta模式之动态获取ip地址

=============================================================

作者:guanlei <995318056@qq.com>

linux内核版本:linux-3.0

开发板:fl2440

busybox版本:busybox-1.20.2

交叉编译器版本:arm-linux 

============================================================


     上一篇说到fl2440使用rt3070连接自己wifi,但并非动态获取ip,本篇讲述如何动态获取ip地址

     要支持动态获取ip的话,你需要在linux内核中和制作文件系统的busyboxmenuconfig选中必要的选项

一: 内核部分

Networking --->
    Networking support   
    Networking options ---> 
           Packet socket                 //添加.配置CONFIG_PACKET
          [ * ]     IP: DHCP support         //添加
          [ * ] Network packet filtering (replaces ipchains) --->  //添加,后面子选项可不选,配置CONFIG_NETFILTER

说明若没选 Packet socket, [ * ] Network packet filtering (replaces ipchains) --->选项,在执行udhcpc命令时出现如下错误:

   # udhcpc -f 
   udhcpc (v1.13.2) started
   eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
   udhcpc: socket: Address family not supported by protocol 

二:busybox部分

[*]udhcp server(udhcpd)

[*]udhcp client(udhcpc)都选上

udhcpd就是终端设备作为DHCP服务器 ;udhcpc就是终端设备作为DHCP客户端

Networking Utilities --->
 [*] udhcp client for DHCPv6 (udhcpc6)                                            

 [*] udhcp server (udhcpd)  //生成udhcpc命令 


make

sudo make install  (过程神略)

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

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的过程,若没有成功再参考前一篇文章!







  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值