V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jngke931126
V2EX  ›  问与答

卫星以及火星车等设备的远程刷机是怎么搞的? 人在海外远程刷了一下国内的路由器, 结果失联了!

  •  
  •   jngke931126 · 2022-10-26 17:43:03 +08:00 · 1724 次点击
    这是一个创建于 757 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前刷的时候都是用身边同规格同配置的路由器试运行一下, 一直没碰到过问题.
    结果这次大意了, 没有试运行就直接刷了.

    失联后立即用相同的路由器试运行了一下, 结果发现因为上游(openwrt)升级导致无线网卡名字更改了, 从而导致自己写的"自动配置脚本"没有运行完成, 没有正确配置网络.

    让家里人拿着路由器找了个手机修理店的大佬帮忙通过 uboot 重新写入了固件.

    不知道卫星火星车之类的是怎么搞的?
    第 1 条附言  ·  2022-10-27 00:34:28 +08:00
    后来改了下脚本, 尽量先配置好网络保证能连通, 再去设置其它的.
    22 条回复    2022-10-30 10:51:18 +08:00
    jadehare
        1
    jadehare  
       2022-10-26 17:49:03 +08:00
    不刷
    jngke931126
        2
    jngke931126  
    OP
       2022-10-26 17:50:13 +08:00
    @jadehare #1 后期肯定会遇到一些问题需要升级的
    sibowen
        3
    sibowen  
       2022-10-26 17:51:52 +08:00   ❤️ 1
    搞两个系统,a 刷的时候,b 监控&备份; b 刷的时候,a 监控&备份。瞎猜的
    zhlxsh
        4
    zhlxsh  
       2022-10-26 17:57:27 +08:00 via iPhone
    盲猜,本地搞一摸一样的机器模拟升级几遍。再升级远程
    pcbl
        5
    pcbl  
       2022-10-26 17:57:28 +08:00   ❤️ 1
    估计和你后面的操作差不多,本地放一个一摸一样配置的,先在本地测,测试没问题再远程。
    loopinfor
        6
    loopinfor  
       2022-10-26 17:58:03 +08:00
    我觉得可以加入类似 Windows 修改屏幕分辨率的逻辑:
    刷机之后设备检测是否正常工作,如果不正常,就自动刷回原来固件。
    只要设备没有刷成砖,类似于 OP 这种问题都可以通过这个方法解决。
    lingex
        7
    lingex  
       2022-10-26 18:04:47 +08:00 via Android
    简单的 OTA 大致是这么玩的:flash 分为三个区,分别是引导区, 固件 A, 固件 B 。引导区记录着哪个区是最新的固件,启动时候就加载那个区的系统。升级时候写另外一个区,检验无误之后再去改引导区标记。
    eason1874
        8
    eason1874  
       2022-10-26 18:09:42 +08:00
    可能跟远程控制卡那样吧,控制系统归控制系统,作业系统归作业系统。控制系统从头到尾全程只读,除非硬件坏了否则不会异常,要升级只升级作业系统
    documentzhangx66
        9
    documentzhangx66  
       2022-10-26 18:12:11 +08:00
    这事本质是个数学问题,方案也很简答,做冗余。

    最早期的系统,还真像楼上老哥说的,不能刷,坏了就坏了,反正卫星的设计寿命也没几年。

    后期因为系统复杂度上去了,至少会有 2 套系统,一套业务系统,一套管理系统,能互相操作。另外,卫星也会有 2 台,一台真的上天了,另一台在地面,进行验证。
    nii
        10
    nii  
       2022-10-26 18:12:20 +08:00   ❤️ 2
    火星车坏了有火星人修
    jiangwei2222
        11
    jiangwei2222  
       2022-10-26 18:15:15 +08:00 via Android
    参加安卓,a b 分区
    zyzkeion
        12
    zyzkeion  
       2022-10-26 19:00:29 +08:00 via iPhone
    高端电脑主板就有双 Bios ( UEFI )功能,以确保在你修改了不必要设置或者刷坏了避免成砖。要不是这个功能我的主板买回来第一天就能拍砖了。无论是火星车还是飞机其航空系统都是冗余设计的,也就是有至少 3 台不同 CPU 和硬件的计算机同时运行指令,以少数服从多数输出计算结果。这种设计确保了在遇到升级或者宇宙射线时避免出现灾难性故障。如果你的路由器可以搞一个这种冗余设计,那么你的路由器也不会出现这种问题。
    ysc3839
        13
    ysc3839  
       2022-10-26 19:06:45 +08:00
    @zyzkeion 双 BIOS 芯片曾经只有技嘉的主板有,别家都没有,可能是专利问题。而且据说这个设计失效率很高,因为大多数出问题的情况是配置错误之类的导致在启动的时候崩溃,并不是固件本身损坏。
    现在中高端主板都改为外加一个独立的芯片,可以在没有 CPU 的情况下插 U 盘刷固件。
    x86
        14
    x86  
       2022-10-26 19:09:17 +08:00
    人家🛸都做的出来,修个玩具车不是跟玩似的
    0001110001011
        15
    0001110001011  
       2022-10-26 19:22:39 +08:00
    类似 @sibowen 说的, 是非单一系统的, 我记得有篇文章 提了句
    mxT52CRuqR6o5
        17
    mxT52CRuqR6o5  
       2022-10-26 20:06:33 +08:00
    按照道理说,卫星以及火星车选择升级的肯定是少数,如果可以不升级解决就尽量不升级解决,这才是合理的工程实践思路
    zyzkeion
        18
    zyzkeion  
       2022-10-26 20:19:39 +08:00 via iPhone
    @ysc3839 是的!我就是技嘉的主板。第一天刷固件就废了,用的就是插 U 盘救过来的,整整折腾了一晚上,查了各种资料都说要返厂。最后在一个技嘉全是繁体字的说明发现了 Q-Flash 功能,抱着死马当活马医的心态试试救过来了。
    bytesfold
        19
    bytesfold  
       2022-10-27 09:16:26 +08:00
    FOTA
    iawes
        20
    iawes  
       2022-10-27 10:22:57 +08:00
    。。。 基本一点,要有主备分区,大部分设备都有的吧
    flynaj
        21
    flynaj  
       2022-10-27 19:26:42 +08:00 via Android
    就是跟你这个 openwrt 一样的,只是你没有先在本地测试。还有如果你一直都是用原版的 openwrt 就不会存在这个网卡名称变化的问题。我经常远程刷 openwrt.
    jngke931126
        22
    jngke931126  
    OP
       2022-10-30 10:51:18 +08:00
    @flynaj 我就是一种用原版的加上一些自己的 patch 后编译的,无线名从最开始的 wlan0 wlan1 变成了现在的 phy0-ap0 phy1-ap0
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1489 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:58 · PVG 07:58 · LAX 15:58 · JFK 18:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.