Shall I update the Bootloader EEPROM and/or VIA USB3 firmware?

  • Hi,

    Recently got a RPi4 / 4GB, installed Libreelec 9.2.0, works fine.
    The Pi is mounted with an Aluminium Armor (large) heatsink.

    I have noticed the Pi runs rather hot when playing video, eg. 4K or 60fps footage.

    According to the Libreelec menus I see:

    Bootloader EEPROM (update from 2019-07-15 to 2019-09-10)
    VIA USB3 Firmware (update from 00013701 to 000137ab)

    I have two questions.

    1) is it recommended to apply these updates? I see there are some issues with the latest VIA firmware, as shown eg. here for instance:

    Limited camera resolution on Raspberry Pi 4 with VL805 firmware 0x000137ab · Issue #621 · guysoft/OctoPi · GitHub

    2) is applying the updates a no-brainer, i.e. shall I just hit the OK button here on my remote? Or is there something else to do afterwards (apart from a reboot)?

    MF

  • Yes, it's recommended to apply these updates.

    The official LibreELEC 9.2 builds only ship with the "critical" firmware updates (which are applied automatically on Raspbian) and in general it's safe to install them.

    Milhouse builds and other development/test builds may contain beta firmware versions, so be careful in this case.

    The VL805 update should reduce temperature quite a bit (3-5°C IIRC).

    LibreELEC 9.2.1 will ship with a newer RPi firmware and kernel which will reduce (idle) temperature further. I've been testing these here the last months, all initial bugs and rough edges seem to have been ironed out and it's working fine here.

    so long,

    Hias

  • Do you need to apply the firmware more than once or is it a write once to EEPROM thing?

    (the way some of the articles are written, it feels like the firmware isn't permenant?)

    Also, I don't suppose you could speculate on UI performance increases for 9.2.1 - the ui isn't ideal as it stands (slower than I'd expect)

  • The RPi4 bootloader and the VL805 USB firmwares are both stored in EEPROMs so they will "stick" and you need to only apply them once.

    The traditional RPi firmware files (start.elf, fixup.dat) are stored on SD card and loaded on boot.

    so long,

    Hias

  • Hi,

    Ok so, yesterday, I first applied the bootloader patch and rebooted - it went smooth.

    Next, I applied the USB3 firmware update. It went much less smooth this time. Something happened... then black screen. I waited for a long time. My TV reports when HDMI ARC and CEC are active or disabled, and they kept switching between these two states, indefinitely, every 15 seconds or so (still with black screen).

    I unplugged the RPi4, and plugged it back to the wall socket. The boot procedure went fine this time. In the menus, the USB3 version is correctly reported as 000137ab.

    I tried to reboot again, one more time -> success.

    So this SEEMS to be ok, *but* I clearly remember I saw a message on the RPi forum which stated that a firmware upgrade procedure for the VL805 could leave the chip in a weird state (eventhough the firmware update was indeed successful). This was stated by a RPi engineer as a possible explanation for a problem report (unconfirmed though).

    Trying to get my hands on this message now (hard...)

    EDIT: found it:

    VLI firmware v2.0 - powersaving features enabled - Raspberry Pi Forums

    (see the message from jcyr user "sudo reboot failed to restart...", and subsequent messages)

    Just to be on the safe side - can I force-write the 000137ab firmware again, eg. from the command line? The message I was talking about said this would cure this issue.

    Edited once, last by martinf87 (January 14, 2020 at 7:36 AM).

  • Odd, haven't seen a hang on reboot here yet. The hangs reported in the linked thread were caused by early versions of the USB firmware updater (which updated the firmware while the system was running), LibreELEC ships with a later version where updates are performed by the bootloader (recovery.bin to be more specific).

    In LibreELEC settings you can't reflash the firmware if they are up to date, but you can do it manually via ssh if you like. LibreELEC includes the rpi-eeprom-update tool (same tool as on Rasbian) and you can also use it to install beta firmwares (do that at your own risk though).

    To re-flash the USB firmware use the "-u" option of rpi-eeprom-update

    Code
    rpi-eeprom-update -u /lib/firmware/raspberrypi/bootloader/critical/vl805-000137ab.bin

    so long,

    Hias