3. 硬件环境准备:开发板网络接口确认与连接测试

做网络启动,硬件是基础。我见过不少朋友,软件配得天花乱坠,结果网线一插灯都不亮——那真是白忙活一场。这一节,咱们把硬件环境彻底搞定。

3.1 确认开发板的MAC地址

MAC地址,说白了就是网卡的身份证。每个网卡出厂时都有一个全球唯一的MAC地址。但在嵌入式开发板上,情况有点特殊。

很多开发板的MAC地址是存储在EEPROM或OTP区域里的。U-Boot启动时会去读这个地址。如果读不到,U-Boot就会随机生成一个。嗯,这里要注意:随机生成的MAC地址,每次重启都可能变,网络环境会乱套。

怎么确认?

在U-Boot命令行下,执行:

=> printenv ethaddr
ethaddr=00:11:22:33:44:55

如果返回空,或者显示「ethaddr not defined」,那就说明MAC地址没设置。我曾经遇到过一块板子,出厂时EEPROM是空的,结果每次DHCP都拿不到IP,折腾了半天才发现是MAC地址全零。

⚠️ 避坑指南: 如果ethaddr未设置,请手动设置一个合法的MAC地址。注意不要和局域网内其他设备冲突。我习惯用 00:11:22:33:44:01 这样的地址,好记又安全。
=> setenv ethaddr 00:11:22:33:44:01
=> saveenv

3.2 确认PHY芯片状态

PHY芯片是网卡的物理层芯片,负责把数字信号变成电信号。U-Boot能不能识别PHY,直接决定了网络能不能通。

查看PHY信息:

=> mii info
PHY 0x01: OUI = 0x0800, Model = 0x22, Rev = 0x01
PHY 0x02: OUI = 0x0040, Model = 0x61, Rev = 0x00

如果返回「No PHY found」,那就麻烦了。我遇到过的情况是:PHY芯片的复位引脚没拉高,导致芯片一直处于复位状态。检查一下硬件原理图,看看PHY的复位电路是否正常。

💡 个人经验: 我习惯在U-Boot启动日志里搜索「PHY」关键字。如果看到「PHY reset timed out」之类的信息,十有八九是硬件问题。先查供电,再查复位,最后查MDIO/MDC连线。

常见PHY芯片速查表:

PHY型号 常见于 U-Boot驱动
RTL8211F Rockchip、Allwinner drivers/net/phy/realtek.c
AR8035 NXP i.MX系列 drivers/net/phy/atheros.c
KSZ9031 TI AM335x drivers/net/phy/micrel.c
LAN8720 STM32MP1 drivers/net/phy/smsc.c

3.3 路由器/交换机配置

开发板要接入网络,路由器或交换机得先配好。这里我建议用静态IP,简单可靠。

配置要点:

  • DHCP服务器: 开启,地址池范围建议 192.168.1.100 - 192.168.1.200
  • 静态IP绑定: 把开发板的MAC地址绑定一个固定IP,比如 192.168.1.100
  • 关闭防火墙: 至少关闭针对开发板IP的防火墙规则
  • 确认网段: 开发板和主机要在同一个网段,比如都是 192.168.1.x
🔑 核心原则: 开发板、主机、路由器三者之间,网络要能双向互通。你可以用一台笔记本接在同一个交换机上,ping一下开发板的IP,看看通不通。

3.4 网线连接与物理测试

网线这东西,看着简单,坑却不少。我踩过最大的坑,就是用了条交叉线,结果怎么都ping不通。

网线类型:

  • 直通线: 开发板接路由器/交换机,用这个
  • 交叉线: 开发板直连电脑,老设备才需要。现在大部分网卡都支持自动翻转,直通线也能用

测试步骤:

  1. 插上网线,看开发板网口灯是否亮起。绿灯常亮表示链路建立,黄灯闪烁表示有数据收发
  2. 在U-Boot里执行 ping 192.168.1.1(路由器的IP),看能不能通
  3. 如果ping不通,检查网线、交换机端口、IP配置
=> ping 192.168.1.1
Using ethernet@ff3e0000 device
host 192.168.1.1 is alive

看到「is alive」,说明网络通了。如果显示「timed out」,那就得回头检查了。

⚠️ 我曾经遇到: 一块板子怎么都ping不通,换网线、换交换机都没用。最后发现是网口变压器虚焊,补焊一下就好了。硬件问题有时候就是这么隐蔽。

3.5 本章知识体系

下面这张图,把硬件环境准备的流程串起来了。你照着走一遍,基本不会出问题。

硬件环境准备流程 确认MAC地址 printenv ethaddr 确认PHY芯片 mii info 配置路由器 DHCP / 静态IP 连接网线并测试 ping 路由器IP 验证网络连通 is alive? ✅ 硬件环境准备完成 每一步都确认通过后,才能进入下一环节

硬件环境准备,说白了就是三板斧:看MAC、查PHY、通网络。这三步走完,你的开发板就已经具备了网络启动的基本条件。下一节,咱们开始配置U-Boot的网络参数。

📌 我的习惯: 每次拿到新板子,我都会先做一遍这个流程,然后把MAC地址、PHY型号、路由器配置记下来。下次再搞,直接翻笔记就行,省得重复踩坑。