网络配置与文件传输

本篇目标:让 YPT153EVB 连上网,并学会把电脑上的文件传进板子(以及反过来)。新手做实验、跑例程,几乎天天要用。
板子有两路千兆以太网,PHY 芯片为 jl2101b(非早期资料写的 RTL8211F,以本 SDK 为准)。


认识两路网口

底板有两路 RJ45 网口,系统里对应:

系统接口 控制器 物理网口
eth0 gmac0(RGMII0,引脚 PA4–PA19) 网口 0
eth1 gmac1(RGMII1,引脚 PG0–PG15) 网口 1

哪个物理口是 eth0、哪个是 eth1,以底板丝印/《硬件设计指南》为准;两个口硬件上都已使能,随便插一个都能用。

先看看系统识别到没有:

root@YPT153EVB:~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          BROADCAST MULTICAST  MTU:1500  Metric:1
eth1      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          BROADCAST MULTICAST  MTU:1500  Metric:1
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  ...

能看到 eth0 / eth1 说明驱动正常。


接路由器自动获取 IP(最简单)

把网线一头接路由器,一头接板子任意网口,然后让接口上线并申请 IP:

root@YPT153EVB:~# ifconfig eth0 up
root@YPT153EVB:~# udhcpc -i eth0          # 向路由器请求 IP
udhcpc: started, v1.31.1
udhcpc: sending discover
udhcpc: sending select for 192.168.1.123
udhcpc: lease of 192.168.1.123 obtained, lease time 86400

确认拿到 IP:

root@YPT153EVB:~# ifconfig eth0
eth0      Link encap:Ethernet
          inet addr:192.168.1.123  Bcast:192.168.1.255  Mask:255.255.255.0

测一下能不能上网:

root@YPT153EVB:~# ping -c 3 192.168.1.1     # 先 ping 路由器
root@YPT153EVB:~# ping -c 3 www.baidu.com    # 再 ping 外网(需 DNS 正常)

如果 ping 外网域名提示”bad address”,多半是 DNS 没拿到;可手动指定 DNS,或在路由器侧确认。临时指定:echo "nameserver 8.8.8.8" > /etc/resolv.conf。


设置静态 IP(设备固定地址时)

如果网络没有 DHCP(或你希望板子固定 IP),手动配:

root@YPT153EVB:~# ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
root@YPT153EVB:~# route add default gw 192.168.1.1
root@YPT153EVB:~# echo "nameserver 192.168.1.1" > /etc/resolv.conf

上述是临时配置,重启会丢。要永久生效,需要改文件系统里的网络脚本(见《存储与自定义文件系统》篇,把配置放进 BoardConfig/filesSystem 的 overlay)。


查看链路状态(排查没网的问题)

用 ethtool 看网口是否连上、速率多少:

root@YPT153EVB:~# ethtool eth0
Settings for eth0:
        Speed: 1000Mb/s
        Duplex: Full
        Link detected: yes        # yes 表示网线已连、协商成功
  • Link detected: no:检查网线、交换机端口、PHY 复位脚。
  • 速率异常低(如 100Mb/s):网线/水晶头质量问题,换好线。

从电脑传文件到板子(文件传输)

开发时经常要把编译好的程序、图片、脚本从电脑传到板子。下面三种方法,挑顺手的。

方法 A:scp(最常用,需板子有 IP)

假设板子 IP 是 192.168.1.123,电脑上有文件 app.bin:

# 在【电脑】上执行(不是板子)
# 电脑是 Linux/macOS:
$ scp app.bin root@192.168.1.123:/root/
# 电脑是 Windows(PowerShell / MobaXterm 终端):
> scp app.bin root@192.168.1.123:/root/

首次连接会问 Are you sure...,输入 yes。若板子要密码,输入 root 密码。传完到板子 /root/ 下就能用了。

反向(板子传回电脑)同理,把路径顺序反过来:

$ scp root@192.168.1.123:/root/result.txt ./

方法 B:TFTP(适合无 SSH 的小镜像)

电脑上起一个 TFTP 服务器(如 tftpd64 / tftp-hpa),把文件放进去;板子用 tftp 获取:

# 板子上:从电脑(假设 192.168.1.10)下载 app.bin 到当前目录
root@YPT153EVB:~# tftp -g -r app.bin 192.168.1.10

方法 C:U 盘(最简单粗暴)

把文件拷进 FAT32 格式的 U 盘,插到板子 USB 口,手动挂载:

root@YPT153EVB:~# mount /dev/sda1 /mnt
root@YPT153EVB:~# ls /mnt          # 就能看到 U 盘里的文件
root@YPT153EVB:~# cp /mnt/app.bin /root/
root@YPT153EVB:~# umount /mnt

远程登录板子(SSH,可选)

如果出厂镜像带了 SSH 服务,且板子已联网,可以直接从电脑 SSH 进板子,比串口方便:

# 电脑上
$ ssh root@192.168.1.123

若提示 connection refused,说明镜像没开 SSH 服务,先用串口登录,或安装/启用 dropbear/openssh 后再用。


排障

现象 原因 / 处理
eth0 不出现 驱动未加载 / 网口被禁用;确认设备树使能 gmac
获取不到 IP 网线没插好 / 路由器没开 DHCP;换 eth1 试
ping 外网域名失败 DNS 问题,手动写 /etc/resolv.conf
scp 连不上 板子 IP 不通 / 未起 SSH;先 ping 通再试
速率只有 100M 网线/水晶头不达标,换千兆线

作者:Mai  创建时间:2026-10-20 16:42
最后编辑:Mai  更新时间:2026-11-05 14:56