Update PI 4 firmware

Is there anyway to update my pi 4 firmware/bios using openwrt? my current version is
vcgencmd bootloader_version
May 10 2019 19:40:36
version d2402c53cdeb0f072ff05d52987b1b6b6d474691 (release)
timestamp 0

sudo apt update
sudo apt upgrade
sudo apt install rpi-eeprom

unable to install rpi-eeprom package please add it

opkg install rpi-eeprom
Unknown package 'rpi-eeprom'.
Collected errors:

  • opkg_install_cmd: Cannot install package rpi-eeprom.

Two issues here:

  1. OpenWrt doesn't have the apt package manager (instead it uses opkg).
  2. The RPi firmware is not part of the OpenWrt repository, so you won't find it via opkg (and it will almost certainly not be added).

If you want to update your RPi's firmware, install Raspian onto a microSD card and issue the commands you used earlier. If you have a spare card, you can literally just swap them for the time that you need to run the update.

OK i need to buy new SD card and install raspian on it? OK I will buy a new SD for it

They don't make it obvious, but there is another way.

Updating the EEPROM is done by placing a "recovery.bin" executable file in the boot partition of the SD card along with the EEPROM image. On the next boot, the boot ROM in the Pi will execute recovery.bin which will update the EEPROM. Then recovery.bin renames itself so it will not execute again, and blinks the green LED rapidly to indicate success. It is necessary to manually cut power and restart, then the Pi will reboot back to normal operation with the new EEPROM. The recovery-related files can be deleted, since their data has been written to EEPROM chips elsewhere on the board.

The files are here:
https://github.com/raspberrypi/rpi-eeprom/releases/download/v2020.04.16-137ad/rpi-boot-eeprom-recovery-2020-04-16-vl805-000137ad.zip

Unzip the archive and copy the 5 files to your boot partition. This can be done either by mounting the card on a PC or from within OpenWrt by mounting the partition temporarily:

mount /dev/mmcblk0p1 /mnt
cd /mnt
unzip /path/to/zipfile
reboot

The instructions say to use a blank card, but that is not necessary. The Raspbian command simply copies them in addition to the kernel, etc that is already there.

10 Likes

its also recommended to unplug all peripherals...

3 Likes

Thank you so much i just updated my pi4 firmware
vcgencmd bootloader_version
Apr 16 2020 18:11:26
version a5e1b95f320810c69441557c5f5f0a7f2460dfb8 (release)
timestamp 1587057086

Bootloader version: 2020-09-03
VL805: 0138a1

1 Like

can someone please post link for latest eeprom update for pi4?

It's probably in the link above your post ...

plz post the link i am unable to find it.
and how to update? In the links posted above, it was zip file with instructions what to do.
But don't know how to update to latest eeprom?
I just need to copy bin file to empty sd card and turn on pi4?

it's right there

and use the instructions from the old zip.

rpi-boot-eeprom-recovery-2020-09-03-vl805-000138a1.zip

this file? I have already updated to it. Is there any new one?

The devs who prepare the firmware files for the RPi recommend you don't update unless you see a specific reason or issue that needs fixing.

As an FYI, there is a new stable eeprom update out now. The date is March 18, 2021:

https://github.com/raspberrypi/rpi-eeprom/releases/tag/v2021.03.18-138a1

Is there a way in OpenWRT to check what eeprom there is on the pi 4?

Did you try the vcgencmd bootloader_version command mentioned in this thread?

Yep;

root@Router:~# vcgencmd bootloader_version 
-ash: vcgencmd: not found
root@Router:~#

opkg install bcm27xx-userland

3 Likes
root@Router:~# vcgencmd bootloader_version 
2022/01/25 14:30:41
version 6efe41bd9d1e5546fa3715e72e1775b7bd813237 (release)
timestamp 1643121041
update-time 0
capabilities 0x0000007f
root@Router:~#