[BPI-R3] How to upgrade firmware via web page?

Hi all,

Currently, I have a BPI-R3 board with official firmware. I follow this page, and we can boot from NAND and EMMC successfully.

I are planning to build our own image from source code.

First, we try to build image from https://git.openwrt.org/openwrt/openwrt.git and we have openwrt-mediatek-filogic-bananapi_bpi-r3-squashfs-sysupgrade.itb. But we can not upgrade itb from web page, any suggestion?

Second, we try another code base to build image from https://github.com/BPI-SINOVOIP/BPI-R3-OPENWRT-V21.02.3.git and we have openwrt-mediatek-mt7986-BPI-R3-NAND-WAN1-SFP1-squashfs-sysupgrade.bin. But if use sysupgrade.bin to upgrade via web page, rootfs can not to be mount.

I need some suggestions about

  1. which code base is better to develop my own firmware image?
  2. how to upgrade via web page? which image? Please help, thanks.

The upgrade mechanism in the image provided by SinoVoip as well as the pre-installed firmware is incompatible with the mechanism in vanilla OpenWrt. Hence, if you plan to use vanilla OpenWrt from git.openwrt.org (which I’d recommend), you have to start again using a micro SD card and install bootloaders to NOR, NAND and/or eMMC. See Banana Pi BPI-R3 OpenWRT image for more details.

Hi @dangowrt

Thanks a lot.

First, what is vanilla OpenWrt? is it meaning a model name? Second, yes, I already follow instruction from official wiki page to install NAND and EMMC boot loader. Im looking for a way or a ready codebase to build firmware image. Thanks.

It means that it’s the OpenWrt, as in what you find on git.openwrt.org or downloads.openwrt.org, not some downstream fork or modification as the OpenWrt-based images provided by SinoVoip or installed on the board when it comes from factory.

By that you probably mean what’s written here https://wiki.banana-pi.org/Banana_Pi_BPI-R3#OpenWRT, right? Because that is SinoVoip’s downstream modification of OpenWrt…

To use official OpenWrt, please follow the steps here:

1 Like

Hi @dangowrt

Good, I have what I need now. I will test firmware from banana’s GitHub first. Thanks.

So in short the Sinovoip build was only a proof of concept that worked, but now that the BPI-R3 is included in official openWRT its recommended to use openwrt builds? For timely updates and security fixes.

yes, bsp-repo will not receive any updates and uses a different (maybe broken) update procedure. so you will have better support with official openwrt…maybe not all hardware is supported (e.g. wifi-leds), but i’m not sure they are working in bsp repo

You can run OpenWrt directly from the microSD card or use the bootloader menu in the serial console to install OpenWrt on either the SPI-NAND or the SPI-NOR flash chip (depending on the position of the physical switch on the board).

Which means you need a serial connection to the router to flash from MicroSD Card to NAND? no other way around that?

Edit: shame on me… you need to install the minicom package in software for that to actually work -.-

You can also task U-Boot to carry out installation on next reboot by modifying the U-Boot environment. For that, no access to serial console is required. See this post: Banana Pi BPI-R3 OpenWRT image

1 Like