Banana Pi BPI-R3 Router board with MediaTek MT7986(Filogic 830),support Wi-Fi 6/6E,2.5GbE SFP

Please give them a bit time :slight_smile: and ask such questions non-public (direct message). It makes threads unreadable if such posts are between

1 Like

Same here, also written and no response so far.

Prepared wiki,atf,u-boot and linux-kernel

But cannot test because i have no board. Maybe @sinovoip @zuowei8 can test it?

And i’ve got no answer by mail yet too (after 13 days)

1 Like

BPI-R3 schematic diagram :

Can you provide information about the available power for SFP modules? Linux assumes 1W (ie. [email protected]) available for VccT by default:

[    9.768621] sfp sfp1: Host maximum power 1.0W
[    9.773694] sfp sfp2: Host maximum power 1.0W

Some modules (eg. xPON ONT) can draw more than that and that could damage both, the R3 board and the module if not enough power is available.

Specifying the available power in device tree can help Linux to detect modules which draw more than the available power and only power on the transmitter if enough power is available, hence preventing potential damage (by keeping TX_DISABLE signal asserted).

So: How much current can be drawn from each SFP slot?

Do they share a common power rail (ie. 3.3VR_SFP1, 3.3VT_SFP1, 3.3VR_SFP2 and 3.3VT_SFP2 all connected to common 3.3V source?) or are the individual regulators providing the +3.3V for transmitter and receiver of each or both module(s)?

All SFP power supplies are connected to the system VDD33.MP8759GD

1 Like

Will the SFP-slot supporting VDSL-Gbics? Then it would be an interesting replacement for my current r2+vigor132 couple (limited to 100 Mbit)

Yes, VDSL SFP modules should work, afaik @jasle is using one of those as well.

They supporting 100Mbit or 175Mbit only. At least the last DSl profile will not work with German Telekom. May be, it´s a thermal problem. But now there are good news in town. Fibre will come in near future…

Got mine yesterday. Set OpenWrt on NAND, so far better than expexted.

OpenWRT related questions. Does NAT acceleration work? Do we need to enable also some other stuff regarding crypto?

I’ve tried to activate irqbalance, but it seems utterly broken in last openwrt builds.

I am benchmarking two PCs hooked to both SFPs @2.5Gb speeds. It really is bottlenecking at CPU looking at HTOP while doing transfers.

If you want to use hardware offloading you need to enable it in /etc/config/firewall:

config defaults
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option synflood_protect '1'
	option flow_offloading '1'
	option flow_offloading_hw '1'

Also note that in order to offload bridged traffic you will also need to install the bridger package.

The hardware-accelerated crypto is supported by kmod-crypto-hw-safexcel. However, depending on the type of work this can also make things slower, hence in some situations you may want to uninstall this kernel module and use the software implementation instead – in this case you are still benefiting from optimized assembly implementations making use of Aarch64 instructions intended for crypto uses.

Without hardware flow-offloading this is the expected outcome…


Board changes for 1.1:

So far I have seen little incentive to “upgrade” my current BPI-R2/R64s to the BPI-R3. Here are some changes I would suggest for future versions in order to increase usage:

First the no-brainers (changes that are doable with low part counts and would benefit everyone)

  • Should only be 4 IPEX antenna connectors. Board should have on-board mixer for 2.4 + 5GHz. This opens up for future expansion into other bands without having a dozen antennae on a device.
  • Does the board really need emmc + NOR + NAND + microSD? Even for a development board this is excessive. Drop NOR+NAND and reduce costs.

This is a little more trouble:

  • USB2.0-only mPCIe is useful to almost no-one. Wasting space on a 4G only slot is not forward looking. Agree with @dangowrt on switching a PCIe lane from M.2 to mPCIe slot.

I agree with most of your suggestions when it comes to direct use of this board as-in – also the ‘Pi’ name kinda suggests that this board is targeted towards advanced users and tinkerers.

However, as a development and evaluation platform it is very useful to also have SPI-NAND and SPI-NOR flash which are often desirable instead of a (rather huge and expensive) eMMC for new designs of networking products, as they are more reliable and cheaper than even the smallest eMMC.

Which ones to drop also depends on your personal taste: if you’d ask me which of them I’d drop, then I’d drop eMMC and NOR, keeping SDMMC and SPI-NAND which can be used at the same time – having only microSD and eMMC without the option to access both of them at the same time will make installation to eMMC cumbersome…

Regarding the USB2.0-only mPCIe slot: I don’t see a problem with it being USB-only. Back then I was wrongly assuming that the SoC supports either two PCIe x1 or one PCIe x2. That’s not true. It only supports one PCIe slot with two lanes. So having more than one PCIe slot would require the addition of some kind of PCIe switch IC. A better, more useful and cheaper option would be to replace the mPCIe slot with a NGFF/M.2 Key-B which can offer USB 2.0, USB 3.0 and UIM/SIM. That would be future-proof for a while and allow hosting 5G modems. And as a premium feature, Audio/PCM and I2C of the M.2 slot could even also be connected to corresponding SoC pins now exposed only on the GPIO header.

Imho nor is not needed and makes setup harder. Nand is larger and only needed as kind of rescue-storage to access emmc.I like having os on emmc and have ability to boot alternate os from sdcard (test before upgrade).but yes this can be archived also without emmc by replacing sdcards.

As daniel said,pcie lanes cannot be splitted and now i only found m2 modems available needed a adapter i think m2 instead of pcie slot will be better. Maybe switching the 2 slots to make it easier to access m2-pcie-2-sata ports if using an adapter. I like to have usb3 external port and maybe here a usb-would make more sense than for usb2 (but of course on board connector will be larger) and you can have.usb3 on pcie-slot (which is then a m2) allowing 5g modems.

Still waiting for my v1.2 to test reset-switch,but based on schematic it seems no hard-reset interrupting power to soc like on r2/r64 afair. This requires removing powerjack in case of a hang.

But all in one r3 will be a good replacement for my current r2 :slight_smile:

I agree that NOR is not needed if using this board as a ready-made product. That, however, is only part of the story of this board which also serves as the go-to reference board for the MT7986A SoC.

And when looking at it from that angle it is very useful when designing e.g. tri-band Wi-Fi access point based on the R3 board, removing many components to reduce cost. 32 MiB or 64 MiB of SPI-NOR is enough even for dual-boot and very advanced access point router firmware, and it can be cheaper and at the same time more reliable than any of the other storage options.

However, I agree that there is maybe no need to populate the SPI-NOR chip, as people using this as a reference platform shouldn’t be turned away should they have the solder the SPI-NOR chip of choice themselves…


I want to ask for help! I wanted to update the OpenWrt system, but something went wrong. Now my Banana Pi R3 won’t charge.

SF: Detected w25q256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB Reading from 0x180000 to 0x46000000, size 0x100 … OK Reading from 0x180000 to 0x46000000, size 0x1b98080 … OK

Loading kernel from FIT Image at 46000000 …

Using ‘config-1’ configuration Trying ‘kernel-1’ kernel subimage Description: ARM64 OpenWrt Linux-5.4.171 Type: Kernel Image Compression: lzma compressed Data Start: 0x460000e8 Data Size: 28910373 Bytes = 27.6 MiB Architecture: AArch64 OS: Linux Load Address: 0x48080000 Entry Point: 0x48080000 Hash algo: crc32 Hash value: 04231e6a Hash algo: sha1 Hash value: c1b633d7ba137a6b22cbe0dee22b68bb086bf3e5 Verifying Hash Integrity … crc32 error! Bad hash value for ‘hash-1’ hash node in ‘kernel-1’ image node Bad Data Hash ERROR: can’t get kernel image! MT7986>

I downloaded these files:

How can I fix it?

Try OpenWrt from instead of some custom image: See also Banana Pi BPI-R3 OpenWRT image

How can I get 1.2 version of the router? Official store has 1.1 versions only.

R3 is only V1.1, which was previously announced. Only the two resistors R171 and R173, which were recently mass-produced, do not have patches

What about WED? Do we have it functional? Enabling mt7915e wed_enable=Y causes boot error. Hangs just after WED init.