[Banana BPI-R4] all related to MTK-SDK

Good morning @RafalB82 and @titoum, correct? The image I'm currently using is the latest @RafalB82 6.6.86 in emmc, although I believe that patch was already applied by him in 6.6.79.

By the way @RafalB82, great work done on April 26, 2025, with your latest version on 6.6.86.

Thanks for the

1 Like
Applying /opt/openwrt/bpi-r4-openwrt-builder/openwrt/target/linux/mediatek/patches-6.6/mt7988a-bananapi-bpi-r4.dtsi using plaintext:
patch: **** Only garbage was found in the patch input.

am i missing something? build was done then i tried to add those extra patch you provided through mediafire.

edit: ok need to copy at other location: openwrt/target/linux/mediatek/dts/

building on the way

ok dtsi is going ok but the additionnal patch doesnt work:

Patch failed!  Please fix /opt/openwrt/bpi-r4-openwrt-builder/openwrt/target/linux/mediatek/patches-6.6/790-SFP-GE-T-ignore-TX_FAULT.patch!
make[4]: *** [Makefile:27: /opt/openwrt/bpi-r4-openwrt-builder/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-6.6.86/.prepared_8d5b559b67cfc23e5d82ade84f68cd88] Error 1
make[4]: Leaving directory '/opt/openwrt/bpi-r4-openwrt-builder/openwrt/target/linux/mediatek'
make[3]: *** [Makefile:12: compile] Error 2
make[3]: Leaving directory '/opt/openwrt/bpi-r4-openwrt-builder/openwrt/target/linux'
time: target/linux/compile#6.58#10.39#13.24
    ERROR: target/linux failed to build.

will carry on with the rest and see

Why did you copy this patch? Do you have SPF+ Xgspon from luleey?

once fiber will be available at my place, i plan to connect directly to the banana.

i saw sfp and i use already an optic one...i included it :squinting_face_with_tongue:

It is better to remove this pach, it causes a conflict with another patch from MTK. Later, I will post an update to the patch from MTK that makes fixes for luleey and zaram sfp+

ok i was in happy mood today :melting_face:

mainly based on woziwrt and then i took some liberty.

i made also a cp to move the sd card build at the root folder with date-hours tagging: openwrt-bananapi_bpi-r4-sdcard_2025_04_30_03_59_PM.img.gz

2 Likes

Ditto, got the same thing here with a snapshot built from Woziwrt's github script:

Also, for those looking to replace existing devices with BPI-R4, I unfortunately have to report that this aint it yet folks. WiFi signal is way worse that what you'd expect from something that reports 27dbm TxPower.

RSSI reported by a 2.4Ghz Iot device, it was consistently above 80% on my trusty WRT1900ACS and fell down to mid-30-es on BPI-R4 using the same exact channel and channel width,with the router is sitting in the same exact place. I'm using the txpower patch with BPI-R4 reporting 500mw TxPower on 2.4Ghz:

root@OpenWrt:~# iw dev | grep txpower
                txpower 27.00 dBm
                txpower 25.00 dBm
                txpower 27.00 dBm

"I solved it by manually editing my /etc/board.json and /etc/config/network . Then I ran service network reload"

:wink:

1 Like

I solved it by neatly packing everything into its original box and opening a return request lol. The WiFi performance is absolutely abysmal, I can't believe it's not talked about more.

My noise floor is -90dBm on the ancient Linksys I use and goes up to -70dBm on the BE14. Simultaneously my signal strength takes a nosedive. There is no way on earth this card is actually transmitting at advertised 25dBm.

Is anybody else getting build errors for uboot, every build i try and make I get stuck on emmc errors, which causes the entire build to fail, this is true for snapshot builds too,

Go back and look at the radio repots for the WiFi module...

25 dBm is likely only for 11b performance on 2.4 - the rest is sub-20 dBm - it's basically a client card for most purposes...

Here are some bandwidth tests of RC1

topology:

BPI-R4_A (SFP) <----------------------------> (SFP)BPI-R4_B
IKEv2/IPsec <---------------------------------> IKEv2/IPsec
iperf3 <----------------------------------------------> iperf3

one TCP stream - basic sfp connection:

four TCP streams - basic sfp connection:

IKEv2/IPsec over sfp <--> sfp:

Tested with these sfp modules from Sinovoip:

1 Like

The previous post showed the achievable maximums (hence so many retries) With the bandwidth limitation it looks like this

sfp <---> sfp

IKEv2/IPsec over sfp<-->sfp

:raising_hand_man:

EDIT:
These results are for the MTU 1500. For larger MTU (e.g. 9000) they could be a bit better but unfortunately @rmadrad :elephant: patch is not currently compatible with RC1 version due to many MTK patches of mtk_eth_soc.h and mtk_eth_soc.c.

Some benchmark from my setup, now I only have my Windows 11 PC connected

BusyBox v1.36.1 (2025-04-13 16:38:32 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 24.10.1, r28597-0425664679
 -----------------------------------------------------
 _______                        root@OpenWrt
|       |.-----.-----.-----.    ------------
|   -   ||  _  |  -__|     |    OS: OpenWrt 24.10.1 aarch64
|_______||   __|_____|__|__|    Host: Bananapi BPI-R4
         |__|                   Kernel: Linux 6.6.86
 ________        __             Uptime: 3 days, 21 hours, 40 mins
|  |  |  |.----.|  |_           Packages: 595 (opkg)
|  |  |  ||   _||   _|          Shell: ash 1.36.1
|________||__|  |____|          Terminal: dropbear
                                **CPU: mt7988a (4) @ 2.10 GHz**
                                Memory: 547.86 MiB / 3.84 GiB (14%)
                                Swap: Disabled
                                Disk (/): 184.90 MiB / 7.02 GiB (3%) - overlay
                                Disk (/mnt/nvme): 130.56 GiB / 915.82 GiB (14%) - ext4
                                Disk (/overlay): 184.90 MiB / 7.02 GiB (3%) - f2fs [Read-only]

root@OpenWrt:~# mhz
count=839725 us50=20003 us250=100015 diff=80012 cpu_MHz=2098.998


Bpi r4 Local iperf3

root@OpenWrt:~# iperf3 -s -D && iperf3 -c 127.0.0.1
Connecting to host 127.0.0.1, port 5201
[  5] local 127.0.0.1 port 51728 connected to 127.0.0.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  2.00 GBytes  17.2 Gbits/sec    0   1023 KBytes
[  5]   1.00-2.00   sec  2.03 GBytes  17.4 Gbits/sec    0   1023 KBytes
[  5]   2.00-3.00   sec  2.04 GBytes  17.5 Gbits/sec    0   1023 KBytes
[  5]   3.00-4.00   sec  2.03 GBytes  17.4 Gbits/sec    0   1023 KBytes
[  5]   4.00-5.00   sec  1.99 GBytes  17.1 Gbits/sec    0   1023 KBytes
[  5]   5.00-6.00   sec  2.05 GBytes  17.6 Gbits/sec    0   2.31 MBytes
[  5]   6.00-7.00   sec  2.06 GBytes  17.7 Gbits/sec    0   2.31 MBytes
[  5]   7.00-8.00   sec  2.07 GBytes  17.7 Gbits/sec    0   2.31 MBytes
[  5]   8.00-9.00   sec  2.05 GBytes  17.6 Gbits/sec    0   2.31 MBytes
[  5]   9.00-10.00  sec  2.05 GBytes  17.6 Gbits/sec    0   2.31 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  20.4 GBytes  17.5 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  20.4 GBytes  17.5 Gbits/sec                  receiver

iperf Done.

Bpi-r4 <-> My PC 4 streams bidirectional

iperf3.exe -c 192.168.100.4 -P4 -bidir
Connecting to host 192.168.100.4, port 5201
[  5] local 192.168.100.126 port 63952 connected to 192.168.100.4 port 5201
[  7] local 192.168.100.126 port 63953 connected to 192.168.100.4 port 5201
[  9] local 192.168.100.126 port 63954 connected to 192.168.100.4 port 5201
[ 11] local 192.168.100.126 port 63955 connected to 192.168.100.4 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   385 MBytes  3.23 Gbits/sec
[  7]   0.00-1.00   sec   284 MBytes  2.38 Gbits/sec
[  9]   0.00-1.00   sec   155 MBytes  1.30 Gbits/sec
[ 11]   0.00-1.00   sec   238 MBytes  1.99 Gbits/sec
[SUM]   0.00-1.00   sec  1.04 GBytes  8.90 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   1.00-2.01   sec   247 MBytes  2.05 Gbits/sec
[  7]   1.00-2.01   sec   284 MBytes  2.36 Gbits/sec
[  9]   1.00-2.01   sec   306 MBytes  2.54 Gbits/sec
[ 11]   1.00-2.01   sec   265 MBytes  2.20 Gbits/sec
[SUM]   1.00-2.01   sec  1.08 GBytes  9.16 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   2.01-3.00   sec   233 MBytes  1.97 Gbits/sec
[  7]   2.01-3.00   sec   292 MBytes  2.47 Gbits/sec
[  9]   2.01-3.00   sec   310 MBytes  2.62 Gbits/sec
[ 11]   2.01-3.00   sec   264 MBytes  2.23 Gbits/sec
[SUM]   2.01-3.00   sec  1.07 GBytes  9.29 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   3.00-4.01   sec   252 MBytes  2.09 Gbits/sec
[  7]   3.00-4.01   sec   355 MBytes  2.95 Gbits/sec
[  9]   3.00-4.01   sec   286 MBytes  2.37 Gbits/sec
[ 11]   3.00-4.01   sec   200 MBytes  1.67 Gbits/sec
[SUM]   3.00-4.01   sec  1.07 GBytes  9.08 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   4.01-5.01   sec   170 MBytes  1.44 Gbits/sec
[  7]   4.01-5.01   sec   252 MBytes  2.12 Gbits/sec
[  9]   4.01-5.01   sec   386 MBytes  3.26 Gbits/sec
[ 11]   4.01-5.01   sec   283 MBytes  2.39 Gbits/sec
[SUM]   4.01-5.01   sec  1.07 GBytes  9.21 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   5.01-6.00   sec   271 MBytes  2.28 Gbits/sec
[  7]   5.01-6.00   sec   239 MBytes  2.02 Gbits/sec
[  9]   5.01-6.00   sec   308 MBytes  2.60 Gbits/sec
[ 11]   5.01-6.00   sec   262 MBytes  2.21 Gbits/sec
[SUM]   5.01-6.00   sec  1.05 GBytes  9.11 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   6.00-7.00   sec   356 MBytes  2.99 Gbits/sec
[  7]   6.00-7.00   sec   218 MBytes  1.84 Gbits/sec
[  9]   6.00-7.00   sec   241 MBytes  2.03 Gbits/sec
[ 11]   6.00-7.00   sec   268 MBytes  2.25 Gbits/sec
[SUM]   6.00-7.00   sec  1.06 GBytes  9.11 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   7.00-8.01   sec   304 MBytes  2.53 Gbits/sec
[  7]   7.00-8.01   sec   222 MBytes  1.85 Gbits/sec
[  9]   7.00-8.01   sec   248 MBytes  2.07 Gbits/sec
[ 11]   7.00-8.01   sec   328 MBytes  2.73 Gbits/sec
[SUM]   7.00-8.01   sec  1.08 GBytes  9.17 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   8.01-9.01   sec   273 MBytes  2.30 Gbits/sec
[  7]   8.01-9.01   sec   281 MBytes  2.37 Gbits/sec
[  9]   8.01-9.01   sec   277 MBytes  2.33 Gbits/sec
[ 11]   8.01-9.01   sec   261 MBytes  2.19 Gbits/sec
[SUM]   8.01-9.01   sec  1.07 GBytes  9.19 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   9.01-10.01  sec   204 MBytes  1.70 Gbits/sec
[  7]   9.01-10.01  sec   371 MBytes  3.09 Gbits/sec
[  9]   9.01-10.01  sec   350 MBytes  2.91 Gbits/sec
[ 11]   9.01-10.01  sec   188 MBytes  1.57 Gbits/sec
[SUM]   9.01-10.01  sec  1.09 GBytes  9.28 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  2.63 GBytes  2.26 Gbits/sec                  sender
[  5]   0.00-10.01  sec  2.63 GBytes  2.26 Gbits/sec                  receiver
[  7]   0.00-10.01  sec  2.73 GBytes  2.35 Gbits/sec                  sender
[  7]   0.00-10.01  sec  2.73 GBytes  2.34 Gbits/sec                  receiver
[  9]   0.00-10.01  sec  2.80 GBytes  2.40 Gbits/sec                  sender
[  9]   0.00-10.01  sec  2.80 GBytes  2.40 Gbits/sec                  receiver
[ 11]   0.00-10.01  sec  2.50 GBytes  2.14 Gbits/sec                  sender
[ 11]   0.00-10.01  sec  2.50 GBytes  2.14 Gbits/sec                  receiver
[SUM]   0.00-10.01  sec  10.7 GBytes  9.15 Gbits/sec                  sender
[SUM]   0.00-10.01  sec  10.7 GBytes  9.14 Gbits/sec                  receiver

iperf Done.

Bpi-r4 <-> My PC Single

iperf3.exe -c 192.168.100.4
Connecting to host 192.168.100.4, port 5201
[  5] local 192.168.100.126 port 63918 connected to 192.168.100.4 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.02   sec   821 MBytes  6.78 Gbits/sec
[  5]   1.02-2.01   sec   801 MBytes  6.75 Gbits/sec
[  5]   2.01-3.01   sec   810 MBytes  6.83 Gbits/sec
[  5]   3.01-4.00   sec   810 MBytes  6.83 Gbits/sec
[  5]   4.00-5.01   sec   790 MBytes  6.57 Gbits/sec
[  5]   5.01-6.00   sec   808 MBytes  6.82 Gbits/sec
[  5]   6.00-7.01   sec   817 MBytes  6.79 Gbits/sec
[  5]   7.01-8.01   sec   808 MBytes  6.83 Gbits/sec
[  5]   8.01-9.02   sec   808 MBytes  6.72 Gbits/sec
[  5]   9.02-10.01  sec   801 MBytes  6.79 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  7.89 GBytes  6.77 Gbits/sec                  sender
[  5]   0.00-10.01  sec  7.88 GBytes  6.77 Gbits/sec                  receiver

iperf Done.

Bonus - file transfer speed from from app "NAS prerformance tester" via SMB and NVME on bpi-r4

Running warmup...
Running a 1000MB file write on X: once...
-----------------------------
Average (W):    427,05 MB/sec
-----------------------------
Running a 1000MB file read on X: once...
-----------------------------
Average (R):    685,10 MB/sec
-----------------------------

Can you elaborate on what you're implying from this PDF?

I see the power figures jump higher under 5Ghz and 6Ghz iperf tests compared to 2.4Ghz. The difference is there likely due to higher traffic and corresponding higher CPU load.

I'm not sure how you interpret this data to draw any conclusions about wireless transmit power.

The PDF I linked to is the actual RF info based on specific modes for that specific Wireless card - not hypothetical, but this part of their regulatory testing and verification.

You probably pasted wrong link, the doc covers power consumption of the board. There's nothing related to RF info in there.

Yeah - chrome does that sometimes, eh?

Let me dig up the link for the board data - apologies in advance...

Does this link work?

And that's for the WiFi7 combo card...

1 Like

Thanks, appreciate it!
Not sure how to read this data to be honest, the "Standard, without FEM" column seems to be the "set" TX power and the other rows are actual measured power levels. I can see the trend where the wider the channel width, the lower the tx power.

I still don't know if the set TX power is implied to be the max tx power of the board. If that's case then you're right, iw dev software-reported tx power figures are completely overblown.

As an example, 6GHz reports 25dBm power in OpenWrt while the highest figure in this datasheet for 6GHz radio is 18dBm in 11A 54M mode(no one will be using this) and goes all the way down to 10.5dBm in the mode that everyone wants to operate the 6GHz radio - 11BE 5G MCS13 320M

To me this is very disappointing.