嵌入式Linux开发板的网络驱动验证,核心围绕PHY芯片驱动适配与自动联网配置,从驱动加载到实际联网的全流程。
1. LAN8720专用PHY驱动测试
驱动适配的工作已在Linux移植环节完成,系统启动后,内核会直接打印清晰的驱动信息,明确显示当前使用的是“SMSC LAN8710/LAN8720”专用驱动。
后续验证很简单:先用`ifconfig`命令激活网卡,再通过`ping`命令测试和主机或Ubuntu系统的连通性——只要能正常ping通,就说明PHY驱动完全跑通,网络硬件的基础通信功能稳定。
2. 通用PHY驱动测试
理论上通用PHY驱动能适配所有标准PHY芯片,但放到I.MX6ULL平台上就碰了壁:直接用它驱动LAN8720时会失败。问题的根源在于,这个平台用LAN8720时,必须先对ENET1_TX_CLK、ENET2_TX_CLK两个关键引脚做配置,而这需要修改内核里`fec_main.c`的`fec_probe()`函数。
实操时,要先在内核配置中关闭自带的LAN8720专用驱动,再重新编译内核并启动。启动后,若内核日志里显示驱动是“Generic PHY”,说明已切换到通用驱动,但得明确,这种方式的稳定性不如专用驱动,不保证百分百成功,优先用专用驱动更稳妥。
3. DHCP自动获取IP配置
手动给开发板设IP很容易和局域网其他设备冲突,最直接的解决办法是让路由器自动分配IP。实现这个功能靠`udhcpc`命令,它已经集成在BusyBox里,不用再额外移植。
但用之前得先搞定脚本:从BusyBox源码的`examples/udhcpc/simple.script`路径,把脚本复制到开发板的`/usr/share/udhcpc/`目录下,再重命名为`default.script`。
之后操作分两步:先用`ifconfig`打开目标网卡,再用`udhcpc -i 网卡名`发起IP申请。申请成功后,路由器会分配唯一IP,同时自动配置好路由和DNS,用`ifconfig`就能直接查看网卡完整信息,彻底省去手动维护IP的麻烦。