When trying the beta it's very obvious there is a drop in wireless speed. This is due to the tx power init script being from the wrong router.
If I copy over tx power init script from the stable to the beta the speed problems are resolved.
$ diff stable/etc/init.d/gl-txpower-init beta/etc/init.d/gl-txpower-init
6,10c6,10
< sft1200_txpower_update(){
< radio0_country=$(uci -q get wireless.radio0.country) || radio0_country=$(cat /proc/gl-hw-info/country_code)
< radio1_country=$(uci -q get wireless.radio1.country) || radio1_country=$(cat /proc/gl-hw-info/country_code)
< radio0_txpower_lvl=$(uci -q get wireless.radio0.txpower_lvl)
< radio1_txpower_lvl=$(uci -q get wireless.radio1.txpower_lvl)
---
> mt7981_sku_update(){
> mt798111_country=$(uci -q get wireless.mt798111.country)
> if [ -z "$mt798111_country" ];then
> mt798111_country=$(cat /proc/gl-hw-info/country_code)
> fi
12,26c12,20
< case "$radio0_country" in
< "JP")
< [ "$radio0_txpower_lvl" != "0" ] && {
< uci set wireless.radio0.txpower_lvl="0"
< uci commit
< sync
< }
< ;;
< *)
< [ -n "$radio0_txpower_lvl" ] && {
< uci delete wireless.radio0.txpower_lvl
< uci commit
< sync
< }
< esac
---
> case "$mt798111_country" in
> "JP")
> sed -i "s/CountryCode=[^ ]*/CountryCode=${mt798111_country}/" /etc/wireless/mediatek/mt7981.dbdc.b0.dat
> sed -i "s/SKUenable=[^ ]*/SKUenable=1/" /etc/wireless/mediatek/mt7981.dbdc.b0.dat
> ;;
> *)
> sed -i "s/SKUenable=[^ ]*/SKUenable=0/" /etc/wireless/mediatek/mt7981.dbdc.b0.dat
> ;;
> esac
28,34c22,30
< case "$radio1_country" in
< "JP")
< [ "$radio1_txpower_lvl" != "0" ] && {
< uci set wireless.radio1.txpower_lvl="0"
< uci commit
< sync
< }
---
> mt798112_country=$(uci -q get wireless.mt798112.country)
> if [ -z "$mt798112_country" ];then
> mt798112_country=$(cat /proc/gl-hw-info/country_code)
> fi
>
> case "$mt798112_country" in
> "JP")
> sed -i "s/CountryCode=[^ ]*/CountryCode=${mt798112_country}/" /etc/wireless/mediatek/mt7981.dbdc.b1.dat
> sed -i "s/SKUenable=[^ ]*/SKUenable=1/" /etc/wireless/mediatek/mt7981.dbdc.b1.dat
37,41c33,34
< [ -n "$radio1_txpower_lvl" ] && {
< uci delete wireless.radio1.txpower_lvl
< uci commit
< sync
< }
---
> sed -i "s/SKUenable=[^ ]*/SKUenable=0/" /etc/wireless/mediatek/mt7981.dbdc.b1.dat
> ;;
48,50c41,43
< "sft1200")
< sft1200_txpower_update
< ;;
---
> "mt3000")
> mt7981_sku_update
> ;;
Seems an init script from a router using mt76 based chip was used.
I do not know if there are other scripts from other routers present.
After copying the tx power script from the stable version over to the beta all my wireless speed issue went away.
I guess with so many models it can happen a file is misplaced, just hope the init scripts are double checked to be for the correct model for the next beta
And the fundamental flow in the assumption that 31 MPDU in one AMPDU is the absolute maximum. It is NOT the case. AMPDU has up to 64 MPDU, and any 802.11 compliant receiver should handle this aggregation correctly.
GL.inet software on SFT1200 does not, and and still (7.4.2beta) truncates the received AMPDU in this beta. Very bad for the throughput that goes down here to some 6Mbps. Very poor performance, not by this setup, but by the developpers assumption that does not follow IEEE standards.
Tue Mar 4 22:55:03 2025 kern.warn kernel: [ 2759.748585] lmac[1] Error, msdu index reach maximum limit, 31
Tue Mar 4 22:55:03 2025 kern.warn kernel: [ 2759.754380] lmac[1] Error, buffer is not uploaded to host buffer completely
Tue Mar 4 22:55:03 2025 kern.warn kernel: [ 2760.042774] lmac[1] Error, msdu index reach maximum limit, 31
Tue Mar 4 22:55:03 2025 kern.warn kernel: [ 2760.048587] lmac[1] Error, buffer is not uploaded to host buffer completely
Tue Mar 4 22:55:04 2025 kern.warn kernel: [ 2760.647656] lmac[1] Error, msdu index reach maximum limit, 31
Tue Mar 4 22:55:04 2025 kern.warn kernel: [ 2760.653450] lmac[1] Error, buffer is not uploaded to host buffer completely
Tue Mar 4 22:55:08 2025 kern.warn kernel: [ 2764.982978] lmac[1] Error, msdu index reach maximum limit, 31
Tue Mar 4 22:55:08 2025 kern.warn kernel: [ 2764.988774] lmac[1] Error, buffer is not uploaded to host buffer completely
Tue Mar 4 22:55:09 2025 kern.warn kernel: [ 2765.313669] lmac[1] Error, msdu index reach maximum limit, 31
Tue Mar 4 22:55:09 2025 kern.warn kernel: [ 2765.319463] lmac[1] Error, buffer is not uploaded to host buffer completely
Mothballed the device again, as this is not IEEE 802.11 compliant.
Yeah it appears the beta is a mix of many scripts from a bunch of routers, some active, some not.
It's bit of mess to be honest. I also reverted back to the stable, a lot less scripts and a lot less running processing as well.
I just downloaded the two .tar sysupgrade files and used unsquashfs to unpack and then compared the file systems. I hope they can untangle it and give us a new cleaned up beta to test soon.
That's a pretty cool test! Seems my labs 400/40 cable is pretty decent even when connected to it using a wireless connection. We have a stock Zyxel NBG7510 running as there is no OpenWrt support for it. Thankfully Zyxel stock is not the worst.
Have you tried a more plain OpenWrt even if it's just 18.x? The build tree on the git I posted below works good, just some packages are old but that would be manually fixed. You could get some mileage out of it with a plain OpenWrt doing ad blocking or something like that?
I am working on a little OpenWrt "vanilla" image based on this with some updated packages plus there is ImmortalWrt but I couldn't get it working as repeater. Seems they only include a very basic wpad that can only do AP modes. Sadly.
I'll put myself in mothballs for a while, please DM me if you have any news or something. I don't get notifications for anything else.