网络配置与文件传输
本篇目标:让 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-11-05 14:56