一个文件系统崩溃的BUG,循环出现press Enter to activate tPlease press......... 【已解决】

  • BUG描述:无法进入文件系统,控制台无法进行任何操作
  • BUG引发:目前来看,引发情况是偶尔断电,也不排除正常工作时会出现,概率较小。
  • 临时修复手段:进入failsafe模式后可以用jffs2reset -y修复,但这对于设备来说如同扯淡。
  • 影响的版本:widora发布的所有openwrt固件,Linkit的所有openwrt固件。

20171212新找到的修复手法(硬件问题):

console的串口RX引脚不能悬空,建议增加上拉电阻到3.3V。原因是此引脚悬空后,稍微受到干扰,会导致该引脚接收到“命令”而被执行,具体是什么命令,这个就没准了。很容易复现,执行后很容易把文件系统搞挂。(Linkit smart 7688设计了这个电阻,但依然在联发科论坛有人反映此问题,原因就是Linkit有一个另类的设计,虽然UART0上RX做了保护,但linkit的固件却用了UART2做console,然而,UART2的RX是悬空的)。

!

@netrouter 大神出来语惊四座!

把串口设置成非控制台~~

@mango 非常感谢!

@elop丶 这个bug最终被证实是console的rx悬空接收干扰导致文件系统错乱。
关掉console,加上拉电阻,console加登录密码均可解决。
已经更新到楼主位。

@mango 你好!请问如果在固件中直接关闭console,是否还会有此问题?

@mango 加油,等你们的好消息。

然而,在联发科发布的SDK(非OpenWrt系统)中未发现此问题,究其原因,应该是SDK运行时文件系统禁止写。这个够狠!
在观察一段时间,如果OpenWrt始终存在这种奇葩问题,我们考虑做一版Linux SDK版本。

明白了谢谢:baby_chick:

@mango 修改那些源文件呢?
我们也好跟着修改哈

@prince 和你的情况不一样。上述bug是系统跑起来后什么都不干情况下都会出现,影响极其恶劣

引用非法地址容易导致卡死