温馨提示:这篇文章已超过452天没有更新,请注意相关的内容是否还可用!
RK3568学习笔记:在u-boot环境下,可以通过设置env变量ethact来指定当前工作的以太网设备。这一设置对于在嵌入式系统中通过网络进行配置、升级等操作非常关键。通过正确设置ethact,可以确保系统使用正确的网络接口进行通信,提高系统的可靠性和效率。
网口查看与切换
在u-boot环境下,设备默认只有一个以太网口用于网络通信,如执行ping或tftp命令,如果当前连接的网线不在默认网口上,设备会等待一段时间,然后自动切换到另一个网口。
当执行ping命令时:
=> ping 192.168.10.10 ethernet@fe010000 Waiting for PHY auto negotiation to complete......... TIMEOUT ! phy_startup() failed: -110 ethernet@fe2a0000 Waiting for PHY auto negotiation to complete. done Using ethernet@fe2a0000 device host 192.168.10.10 is alive
我们可以通过env命令查看当前的默认网口,但u-boot重启后,设置会重置,因为没有通过saveenv保存ethact的设置。
指定网口并保存设置
要指定u-boot下用于网络通信的网口设备,并使其重启后依然生效,我们可以使用mii命令查看网络设备信息,然后通过setenv命令设置ethact env环境变量,之后,使用saveenv保存设置。
=> mii device MII devices: 'ethernet@fe010000' 'ethernet@fe2a0000' Current device: 'ethernet@fe010000' => setenv ethact 'ethernet@fe2a0000' => ping 192.168.10.10 ethernet@fe2a0000 Waiting for PHY auto negotiation to complete. done Using ethernet@fe2a0000 device host 192.168.10.10 is alive => saveenv Saving Environment to MMC... Writing to MMC(0)... done
【备注】虽然mii device命令可以更改当前的网络设备,但网络通信功能主要依赖于ethact env环境变量,通过设置ethact,我们可以解决在多个网口间指定使用某一网口的问题。
u-boot env功能的便利性
u-boot env功能十分方便,通过灵活设置env环境变量,可以使得u-boot的启动引导功能更加强大和使用便捷,除了设置网络相关的参数如IP地址、子网掩码、网关等,还可以指定网络通讯使用的网口,通过设定特定的环境变量如ethact,我们可以轻松管理和切换网络配置,这对于在具有多个网络接口的设备上实现灵活的网络通信非常重要。
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...