Orangepi-3-lts网口失效故障

一、故障表现

目前的故障表现为通过power off命令关机后断开电源,较长时间(三天)后再次插电启动时网口不上线,外在表现为以太网口等不亮。

如果此时通过USB网卡接入网络使用reboot命令重启则网口恢复工作,如期间未曾断电,则此后网口可正常工作。

原理未知,暂时通过外接网卡手动重启解决。网口硬件应无故障,因为通电不开机时网口灯常亮。

二、初步猜测

初步估计是时间过久后某些电池或者电容失效,因为短暂断电后立即插入电源重启网口可正常工作。

也可能是某些软件问题,在指示灯由红变绿前网卡灯闪烁,证明硬件未损坏,变绿进入内核后网卡灯熄灭。

三、修复尝试

1、第一次尝试

官方提供的Debian镜像使用Network manager管理网络,配置存储在/etc/network路径中。

预置的/etc/network/interfaces文件中内容如下:

source /etc/network/interfaces.d/*
# Network is managed by Network manager
auto lo
iface lo inet loopback

可见缺少网络相关配置,在/etc/network/interfaces.d/eth0文件中写入如下内容:

#激活网口
allow-hotplug eth0
#配置DHCP协议
iface eth0 inet dhcp

具体源可见Debian 网络接口设置↗

此时长时间断电(超过十分钟)后网口无法工作,使用开发板自带按钮关机并重启后网口恢复正常工作。

故障原理目前仍然未知,可以确认初步修复。

2、第二次尝试

长时间断电后(8天)故障再次出现,重复第一种办法后未能正常启动网口。

接入USB网卡后进入,自带eth0处于下线状态,使用netplan重新配置网络,发现eth0口出现169开头ip,推测为DHCP未正常工作。

结合期间路由器配置亦发生变化,网络项增加DHCP网关选项,填入网关地址。

短暂断电后重新启动后网口工作,暂时确认修复。

3、第三次尝试

问题原因目前未知,换装Armbian_23.11.1_Orangepi3-lts_jammy_current_6.1.63.img.xz,目前暂时一切正常。

四、第四次尝试

故障在更换至Armbian后得到了暂时解决,但在禁用sprdwl_ng和sprdwl_tty模块后出现了同样的问题,WIFI模块的禁用影响了以太网口。另外意外发现物理启动按键会无视模块配置启动WIFI相关。

最终的解决办法是在/etc/rc.local中写入如下内容。

/usr/bin/sleep 30
/usr/sbin/modprobe -r sprdwl_ng

睡眠30秒是因为立即禁用同样会导致以太网口失效,可能因为脚本是在引导期间执行的,导致出现了类似禁用模块的效果。

断电测试后一切正常,暂时解决问题。

另外禁用sprdwl_tty会导致同样问题。

五、第五次尝试

在第四次的基础上,进行模块拆装重新安装后,依然出现了网口未启动状况,物理重启后解决。

怀疑是硬件问题。

六、第六次尝试

刷入官方提供的固件Orangepi3-lts_3.0.8_ubuntu_jammy_server_linux5.16.17后,依然出现了网口无法点亮的问题,目前原理未知。在刷入Armbian_23.11.1_Orangepi3-lts_bookworm_current_6.1.63后,问题暂时消失,有待继续观察。

七、结论

应该是硬件故障,解决办法是设置WIFI保持网络可用性,启动网口必须在通电启动一次后手动重启。