Belkin RT3200/Linksys E8450 WiFi AX discussion

I don't think so, better wait for the next one. I tested with my own personalized build. The latest fix was posted 13 hours ago.

1 Like

OpenWrt SNAPSHOT r20775-165b66d910 seems to work fine.

1 Like

Is this still correct?
On my router wed is enabled but there is no mtk_ppe folder. However on debug there are two wed folders, wed0 and wed1.
Both containing three files: regidx, regval and txinfo.

Here are my results using 165b66d910 snapshot (today) and enabling wed. The connection is 1Gbit:

Wired:
image

Wireless: (mac book air m1 client)
image

CPU was under 30% for wireless, and very low for wired.

2 Likes

What is wed and how can I enable it to test? I use my RT3200 as a dumb AP. Will wed offer me anything?

Can you try the steps below?

1 Like

UPDATE: I was able to work around the issue I was having by building a custom image here and force updating in LuCI.

1 Like

As Daniel noted above, they changed the code to allow more than one PPE instance (new mediatek chipsets also offload upload traffic). For the new builds / snapshots of RT3200, checking the hardware offloading paths is done by: cat /sys/kernel/debug/ppe0/bind. If you see client WLAN MACs here when downloading data you have wed enabled.

  1. I am running the latest overnight snapshot but not the one you linked because it is for xiaomi and I have belkin.
  2. I did the file edit you linked and rebooted.
  3. I enabled software flow offloading and hardware flow offloading in Routing/NAT Offloading of Firewall page

My Belkin is configured to be a dumb AP. Does that matter?

#cat /sys/module/mt7915e/parameters/wed_enable
Y

#cat /sys/kernel/debug/ppe0/bind
#

Yes, as flow-offloading usually only happens in situations where flows are actually being tracked, ie. when using NAT/routing. If you want to use WED on a dump AP, you need to install the bridger package which does a bit of BPF magic to get bridged streams tracked (and hence offloaded).

3 Likes

Thank you for suggesting this, daniel. Does the bridger software need configuration or does it just work?

What is BPF_TOOLCHAIN?

I also see that I can't build bridger:

Symbol: PACKAGE_bridger [=n]
Type  : tristate
Defined at tmp/.config-package.in:142
Prompt: bridger.................................... Bridge forwarding accelerator
Depends on: HAS_BPF_TOOLCHAIN [=n]
Location:
-> Base system
elects: PACKAGE_librt [=y] && PACKAGE_libnl-tiny [=y] && PACKAGE_kmod-sched-flower [=n] && PACKAGE_libc [=y] && PACKAGE_li

BPF_TOOLCHAIN needs to be enabled in from-source builds for packages which make use of BPF.

If you don't want to build from source just use the binary packages.

bridger should work without any configuration out-of-the-box. You can configure interfaces to be excluded from bridge forwarding acceleration, by default all interfaces are enabled.

1 Like

Oh thank you. I turned that Advanced configuration options (for developers) ---> on and then turn on BPF toolchain (Build LLVM toolchain for eBPF) --->/<X> Build LLVM toolchain for eBPF. I am having a try now.

My RT3200 "just works". Very happy with it.

I'm only using stable 22.03.0 and 2.4GHz WiFi. I don't need AC or AX speeds.

I setup luci attended upgrade and setup SSH key and login via localhost only (not IP address).

Now I will forget about it until I see there's the next stable release

Great job @daniel and everyone here contributing to the bug finding and improvements.

Such a great community.

I will make another donation to openwrt :slight_smile:

1 Like

My new build worked and I have bridger package installed and running.

# cat /sys/module/mt7915e/parameters/wed_enable
Y

# cat /sys/kernel/debug/ppe0/bind
#

I also did some speed testing and it is 3x slower now than without bridger and that module tweak and hardware decoding.

Before wireless downloads were 600+ Mbps but now are 200-220 Mbps.

I think hardware decoding is confusing things.

If I uncheck "hardware flow offloading" and also "sofrware flow offloading" but leave the module tweak and bridger still running, speeds jump right back up to 600+ Mbps on the same phone.

So the magic seems to be tweaks to the module and bridger. Nothing to do with software flow + hardware offloading check box in luci.

CPU usage on download test with module tweak + bridger around 5% for around 500-600 MBps

CPU usage on download test with module tweak alone (means bridger is not running) is around 45% for around 500-600 Mbps.

Conclusion for dumb AP: use module tweak and use bridger but do not check software flow offload/hardware offload in firewall tab.

Does it make sence?

1 Like

Be aware that flow offloading only works on the 5 GHz band on this device -- the sudden drop in bandwidth combined with the fact that no flows actually show in /sys/kernel/debug/ppe0/bind makes me believe you are most likely connecting on 2.4 GHz band.
I don't have any firewall installed on dump AP boxes, so I'm sure putting flow offloading settings in /etc/config/firewall isn't needed for bridger to work.

The 2.4 GHz transmitter is disabled. Only 5 GHz is on.

Please see my posted edited above. Post collision you replied when I edited :smiley:

When I disabled the firewall hardware offloading I now see entries in

# cat /sys/kernel/debug/ppe0/bind
00322 BND IPv4 5T orig=xxx new=xxx eth-xxx etype=0008 vlan=0,65 ib1=61400028 ib2=007e0060

I edited the output to protect privacy of IP addresses

Been following this recent discussion and got similar results on my RT3200 which is also configured as a dumb AP. Thanks for the discussion @msilletti @daniel

I did noticed that edits to /etc/modules.d/mt7915e are not saved on a reimage. Is there a luci option to set this module parameter that would be retained? If not, I am thinking that a custom file would be the solution.

maybe edit the Makefile like we did for ath10k?
ath10k: enable encapsulation offload by default by tiagogaspar8 · Pull Request #10095 · openwrt/openwrt (github.com)

I am actually having issues with bridger enabled. It seems that not all my devices connected are able to maintain connectivity. I have an iPad on my guest VLAN for example that is reporting "no internet access" despite being connected to the SIDD. Stopping bridger fixed the issue.