一. 简介
前面两篇文章,一篇文章实现了WIFI联网前要做的工作,另一篇文章配置了WIFI配置文件,进行了WIFI热点的连接。文章如下:
WIFI驱动移植实验:WIFI 联网前的工作-CSDN博客
WIFI驱动移植实验:连接WIFI热点-CSDN博客
本文在上面两篇文章中工作实现的基础上进行。文学习 WIFI设备从路由器上动态获取ip地址,最后,通过 ping 百度(www.baidu.com)测试WIFI 功能。
二. WIFI驱动移植实验:WIFI从路由器动态获取IP地址与联网
这里在连接成功了 WIFI热点的基础上进行。即在运行了如下命令:
wpa_supplicant -D wext -c /etc/wpa_supplicant.conf -i wlan0 &
串口有打印如下红色框中的连接信息时进行:
1. WIFI设备从路由器动态获取IP地址
udhcpc -i wlan0 //从路由器动态获取 IP地址
运行后结果如下:
ifconfig wlan0
结果如下:
1. 总结
动态获取ip的方式:udhcpc 是给路由器服务端发送广播udhcpc包,路由器接收到后,回复可以分配的一个IP地址,然后,udhcpc工具默认会执行一个脚本文件来设置设置设备的ip地址。
2. 具体解决方法
进入 /usr/share目录下创建 udhcpc目录:
最后,(ubuntu系统下)终端进入 busybox-1.29.0文件根目录下,将 /examples/udhcp/simple.script 拷贝到开发板文件系统 /usr/share/udhcpc/ 目录下:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/busybox-1.29.0$ sudo cp ./examples/udhcp/simple.script /home/wangtian/linux/nfs_File/rootfs/usr/share/udhcpc/ -f
(2) 其次,将 开发板上文件系统 /usr/share/udhcpc/目录下的 simple.script 重命名为 default.script:
重新运行 获取 IP地址的命令
重新运行 从路由器 获取 ip地址的命令: "udhcpc -i wlan0":
运行 "ifconfig wlan0" 命令查看无线网卡是否已分配到 IP地址:
可以看出, wlan0已经分配并设置好了 ip地址。
四. 联网测试
可以直接在开发板上使用 wlan0 来 ping 一下百度网站,输入如下命令:
ping -I 192.168.0.102 www.baidu.com
结果如下:
可以看出,WIFI设备已经可以 连接外网,至此,WIFI功能已经调试通过。