[Banana BPI-R4] Wifi7 status

i personally use a mt76 device since years and all of this hasn't changed. hardware is capable but software as always needs a lot of patching. what i plan to do in first, use the old wifi qca module from my archer-c7 v2 on the bpi-r4, no need for wifi 7. maybe if they release a BE-14 with proper shielding i'll upgrade or wait for the 19 module. all in all in germany we call this a banana product (banana pi=banana product), matures at the customer's, but tbh its a development kit, so we will develop until its a polished product. my archer-c7 is nice but after years its not able to do my 500mbit fibre, without sqm wifi does 500mbit. with sqm around 220mbps, so my main goal is to get up to 1gbps traffic shaping and harware flow offloading. i guess the hardware is more than capable of this. no need for wifi with 3gbps and bufferbloat like hell. internal lan 10/2.5bgps later doesn't need sqm at all. maybe the riser board will be an option to get better snr. capsulate the whole board into shielding use riser board and shield the wifi module. to camparison my fritzbox 7530 with openwrt has -109 IPQ4019, and archer C7 -104 QCA9880 on 5ghz band thats far away from the good -85 on the BE-14 my MT7610E RE200 doesn't even show snr maybe for a good reason

Keep in mind that these devices are lacking the -usually present- EEPROM with the required wireless calibration data, which is offloaded to the main system flash (ART), combined with additional MAC messing. These are not user-replacable, while that doesn't mean that you can't get it working, but it's not going to be fun, at all (kernel/ mac80211 patching, DTS changes, firstboot/ uci-defaults changes, etc. pp.). It's usually more sensible to leave the archer-c7 v2 as-is (and qca9880-br4a is not exactly a relevation either) and to look for the intended mt7915 (or better, AP oriented) radios instead.

1 Like

Agreed - and one approach might be to let the Archer run in AP mode to provide wireless service - not the best perhaps, but sometimes the best wifi is the AP you have handy...

im aware of the ART thingy, didn't do it before but thought that i could just dump it and patch the driver to pick up an image file or an fake mtd4 instead of the mtd4. either it works or i have to use the archer as dumb AP.

I'm running version 24.10.1 and i'm facing this exact issue. This isn't fixed yet. SSH just gets slow. To other machines than openwrt, any ideas?

There is an issue on GH:

can you link the PR so i can keep a track of it when to remove the patch?
Built dangowrt with it but unfortunately no fix of the -75db noise problem.

Hopefully, it won't take forever to be reviewed.

3 Likes

@Betonmischer this is an amazing fix - with more ramifications than just reports: in my case usteer was propagating wrong readings messing up roaming
.
Can I ask you to take a look at this? https://github.com/openwrt/luci/issues/7584
I take the same kind of problem applies not only to reading noise levels but also SSIDs and security settings. Is there any chance you can help with that as well?

This might be a deeper issue than iwinfo alone. Netlink returns a bitmask of radios associated with the VIF, which iwinfo then begins to parse to find the relevant /var/run/hostapd-PHY.RADIO_IDX.conf file. If the radio index is incorrect, no file is found, hence no values returned for SSID and encryption.

First off, the bitmask returned by netlink is inconsistent. I have three VIFS, of which only one has its associated radio reported correctly by iw. The guest AP on on the 5 GHz band and the 2 GHz
AP are erroneously reported to use radios 0, 1 and 2. Possibly, another MT76 driver bug.

root@home-rt-edge-1:~# iw dev
phy#0
	Interface phy0.0-ap0
		ifindex 14
		wdev 0x4
		addr 7e:8e:90:7e:c1:bc
		ssid home-ap-1
		type AP
		channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
		txpower 15.00 dBm
		multicast TXQ:
			qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
			0	0	502363	603	0	0	270	589111430		537255
		Radios: 0 1 2
	Interface phy0.1-ap1
		ifindex 12
		wdev 0x2
		addr 3a:8e:90:7e:c1:bc
		ssid home-ap-guest-1
		type AP
		channel 132 (5660 MHz), width: 80 MHz, center1: 5690 MHz
		txpower 20.00 dBm
		multicast TXQ:
			qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
			0	0	0	0	0	0	0	0		0
		Radios: 0 1 2
	Interface phy0.1-ap0
		ifindex 11
		wdev 0x1
		addr 7e:8e:90:7e:c1:cc
		ssid home-ap-1
		type AP
		channel 132 (5660 MHz), width: 80 MHz, center1: 5690 MHz
		txpower 20.00 dBm
		multicast TXQ:
			qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
			0	0	490686	963	0	0	518545	588895592		536841
		Radios: 1

Now, consider the bitmask resolving to "0 1 2" is correct, i.e., in an MLO configuration. I have no idea what the name of the hostapd .config file would be in this case, and will it parse correctly. I guess, we'll have to wait until MLO support rolls out for the issue to be sorted out in a consistent manner.

Any update on official development for the router

Hey, is someone here that have BE14 and can share some speed test results?

For example, few tests done using https://speed.cloudflare.com/ - where my ISP is providing 1Gbit symmetrical (packet steering enabled for all cores + irqbalance; updated firmware with MTK feed; no WED enabled). Test done on p1g7 (Intel BE200):

  • wifi 6G, 160MHz, BE: 632/740
  • wifi 5G, 160MHz, BE: 612/720

In AX mode:

  • wifi 6G, 160MHz, AX: 710/790
  • wifi 5G, 160MHz, AX: 700/760

Similar results (+/- 10%) I have on fast.com
Local speed done using librespeed-go hosted on BPi-R4 I have:

  • wifi 6G, 160MHz, BE: 1220/1300
  • TBD

Strange, that on previous router Xiaomi AX3200 I have better results for speed tests than using BE14.

AX 5G 160Hz:

iperf3 -c r4 -P10 (uploads always suck with the R4)

  • Intel AX210 160MHz card: 0-10secs 859MBs
  • Oneplus 11 phone: 0-10secs 818MBs

iperf3 -c r4 -P10 -R

  • Intel AX210 160MHz card: 0-10secs 1.61GBs
  • Oneplus 11 phone: 0-10secs 1.53GBs

With wifi AX-BE 6Ghz 160-320Hz, on phone, results vary a lot. With the intel card, the network never shows up. It's windows 10, but it has 22.45.1.1 version of drivers. Supposedly able to work with 6Hz. Also, i have these on hostapd config:

he_6ghz_reg_pwr_type=0
stationary_ap=1

I added this to /lib/netifd/wireless/mac80211.sh:

# lines 514+-
                # intel radios
                append base_cfg "he_6ghz_reg_pwr_type=0" "$N"
                append base_cfg "stationary_ap=1" "$N"
                append base_cfg "he_6ghz_rx_ant_pat=1" "$N"

With a xiami AX1800 router (30€), it only supports 80Hz, but speeds are as stable as possible.

Thanks for the benchmark.
May I ask you for one more test? A iperf3 test but for some public server https://github.com/R0GGER/public-iperf3-servers . Usually it covers my results, where on the router is max bandwidth.

try - https://samknows.com/realspeed/

" RealSpeed is not available on this network"
Interesting, 20 years ago I received router from them that was measuring bandwidth each hour...

so 6ghz/320mhz I get 1.2gbs/109 (fast with 1 to 8 threads) and 820/109 cloudfare .. iperf 1200/110 (which matches my isp)

looks interesting, don't get what is missing on my device that I'm not able to achieve such results - nor on p1g7, oneplus 12 or mi 14t pro.
BTW, are you using official openwrt or with mtk feed? (stupid question, because on both system I have similar results).

I'm pulling off 800mbps on download but that's cause it's set using a software limiter to reduce latency otherwise I've seen peaks of 1.4gbps

1 Like

using the official... one floor up where the router is ... the antennas are almost flat, using an intel killer be200

yes latency is high