V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
noyidoit
V2EX  ›  OpenWrt

openwrt 断电后不能上网,硬件时间被重置为 2016.01.21

  •  
  •   noyidoit · 2022-06-27 01:58:46 +08:00 · 2123 次点击
    这是一个创建于 641 天前的主题,其中的信息可能已经有所发展或是发生改变。

    发生了什么

    软路由断电后,会导致整个网络全部挂掉,初步诊断是硬件时间(hwclock)因未知原因被错误重置,又因为整个网络都经过 openclash ,openclash 又对时间敏感,错误的时间导致 openclash 挂了,进而导致整个网络都挂了 XD

    我尝试了什么

    用以下关键词 google ,然后没搜到什么有用的信息(也可能是我没能慧眼识珠...)

    • openwrt hwclock reset after power outage
    • openwrt time reset after power outage
    • linux hwclock reset after power outage

    以下是断电再上电重启后,ssh 进软路由打印出的信息

    root@OpenWrt:~# hwclock
    Thu Jan 21 08:50:36 2016  0.000000 seconds
    root@OpenWrt:~# date
    Thu Jan 21 16:50:38 CST 2016
    root@OpenWrt:~# time
    BusyBox v1.35.0 (2022-06-07 15:11:28 UTC) multi-call binary.
    
    Usage: time [-vpa] [-o FILE] PROG ARGS
    
    Run PROG, display resource usage when it exits
    
            -v      Verbose
            -p      POSIX output format
            -f FMT  Custom format
            -o FILE Write result to FILE
            -a      Append (else overwrite)
    root@OpenWrt:~#
    

    环境

    • 机器:FriendlyElec NanoPi R2S
    • 固件:自己编译的 OpenWrt SNAPSHOT r19773-f5a87a0a7b / LuCI Master git-22.137.71281-d6dbedd
    • 内核:5.10.120

    可以稳定复现,目前的 workarond 是每次断电在 LuCI 上同步浏览器时间,但这不是个办法... 暂时没啥思路,请教下 v2 的前后浪们

    9 条回复    2022-06-27 14:27:57 +08:00
    XiLingHost
        1
    XiLingHost  
       2022-06-27 02:02:12 +08:00   ❤️ 1
    硬件时间被重置大概率和系统关系不大,你得看 BIOS 的实现
    vmebeh
        2
    vmebeh  
       2022-06-27 02:03:14 +08:00 via iPhone   ❤️ 1
    ntp 服务器的地址放行不走 openclash
    PMR
        3
    PMR  
       2022-06-27 03:16:07 +08:00 via Android   ❤️ 1
    Bootlog:
    [ 3.013095] rk808-rtc rk808-rtc: registered as rtc0
    [ 3.014204] rk808-rtc rk808-rtc: setting system clock to 2016-01-21T08:50:07 UTC (1453366207)

    “未知原因被错误重置”

    主板没电池存储时间 让马跑又不喂草 装 chrony 自动同步 还能分发到网内其它设备
    Kinnice
        4
    Kinnice  
       2022-06-27 08:28:58 +08:00 via Android   ❤️ 1
    ntp 列表里面多加几个,使用 ip 的
    loveyu
        5
    loveyu  
       2022-06-27 08:33:00 +08:00 via Android   ❤️ 1
    最近刚处理这个问题,自己写个开机脚本通过 ip 更新时间
    noyidoit
        6
    noyidoit  
    OP
       2022-06-27 13:49:45 +08:00
    @vmebeh 思路不错!试了一下让 dnsmasq 不转发 ntp server 相关域名,开机后国内可以正常访问了,但国外还是不行,需要重启 openclash
    noyidoit
        7
    noyidoit  
    OP
       2022-06-27 13:55:43 +08:00
    @PMR 问了下客服,r2s 确实没有主板电池,我感觉这不合理 XD
    noyidoit
        8
    noyidoit  
    OP
       2022-06-27 14:12:19 +08:00
    感谢各位大佬,现在这个问题解决了
    1. 为 ntp 域名设置不转发 dns
    2. 装个 ntpdate / chrony ,然后启动项加个开机脚本,同步时间并重启 openclash
    PMR
        9
    PMR  
       2022-06-27 14:27:57 +08:00
    @noyidoit 家用路由器没电池很正常·· 全都是靠同步时间
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   943 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:57 · PVG 04:57 · LAX 13:57 · JFK 16:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.