A new dual 10G router based on Filogic 880 (Banana Pi BPi-R4)

More information here: https://forum.banana-pi.org/t/bpi-r4-not-getting-full-10gbps-speed-on-wan/18134

1 Like

There seems to problems getting the Intel BE200 Wifi7 card to work, and also the Qualcom NCM865 card ?

But what about the Mediatek MT7925 ?

" MediaTek Wi-Fi 7 (802.11be) device Using Filogic 360, which can support Station, AP, P2P, and
monitor modes. Filogic 360 supports max 4096-QAM/160MHz radio operation at 6 GHz,
5 GHz, or 2.4 GHz with 2×2 antennas."

No Driver yet it uses the ath12k Driver. I think the Intel one is CNVi or CNVio they don't work on a lot of stuff.

OK, ath12k is for Qualcomm right ?

I read now that mt7925 was added in the 6.7 linux kernel.

"mt7925: add Mediatek Wi-Fi7 driver for mt7925 chips "

OpenWRT only going to have 6.6

Yes, to bad.

There could be chance that driver gets back ported.

No 320MHz so this is not so good choice dor client card and for ap is also poor.

1 Like

What capabilities does the BPi-R4 have when it comes to eBPF XDP? Is there only support for generic mode or can XDP programs be offloaded to the NIC?

Hello again everyone. i am really satisfied of this device. it is very stable and , more over very powerful.

i have organized my home now in the following way :

banana pi running torrent , Docker , and SMB share with 2tb nvme and 4tb classical hdd.

The banana pi act not only as a perfect 10gbit pppoe router but also acts as a torrent server , backup server ( i use NAKIVO to make the backup of my proxmox vms , directly from my banana pi) and , thx to docker i use my banana pi storage as an s3 endpoint with minio. I have a bucket with all my media library and i stream this to a VPS in germany running plex that i rent for dirty cheap (4.5 eur per month)

All this allows me to turn off my older pc ( ryzen 4600g ) that was doing all the above , but the routing performances where much worst , and power consumption higher. Right now i save every day on average 1kwh. ( some days more some days less)

Considering that he vps costs 4.5 eur per month , and allows me to definetely turn off the pc and decommission it , im on a 120eur per year savings . basically in 1 year the banana pi has repaid itself.

Now i am in for more savings eheheh :slight_smile: Can you reccomend me a wifi card that works in AP mode so that i can decommission my dedicated access point and save an additional 12w an hour ?? card should be wifi 6 at least. thx

3 Likes

simple said - you want this card :wink:

1 Like

Since you started it, I might just follow up with my curiosity :wink:

What is your OpenWrt upgrade strategy on R4 in the long run? Sysupgrade?

How do you handle extra packages ? Re-install every time after upgrade? Do you run OpenWrt packages or another distribution inside OpenWrt?

Do you run your 'torrent' from a Docker? Do you sandbox Docker from the rest of the system?

The questions are about long term maintainability & security. When you mix a router, internet-facing services, and LAN-facing services in R4, what's the strategy to isolate security risk from each other. In case one's security is compromised, the rest isn't affected or its impact is minimised.

I have some preliminary ideas but still in research of some best practices. Right now my R4 in toy mode. I'm still exploring & testing its hardware features.

There was a discussion of OpenSSL performance on BPI R3 vs R4 or on some of newer ARM cores in general a while back.

I think one guy got it right (way before me) that OpenSSL doesn't scale with ARM architectures but simply with core frequency (in recent ARM cores).

I think the reason is that regardless of ARM architectures, it's the same assembly code (hence same optimisation for ARM cores) that OpenSSL uses.

Here are some of the data I captured on my BPI R4

AES-256-CBC
A	@ 1.5   GHz BPI R4 /w -mcpu=cortex-a53 OpenSSL 3.0 -Os
B	@ 1.8   GHz BPI R4 /w -mcpu=cortex-a53 OpenSSL 3.0 -Os
C	@ 1.8   GHz BPI R4 /w -mcpu=cortex-a73 OpenSSL 3.0 -Os
D	@ 1.8   GHz BPI R4 /w -mcpu=cortex-a53 OpenSSL 3.0 -O3
E	@ 2.22  GHz BPI R4 /w -mcpu=cortex-a53 OpenSSL 3.0 -Os

  16 bytes     64 bytes     256 bytes    1024 bytes  8192 bytes   16384 bytes
A 210057.12k   483664.83k   718679.89k   812716.37k   851143.34k   853950.46k
B 253189.29k   581500.57k   862092.71k   975537.49k  1021384.02k  1024901.12k
C 252338.88k   580331.93k   862484.22k   975015.25k  1021384.02k  1024759.13k
D 276834.31k   621574.51k   883923.54k   982811.65k  1022435.33k  1025387.18k
E 303511.09k   716404.89k  1063652.10k  1202575.02k  1259752.11k  1264041.98k

So OpenSSL benchmark is one performance aspect but not a yardstick of exposing SoC performance. It's either limited by assembly code in OpenSSL or the nature of the problem (i.e. AES) that most architectural benefits already baked in and no further can be ripped off until some very substantial microarchitecture change happens in ARM.

My experience (and that is want you will also get to hear from all infrastructure professionals): get specialists instead of Swiss tool army knifes. This is what will save the most nerves and time to get the best user experience and maintainability.

Yes power consumption will be higher but better get some PV panels + battery for that instead of wasting your time which is much more precious in the end...

It will use ARM crypto extensions which I assume have dedicated silicon that won't change much between cores, so yes not that useful for benchmarking...

cpu@1.8. tested to verify i was not screwing up my build :slight_smile:
one core C1 was at 100% during openssl test.

openssl speed aes-256-cbc

type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-256-cbc     281045.49k   626161.53k   884968.11k   983777.62k  1022522.71k  1024404.14k

iperf3 -s -D && iperf3 -c 127.0.0.1

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  28.0 GBytes  24.0 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  28.0 GBytes  24.0 Gbits/sec                  receiver

@eladwf I have a question, how much entries are enabled on each PPE for mt7988 in driver? Seems 8192 only? But the hw supports 32768.

rtorrent is the one build in open wrt. . I will upgrade by snapshot and reinstall soft manually. I use docker to host MinIO s3 . Docker has alway the last release It is set in Host mode . Mini io accepts connections only from my remote server ip on firewall every other connection is dropped. Nakivo (the backup app) , can be updated also very easily , and actually i work for the company developing the soft , so i am well aware of how mantain it,

Yes, it's set to 8K entries. I don't think it's necessary to increase it, but you may change it to up to 32K. It works properly even with 32K, I checked. The multiple PPEs patch is already on net-next so you get 8K per GMAC

Thanks for reply. Could you send a patch to increase that? It is useful for bt download and pcdn jobs and I don't know much about this driver's code to do it by myself. :smiling_face_with_tear: