问题定位
板子端和电脑端 IP 配置都正确,但 ping 不通,这是典型的板子端防火墙或网络服务问题。
排查步骤
步骤 1:串口登录板子检查网络状态
# USB 转 TTL 连接(波特率 115200)
# 默认账号:ubuntu / ubuntu
# 登录后检查 eth0 状态
ip addr show eth0
ip link show eth0
# 确认 eth0 是 UP 状态且 IP 正确
期望输出:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
inet 192.168.128.10/24 brd 192.168.128.255 scope global eth0
如果状态不是 UP,LOWER_UP,执行:
sudo ip link set eth0 up
步骤 2:检查并关闭防火墙(关键!)
RDK X5 默认可能启用了防火墙,拦截 ICMP 包:
# 查看防火墙状态
sudo ufw status
# 如果显示 active,临时关闭测试
sudo ufw disable
# 或者只允许 ICMP(ping)
sudo ufw allow from 192.168.128.0/24
# 如果使用 iptables
sudo iptables -L -n -v | grep -i icmp
步骤 3:测试板子端响应
在板子上执行:
# 监听 ICMP 包(开一个新终端或后台运行)
sudo tcpdump -i eth0 icmp
# 然后在电脑端 ping
# 如果板子能看到 ICMP 请求但没响应,是防火墙问题
# 如果板子完全看不到包,是链路层问题
步骤 4:检查 SSH 服务
RDK Studio 依赖 SSH 连接,确认服务运行:
# 检查 SSH 服务状态
sudo systemctl status ssh
# 如果未运行,启动它
sudo systemctl start ssh
sudo systemctl enable ssh
# 检查 SSH 监听端口
sudo netstat -tlnp | grep 22
步骤 5:更换 USB-C 线缆
如果以上都正常但仍 ping 不通,可能是线缆问题:
- 某些 USB-C 线只支持充电/数据传输,不支持以太网
- 换一根支持数据传输的 USB-C 线(最好是原装线)
快速诊断流程
# 电脑端执行
ping 192.168.128.10 -t
# 同时板子端执行
sudo tcpdump -i eth0 icmp
根据结果判断:
| 板子 tcpdump 输出 | 电脑 ping 结果 | 问题原因 |
|---|---|---|
| 能看到 ICMP 请求 | 超时 | 板子防火墙拦截响应 |
| 完全看不到包 | 超时 | 链路层问题(线缆/驱动) |
| 能看到请求和响应 | 通 | 网络正常 |
临时解决方案
如果急需连接,可以在板子上临时关闭防火墙:
sudo ufw disable
sudo iptables -F
然后再从电脑 ping 测试。
请先执行步骤 1 和 2,告诉我:
ip link show eth0的输出(确认接口状态)sudo ufw status的输出(确认防火墙状态)
这样我能精准定位是防火墙问题还是链路问题。