Please see the user manual provided by SinoVoip to understand the hardware switches selecting the available storage devices, and which device to boot from.
The required files for installation on stock OEM can be found here: https://firmware-selector.openwrt.org/?target=mediatek%2Ffilogic&id=bananapi_bpi-r3-mini
Refer to the Photos section → 'NAND/eMMC BOOT Switch' to switch between SPI or NAND
BEFORE YOU CONTINUE: Power off your device and set boot switch to boot from SPI-NAND (assuming stock rom or immortalwrt running there)
openwrt-*-r3-mini-emmc-gpt.bin into your device's /tmp directory/dev/mmcblk0 partition using the file we just sent via SCP: dd if=/tmp/openwrt-*-r3-mini-emmc-gpt.bin of=/dev/mmcblk0
/tmp directory: openwrt-*-bananapi_bpi-r3-mini-emmc-preloader.bin openwrt-*-bananapi_bpi-r3-mini-emmc-bl31-uboot.fip openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb
echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-emmc-preloader.bin of=/dev/mmcblk0boot0 dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-emmc-bl31-uboot.fip of=/dev/mmcblk0p3 dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb of=/dev/mmcblk0p4 dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb of=/dev/mmcblk0p5 sync
/dev/mmcblk0boot1: echo 0 > /sys/block/mmcblk0boot1/force_ro dd if=/lib/firmware/airoha/EthMD32.dm.bin of=/dev/mmcblk0boot1 dd if=/lib/firmware/airoha/EthMD32.DSP.bin bs=16384 seek=1 of=/dev/mmcblk0boot1
This method ISN'T RECOMMENDED, it's recommended to leave the SPI-NAND alone and use the eMMC for the other OS
Move files to the device /tmp using scp:
openwrt-*-bananapi_bpi-r3-mini-snand-preloader.bin openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb
mtd write /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-preloader.bin /dev/mtd0 ubidetach -m 1 ubiformat /dev/mtd1 ubiattach -m 1 volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip) ubimkvol /dev/ubi0 -N fip -n 0 -s $volsize -t static ubiupdatevol /dev/ubi0_0 /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip cd /lib/firmware/airoha cat EthMD32.dm.bin EthMD32.DSP.bin > /tmp/en8811h-fw.bin ubimkvol /dev/ubi0 -N en8811h-firmware -n 1 -s 147456 -t static ubiupdatevol /dev/ubi0_1 /tmp/en8811h-fw.bin ubimkvol /dev/ubi0 -n 2 -N ubootenv -s 126976 ubimkvol /dev/ubi0 -n 3 -N ubootenv2 -s 126976 volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb) ubimkvol /dev/ubi0 -n 4 -N recovery -s $volsize ubiupdatevol /dev/ubi0_4 /tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb) ubimkvol /dev/ubi0 -n 5 -N fit -s $volsize ubiupdatevol /dev/ubi0_5 /tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb
P.S.: in case write to MTD results in error, apply the following:
insmod mtd-rw.ko i_want_a_brick=1
P.P.S.: If after NAND flashing to 24.10.0-rc2 and trying flash using TFTP you got an error like this:
Volume en8811h-fw not found! [Airoha] read firmware from UBI failed. EN8811H load firmware fail.
Please change this in the instruction above:
ubimkvol /dev/ubi0 -N en8811h-firmware -n 1 -s 147456 -t static
to:
ubimkvol /dev/ubi0 -N en8811h-fw -n 1 -s 147456 -t static
You will need to access the UART
Incomplete Flash Layout
→ Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.
The default network configuration is:
| Interface Name | Description | Default configuration |
|---|---|---|
| br-lan | LAN & WiFi | 192.168.1.1/24 |
| eth0 | LAN port | None |
| eth1 | WAN port | DHCP |
| phy0 | WiFi 2.4Ghz | Disabled |
| phy1 | WiFi 5Ghz | Disabled |
| Port | Switch port | Notes |
|---|---|---|
| CPU | ? | No Switch |
| WAN | N/A | No Switch |
| LAN | N/A | No Switch |
Data for 4G LTE and SSD LEDs is missing
How to configure LEDs in general, see the LED section in the led_configuration.
The Banana Pi BPi-R3 Mini has 6 front LEDs:
| LED name | LED print | Internal name | Trigger | Added information |
|---|---|---|---|---|
| Power | PWR | N/A | N/A | . |
| System | SYS | green:status | ? | Isn't set by default |
| Wifi 2G | W2G | blue:wlan-1 | netdev | . |
| Wifi 5G | W5G | blue:wlan-2 | netdev | . |
| 4G LTE | LTE | ? | ? | . |
| SSD | SSD | ? | ? | . |
| ? | ? | mt76-phy0 | ? | . |
| ? | ? | mt76-phy1 | ? | . |
The Banana Pi BPi-R3 Mini has 4 rear LEDs (These are LAN Port LEDs, shouldn't be touched in most cases:
| LED name | LED print | Internal name | Trigger | Added information |
|---|---|---|---|---|
| LAN Green | LAN | mdio-bus:0e:green:lan | netdev | . |
| LAN Yellow | LAN | mdio-bus:0e:yellow:lan | netdev | |
| WAN Green | WAN | mdio-bus:0f:green:wan | netdev | . |
| WAN Yellow | WAN | mdio-bus:0f:yellow:wan | netdev | . |
→ hardware.button on howto use and configure the hardware button(s). Here, we merely name the buttons, so we can use them in the above Howto.
The Banana Pi BPi-R3 Mini has the following buttons:
| Button name | Action name | Hex Value |
|---|---|---|
| button-reset | reset | 0198 |
Need photos for exact RX/TX/GND positions on the PCB
Use a 3.3V-TTL USB to Serial/UART converter.
| Serial connection parameters for Banana Pi BPi-R3 Mini | 115200, 8N1 |
|---|
Missing bootlog
Missing bootlog