Banana Pi BPI-R3 Mini
Tomato64 now runs on the Banana Pi BPI-R3 Mini!
- Mediatek MT7986(Filogic 830)
- Quad core ARM Cortex A53
- AX4200 Wifi (2.4G/5G)
- 2x 2.5G ports
- 2G RAM
- 8G eMMC flash
- 1x M.2 Key M PCIe interface
- 1x M.2 Key B USB interface
- 1x USB2.0
This was a fun port for me to do. The BPI-R3 Mini runs the same Mediatek Filogic 830 chipset as the GL-MT6000, so porting was easy, right? Both yes and no. Overall it wasn’t too bad but there were new things I had to figure out when doing this new port.
In comparison, the GL-MT6000 has a really cool bootloader, it knows how read OpenWrt sysupgrade images and how to install them. All I had to do was create the sysupgrade image and the GL-MT6000 took care of the rest. Since the BPI-R3 Mini doesn’t come with a cool custom bootloader I had to learn a bit about u-boot, arm-trusted-firmware, and come up with a complete router image.
Initially I had mimicked what OpenWrt does, creating a squashfs image and using an overlay to get a writable file system. This in the end wasn’t optimal. Upgrading the kernel would be problematic and docker wasn’t working at all either. I was also borrowing OpenWrt’s bootloader and gpt table layout, but I wasn’t a fan of either for Tomato. In the end I’ve created a completely self-contained image file, a bootloader, and a couple of ethernet firmwares for u-boot tftp capabilities. These were a few extra steps that weren’t need on the GL-MT6000, but in the end I think we got there.
It’s a cute little device. It can fit in the palm of your hand. It should more or less be on par capability wise with the GL-MT6000, just fewer ethernet ports. The two it has are both 2.5g. It also has space for a 2230 nvme ssd which is really cool, but I haven’t tested that out yet myself. Once I have wifi client working in Tomato64 I wager it’d make a great little travel router.
Link to installation instructions below
https://github.com/tomato64/tomato64/wiki/Banana-Pi-BPI%E2%80%90R3-Mini