问题描述:
问题:参考正点原子 Alpha开发板驱动开发指南1.5.1,第71章,做USBWiFi驱动开发,当使用wpa_supplicant -Dn180211 -c /etc/wpa_supplicant.conf -i wlan0 & 指令连接手机热点后,用uhdcpc -i wlan0 获取IP地址的时候,能够成功获取IP地址,但是没有注册DNS服务器(如下图)。导致不能上网。
图一 udhcpc 指令现象
图二:ifconfig wlan0 查看USBWIFI 的信息,没有获得IP地址
问题原因:
参考别人的CSDN文章:https://blog.csdn.net/weixin_44498318/article/details/120123965
问题出在跟文件系统,hdcpc 工具没有弄好。如该博主所说
前段时间在buildroot搭建的根文件系统中移植过wifi驱动并且调试成功,一般来说,buildroot构建的文件系统比较完整,但最近使用busybox来构建了根文件系统,后者就比较简陋,很多文件都是靠自己去创建等等,所以在移植wifi网卡的时候就出现了缺乏某些文件导致功能不能正常使用的问题,现在就记录一下使用busybox里的小工具udhcpc能成功动态获取ip地址,但没能自动设置DNS,也就没能上网的问题。
解决办法:
将busybox-1.xx.x/examples/udhcp/目录下的simple.script文件(注意不是sample.script)拷贝到根文件系统的/usr/share/udhcpc/目录下(如果没有该目录则手动创建),将它重命名为default.script,并且chmod +x default.script加上可执行权限即可。