分类目录归档:未分类

Pi400 电源指示灯闪烁/SDRAM failure/死机黑屏情况的处理

Pi400 电源指示灯闪烁/SDRAM failure/死机黑屏情况的处理

背景

最近Pi400出现不稳定情况,有时候出现电源指示灯闪8次,有的时候出现死机/花屏情况,查询了Raspberry网站,发现这个8次闪烁定义为SDRAM故障,至于花屏/死机情况没有相关信息,尝试过更换SD卡,虽然有效,但是待机时间长了又会出现此类现象,尝试了rpi-update(更新kernel和VideoCore firmware),不过不但情况没改善,反而更频繁了,当时考虑是否需要维修了,可是过保了,而且这机器也用了一段时间,最近才有此情况,考虑到系统一直是64位的,是否是系统不稳定造成的,更换了32位系统后,可以启动了,不过此类情况并没有消失。心中忐忑,个人觉得这种情况有两个可能:

  1. CPU虚焊跟SDRAM交互出现了问题 – 可以尝试拆开,用热风枪加助焊剂尝试复位,不过这个方法成功的概率很低,底下的pad可能已经氧化了。
  2. 底层硬件跟系统出现了兼容问题 – 可以尝试更新固件,但是Pi400有嘛,你别说还真有自动更新的工具,我就是靠这个暂时缓解了这个问题,如果恢复到以前的情况,可能真修复了。

通过上面对几个可能性的解释,我介绍一下如果通过更新固件方法;如果你在使用Raspberry Pi Diagnostics对SD卡进行测试Failed,就也可以通过以下方法解决,前提是SD卡是没问题的情况下啦。

更新Pi400固件

  1. 通过Raspberry Pi Imager工具更新bootloader eeprom
    a. 打开Raspberry Pi Imager,选择操作系统->Misc utility image->bootloader->SD Card Boot
    b. 选择SD卡,这里使用一个空卡作为更新bootloader的卡
    c. 点击烧录
    d. 烧录完成后,将SD卡插入设备开机,此时指示灯会连续闪烁,并不会停顿,屏幕如果出现了绿色,就表示更新bootloader完成了
    e. 更换回原来的SD启动系统
    e. 执行sudo rpi-update,更新kernel和VideoCore firmware

    #已经更新完了,这里只是做演示
    $ sudo rpi-update 
    *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
    *** Performing self-update
    *** Relaunching after update
    *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
    FW_REV:7d6d960523325b4c52804183f4b56e0bb9297102
    *** Your firmware is already up to date (delete /boot/.firmware_revision to force an update anyway)

    f. 完成后会提示重启
    g. 观察系统是否已经稳定了

  2. 通过rpi-eeprom-update更新eeprom
    a. 执行sudo rpi-eeprom-update,如果下面的bootloader和VL805(应该是USB HUB控制芯片),都是up-to-date的状态,那么可能真是坏了,如果不是,那么是有可能的,因为系统会经常更新,出现不兼容的情况也是很自然的

    $ sudo rpi-eeprom-update 
    BOOTLOADER: up to date #已经是最新stable版本
    CURRENT: Wed 11 Jan 2023 05:40:52 PM UTC (1673458852)
    LATEST: Wed 11 Jan 2023 05:40:52 PM UTC (1673458852)
    RELEASE: stable (/lib/firmware/raspberrypi/bootloader/stable)
           Use raspi-config to change the release.
           #可使用raspi-config选择release/beta等版本
    
    VL805_FW: Using bootloader EEPROM
    VL805: up to date #已经是最新版本
    CURRENT: 000138c0
    LATEST: 000138c0

    b. 执行sudo rpi-eeprom-update -d -a,更新eeprom,完成后,会有提示reboot。
    c. 执行sudo reboot,等待系统重启
    d. 执行sudo rpi-eeprom-update,确认是否都是最新的状态
    e. 执行sudo rpi-update,更新kernel和VideoCore firmware

    #已经更新完了,这里只是做演示
    $ sudo rpi-update 
    *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
    *** Performing self-update
    *** Relaunching after update
    *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
    FW_REV:7d6d960523325b4c52804183f4b56e0bb9297102
    *** Your firmware is already up to date (delete /boot/.firmware_revision to force an update anyway)

    f. 完成后会提示重启
    e. 观察系统是否已经稳定了

参考资料:

  1. Raspberry Pi 4 Boot EEPROM – https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-boot-eeprom
  2. Raspberry Pi 4 not booting – SDRAM Failure – https://forums.raspberrypi.com/viewtopic.php?t=317088
    3。Using rpi-update – https://www.raspberrypi.com/documentation/computers/os.html#using-rpi-update