Adding OpenWrt support for Xiaomi AX3600 (Part 1)

Can you test without IRQ steering, I am looking to see if my performance improvements after NAPI GRO was added are false or not.

Cause, with just default config I get about 780-ish Mbps, but with GRO implemented I get 930+ Mbps with the core 0 naturally being at 100% in both cases.

I really need a 2.5G NIC and switch for these cases

OK, to be clear: you want the same test without the IRQ mods, but with packet steering and flow offload? Or all should be off?

Ideally, with everything turned off.
I can measure significant performance improvements with GRO in both directions.
So with iperf3 -c and iperf3 -c -R

With everything tuned off, DL speed is capped at 500Mbits, Core 0 is at 100%. UL speed is 330Mbits still, but Core 0 is at 90+%, all single core limited, no distribution among cores.

As this 500 is PPPoE it sounds plausible that you get 780Mbits on IPoE.

Ok, thanks.
This is with PPoE?

It is. Wonder if GRO will help as nicely on PPPoE as on IPoE...

I have pushed the GRO improvement to nss-packages, so just update the feed and recompile.
It would be great to see the speeds after GRO is enabled.

Here you have, but it contains little information, the mesh11sd writes a lot so all info is not here. I've removed the major part of mesh11sd lines because the log did not fill here.
I can remove the mesh11sd package, the mesh worked pefectly without it. Maybe you want this log after a fresh reboot? Sorry for all this newbie questions.

Thu Jun 23 12:02:41 2022 daemon.notice mesh11sd[8486]: wlan0 is not up - giving up for now.
Thu Jun 23 12:03:02 2022 daemon.notice mesh11sd[8486]: wlan0 is not up - giving up for now.
Thu Jun 23 12:03:23 2022 daemon.notice mesh11sd[8486]: wlan0 is not up - giving up for now.
Thu Jun 23 12:05:10 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 12:15:24 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 12:17:42 2022 daemon.warn mesh11sd[8486]: Phantom meshnode detected [XX:XX:XX:XX:XX:XX] - deleting
Thu Jun 23 12:19:58 2022 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-lan) YYY.YYY.YYY.15 XX:XX:XX:XX:XX:XX
Thu Jun 23 12:19:58 2022 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-lan) YYY.YYY.YYY.15 XX:XX:XX:XX:XX:XX
Thu Jun 23 12:19:59 2022 daemon.info dnsmasq[1]: read /etc/hosts - 4 addresses
Thu Jun 23 12:19:59 2022 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 26 addresses
Thu Jun 23 12:19:59 2022 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 3 addresses
Thu Jun 23 12:19:59 2022 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
Thu Jun 23 12:20:00 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.15 XX:XX:XX:XX:XX:XX
Thu Jun 23 12:20:00 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.15 XX:XX:XX:XX:XX:XX pc-habitacion
Thu Jun 23 12:20:03 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.15 XX:XX:XX:XX:XX:XX
Thu Jun 23 12:20:03 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.15 XX:XX:XX:XX:XX:XX pc-habitacion
Thu Jun 23 12:20:21 2022 daemon.notice netifd: wan (2775): udhcpc: sending renew to server ZZZ.ZZZ.ZZZ.1
Thu Jun 23 12:20:21 2022 daemon.notice netifd: wan (2775): udhcpc: lease of ZZZ.ZZZ.ZZZ.ZZZ obtained from ZZZ.ZZZ.ZZZ.ZZZ, lease time 7200
Thu Jun 23 12:25:11 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 12:36:54 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 12:45:21 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 12:50:22 2022 daemon.notice hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: did not acknowledge authentication response
Thu Jun 23 12:50:22 2022 daemon.notice hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: did not acknowledge authentication response
Thu Jun 23 12:50:23 2022 daemon.notice hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: did not acknowledge authentication response
Thu Jun 23 12:50:23 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: authenticated
Thu Jun 23 12:50:23 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: associated (aid 4)
Thu Jun 23 12:50:23 2022 daemon.notice hostapd: wlan24g: AP-STA-CONNECTED XX:XX:XX:XX:XX:XX
Thu Jun 23 12:50:23 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX RADIUS: starting accounting session EF3BA55841E306C2
Thu Jun 23 12:50:23 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX WPA: pairwise key handshake completed (RSN)
Thu Jun 23 12:50:23 2022 daemon.notice hostapd: wlan24g: EAPOL-4WAY-HS-COMPLETED XX:XX:XX:XX:XX:XX
Thu Jun 23 12:50:24 2022 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-lan) XX:XX:XX:XX:XX:XX
Thu Jun 23 12:50:24 2022 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-lan) YYY.YYY.YYY.51 XX:XX:XX:XX:XX:XX
Thu Jun 23 12:50:24 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.51 XX:XX:XX:XX:XX:XX
Thu Jun 23 12:50:24 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.51 XX:XX:XX:XX:XX:XX camara-pasillo
Thu Jun 23 12:50:26 2022 daemon.notice hostapd: wlan5g: AP-STA-DISCONNECTED XX:XX:XX:XX:XX:XX
Thu Jun 23 12:50:26 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: authenticated
Thu Jun 23 12:50:26 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: associated (aid 4)
Thu Jun 23 12:50:27 2022 daemon.notice hostapd: wlan5g: AP-STA-CONNECTED XX:XX:XX:XX:XX:XX
Thu Jun 23 12:50:27 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX RADIUS: starting accounting session A4913CA4CC142AC7
Thu Jun 23 12:50:27 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX WPA: pairwise key handshake completed (RSN)
Thu Jun 23 12:50:27 2022 daemon.notice hostapd: EAPOL-4WAY-HS-COMPLETED XX:XX:XX:XX:XX:XX
Thu Jun 23 12:50:27 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.60 XX:XX:XX:XX:XX:XX
Thu Jun 23 12:50:27 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.60 XX:XX:XX:XX:XX:XX receptor-av
Thu Jun 23 12:52:16 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.76 XX:XX:XX:XX:XX:XX
Thu Jun 23 12:52:16 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.76 XX:XX:XX:XX:XX:XX termostato-nest
Thu Jun 23 12:55:22 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 13:05:06 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 13:08:11 2022 daemon.warn mesh11sd[8486]: Phantom meshnode detected [XX:XX:XX:XX:XX:XX] - deleting
Thu Jun 23 13:15:14 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 13:20:07 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: disconnected due to excessive missing ACKs
Thu Jun 23 13:20:07 2022 daemon.notice hostapd: wlan5g: AP-STA-DISCONNECTED XX:XX:XX:XX:XX:XX
Thu Jun 23 13:20:11 2022 daemon.warn mesh11sd[8486]: Phantom meshnode detected [XX:XX:XX:XX:XX:XX] - deleting
Thu Jun 23 13:20:21 2022 daemon.notice netifd: wan (2775): udhcpc: sending renew to server ZZZ.ZZZ.ZZZ.1
Thu Jun 23 13:20:21 2022 daemon.notice netifd: wan (2775): udhcpc: lease of ZZZ.ZZZ.ZZZ.52 obtained from ZZZ.ZZZ.ZZZ.1, lease time 7200
Thu Jun 23 13:20:32 2022 daemon.warn mesh11sd[8486]: Phantom meshnode detected [XX:XX:XX:XX:XX:XX] - deleting
Thu Jun 23 13:20:37 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Thu Jun 23 13:25:43 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.22 XX:XX:XX:XX:XX:XX
Thu Jun 23 13:25:43 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.22 XX:XX:XX:XX:XX:XX pixelc-alexia
Thu Jun 23 13:29:58 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: authenticated
Thu Jun 23 13:29:58 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: associated (aid 6)
Thu Jun 23 13:29:58 2022 daemon.notice hostapd: wlan5g: AP-STA-CONNECTED XX:XX:XX:XX:XX:XX
Thu Jun 23 13:29:58 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX RADIUS: starting accounting session FC68A82727781E60
Thu Jun 23 13:29:58 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX WPA: pairwise key handshake completed (RSN)
Thu Jun 23 13:29:58 2022 daemon.notice hostapd: EAPOL-4WAY-HS-COMPLETED XX:XX:XX:XX:XX:XX
Thu Jun 23 13:29:58 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.20 XX:XX:XX:XX:XX:XX
Thu Jun 23 13:29:58 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.20 XX:XX:XX:XX:XX:XX pixel4-miguel
Thu Jun 23 13:30:11 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.17 XX:XX:XX:XX:XX:XX
Thu Jun 23 13:30:11 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.17 XX:XX:XX:XX:XX:XX portatil-inetum
Thu Jun 23 13:34:00 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.75 XX:XX:XX:XX:XX:XX
Thu Jun 23 13:34:00 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.75 XX:XX:XX:XX:XX:XX ir-remoto-comedor
Thu Jun 23 13:35:13 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 13:38:20 2022 user.info : luci: accepted login on / for root from YYY.YYY.YYY.15
Thu Jun 23 13:42:13 2022 authpriv.info dropbear[12182]: Child connection from YYY.YYY.YYY.15:2828
Thu Jun 23 13:42:14 2022 authpriv.notice dropbear[12182]: Password auth succeeded for 'root' from YYY.YYY.YYY.15:2828
Thu Jun 23 13:45:14 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.55 XX:XX:XX:XX:XX:XX
Thu Jun 23 13:45:14 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.55 XX:XX:XX:XX:XX:XX television-comedor
Thu Jun 23 13:45:22 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 13:56:47 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 13:57:15 2022 daemon.warn mesh11sd[8486]: Phantom meshnode detected [XX:XX:XX:XX:XX:XX] - deleting
Thu Jun 23 14:04:56 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.76 XX:XX:XX:XX:XX:XX
Thu Jun 23 14:04:56 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.76 XX:XX:XX:XX:XX:XX termostato-nest
Thu Jun 23 14:05:53 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: authenticated
Thu Jun 23 14:05:53 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: associated (aid 8)
Thu Jun 23 14:05:53 2022 daemon.notice hostapd: wlan24g: AP-STA-CONNECTED XX:XX:XX:XX:XX:XX
Thu Jun 23 14:05:53 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX RADIUS: starting accounting session B44D8134E70BB31A
Thu Jun 23 14:05:53 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX WPA: pairwise key handshake completed (RSN)
Thu Jun 23 14:05:53 2022 daemon.notice hostapd: wlan24g: EAPOL-4WAY-HS-COMPLETED XX:XX:XX:XX:XX:XX
Thu Jun 23 14:05:53 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.76 XX:XX:XX:XX:XX:XX
Thu Jun 23 14:05:53 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.76 XX:XX:XX:XX:XX:XX termostato-nest
Thu Jun 23 14:06:16 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 14:11:36 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 14:12:13 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.17 XX:XX:XX:XX:XX:XX
Thu Jun 23 14:12:13 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.17 XX:XX:XX:XX:XX:XX portatil-inetum
Thu Jun 23 14:16:37 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 14:18:47 2022 daemon.warn mesh11sd[8486]: Phantom meshnode detected [XX:XX:XX:XX:XX:XX] - deleting
Thu Jun 23 14:20:21 2022 daemon.notice netifd: wan (2775): udhcpc: sending renew to server ZZZ.ZZZ.ZZZ.1
Thu Jun 23 14:20:21 2022 daemon.notice netifd: wan (2775): udhcpc: lease of ZZZ.ZZZ.ZZZ.52 obtained from ZZZ.ZZZ.ZZZ.1, lease time 7200
Thu Jun 23 14:22:49 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 14:25:29 2022 daemon.warn mesh11sd[8486]: Phantom meshnode detected [XX:XX:XX:XX:XX:XX] - deleting
Thu Jun 23 14:30:05 2022 daemon.warn mesh11sd[8486]: Phantom meshnode detected [XX:XX:XX:XX:XX:XX] - deleting
Thu Jun 23 14:30:33 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 14:35:20 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.81 XX:XX:XX:XX:XX:XX
Thu Jun 23 14:35:20 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.81 XX:XX:XX:XX:XX:XX sonofftrastero
Thu Jun 23 14:35:33 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 14:39:42 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.56 XX:XX:XX:XX:XX:XX
Thu Jun 23 14:39:42 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.56 XX:XX:XX:XX:XX:XX television-cocina
Thu Jun 23 14:40:38 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 14:45:43 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 14:50:52 2022 daemon.notice hostapd: wlan5g: AP-STA-POLL-OK XX:XX:XX:XX:XX:XX
Thu Jun 23 14:57:11 2022 daemon.notice hostapd: wlan5g: AP-STA-DISCONNECTED XX:XX:XX:XX:XX:XX
Thu Jun 23 14:57:11 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: disassociated due to inactivity
Thu Jun 23 14:57:12 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Thu Jun 23 15:07:34 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: authenticated
Thu Jun 23 15:07:34 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX IEEE 802.11: associated (aid 6)
Thu Jun 23 15:07:34 2022 daemon.notice hostapd: wlan5g: AP-STA-CONNECTED XX:XX:XX:XX:XX:XX
Thu Jun 23 15:07:34 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX RADIUS: starting accounting session 0AFD9D2BC71BF3F7
Thu Jun 23 15:07:34 2022 daemon.info hostapd: wlan5g: STA XX:XX:XX:XX:XX:XX WPA: pairwise key handshake completed (RSN)
Thu Jun 23 15:07:34 2022 daemon.notice hostapd: EAPOL-4WAY-HS-COMPLETED XX:XX:XX:XX:XX:XX
Thu Jun 23 15:07:34 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.20 XX:XX:XX:XX:XX:XX
Thu Jun 23 15:07:34 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.20 XX:XX:XX:XX:XX:XX pixel4-miguel
Thu Jun 23 15:07:38 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.5 XX:XX:XX:XX:XX:XX
Thu Jun 23 15:07:38 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.5 XX:XX:XX:XX:XX:XX homeassistant
Thu Jun 23 15:09:11 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.17 XX:XX:XX:XX:XX:XX
Thu Jun 23 15:09:11 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.17 XX:XX:XX:XX:XX:XX portatil-inetum
Thu Jun 23 15:10:15 2022 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) YYY.YYY.YYY.65 XX:XX:XX:XX:XX:XX
Thu Jun 23 15:10:15 2022 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) YYY.YYY.YYY.65 XX:XX:XX:XX:XX:XX altavoz-comedor
Thu Jun 23 15:20:06 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX WPA: group key handshake completed (RSN)
Thu Jun 23 15:20:06 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX WPA: group key handshake completed (RSN)
Thu Jun 23 15:20:06 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX WPA: group key handshake completed (RSN)
Thu Jun 23 15:20:06 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX WPA: group key handshake completed (RSN)
Thu Jun 23 15:20:06 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX WPA: group key handshake completed (RSN)
Thu Jun 23 15:20:06 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX WPA: group key handshake completed (RSN)
Thu Jun 23 15:20:06 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX WPA: group key handshake completed (RSN)
Thu Jun 23 15:20:08 2022 daemon.info hostapd: wlan24g: STA XX:XX:XX:XX:XX:XX WPA: group key handshake completed (RSN)
Thu Jun 23 15:20:21 2022 daemon.notice netifd: wan (2775): udhcpc: sending renew to server ZZZ.ZZZ.ZZZ.1
Thu Jun 23 15:20:21 2022 daemon.notice netifd: wan (2775): udhcpc: lease of ZZZ.ZZZ.ZZZ.52 obtained from ZZZ.ZZZ.ZZZ.1, lease time 7200
Thu Jun 23 15:26:31 2022 authpriv.info dropbear[2923]: Child connection from YYY.YYY.YYY.17:64838
Thu Jun 23 15:26:34 2022 authpriv.notice dropbear[2923]: Password auth succeeded for 'root' from YYY.YYY.YYY.17:64838
Thu Jun 23 15:26:34 2022 authpriv.info dropbear[3400]: Child connection from YYY.YYY.YYY.17:64839
Thu Jun 23 15:26:34 2022 authpriv.notice dropbear[3400]: Password auth succeeded for 'root' from YYY.YYY.YYY.17:64839
Thu Jun 23 15:27:35 2022 user.info : luci: accepted login on / for root from YYY.YYY.YYY.17

Here is some more info about the sysupgrade issue:

kirdes says the sysupgrade error can be seen with serial access.
Maybe a faster way to try to replicate the issue is to kill hostapd/wpad, see if it's killed and start it again to re-do. If needed, kill it like the script does.
I only have the issue like 1 time in 10 or more sysupgrades, so it's difficult to replicate it here.

I didn't have any more problems after adding service wpad stop 2>/dev/null to stage2.
https://forum.openwrt.org/t/adding-openwrt-support-for-xiaomi-ax3600/55049/7539

1 Like

@kirdes is right "kirdes says the sysupgrade error can be seen with serial access."... I fixed my own issues with ax9000 and the dynalynk this way... just look at the uart console during the upgrade

Will do some perf tests late night.

Hello, I installed the latest 5.15-pr release. I can't open ports for some reason. on 5.15 not pr everything worked. I have a public IP. I already called the provider, they say everything is fine on their end.


The firewall is open on the computer.

!!! remove this you leaked a random ip address

Thanks for the warning, but I'm not hiding it, I have several servers on it.

For another random data point, I noted that on the latest build I made from robimarko's repo (with the ethernet offload changes), that I seem to be having issues with WDS for some reason. The AX3600 acts as an AP with WDS enabled, and I have a different router acting as a client to create a wireless bridge.

The client had no issues establishing the bridge prior to the update, but now it does (noting that I made no configuration changes either). I'll investigate further this evening.

Hey! I just installed the 2022-06-22 build and I have to say that at first, it appears to have solved the problems with the inconsistent speeds that I had in the past. Now I get a better and reliable speed than before, or at least, it's seems in the first hours.

But I found a problem, I have a couple of routers as a WiFi to Lan adapters with WDS configured as the official tutorial and now and now seems like neither of them work for some reason, they seem connected to the wifi but they got no connectinon.

@McGiverGim
Here a successful sysupgrade serial log:

Watchdog handover: fd=3
- watchdog -
Watchdog did not previously reset the system
[74870.699029] device wlan1 left promiscuous mode
[74870.699171] br-lan: port 5(wlan1) entered disabled state
Thu Jun 23 18:17:45 WEST 2022 upgrade: Sending TERM to remaining processes ...
Thu Jun 23 18:17:45 WEST 2022 upgrade: Sending signal TERM to hostapd (1809)
Thu Jun 23 18:17:45 WEST 2022 upgrade: Sending signal TERM to hostapd (1854)
[74875.828671] ath11k c000000.wifi: failed to flush transmit queue, data pkts pending 1
[74875.880379] device wlan2 left promiscuous mode
[74875.880477] br-lan: port 4(wlan2) entered disabled state
Thu Jun 23 18:17:49 WEST 2022 upgrade: Sending KILL to remaining processes ...
[74885.028479] stage2 (8099): drop_caches: 3
Thu Jun 23 18:17:55 WEST 2022 upgrade: Switching to ramdisk...
[74886.371361] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" stops
[74886.383104] UBIFS (ubi0:2): un-mount UBI device 0
Thu Jun 23 17:17:57 UTC 2022 upgrade: Performing system upgrade...
...
configuration saved
sysupgrade successful
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
[74891.079718] reboot: Restarting system

Relevant info written to log by /lib/upgrade/stage2 is:

Thu Jun 23 18:17:45 WEST 2022 upgrade: Sending TERM to remaining processes ...
Thu Jun 23 18:17:45 WEST 2022 upgrade: Sending signal TERM to hostapd (1809)
Thu Jun 23 18:17:45 WEST 2022 upgrade: Sending signal TERM to hostapd (1854)
...
Thu Jun 23 18:17:49 WEST 2022 upgrade: Sending KILL to remaining processes ...
...

stage2 first does kill -TERM and then will do kill -KILL.

When log says Thu Jun 23 18:17:49 WEST 2022 upgrade: Sending KILL to remaining processes ..., it is only a text place holder, nothing was done yet.
In this case there was no kill -KILL commands done.

The actual kill command is only executed when he writes the process name, i.e., hostapd (1809) and hostapd (1854).

I'll try a few more times, but I can't get it to fail sysupgrade.

/lib/upgrade/stage2
#!/bin/sh

. /lib/functions.sh
. /lib/functions/system.sh

export IMAGE="$1"
COMMAND="$2"

export INTERACTIVE=0
export VERBOSE=1
export CONFFILES=/tmp/sysupgrade.conffiles

RAMFS_COPY_BIN=		# extra programs for temporary ramfs root
RAMFS_COPY_DATA=	# extra data files

include /lib/upgrade


supivot() { # <new_root> <old_root>
	/bin/mount | grep "on $1 type" 2>&- 1>&- || /bin/mount -o bind $1 $1
	mkdir -p $1$2 $1/proc $1/sys $1/dev $1/tmp $1/overlay && \
	/bin/mount -o noatime,move /proc $1/proc && \
	pivot_root $1 $1$2 || {
		/bin/umount -l $1 $1
		return 1
	}

	/bin/mount -o noatime,move $2/sys /sys
	/bin/mount -o noatime,move $2/dev /dev
	/bin/mount -o noatime,move $2/tmp /tmp
	/bin/mount -o noatime,move $2/overlay /overlay 2>&-
	return 0
}

switch_to_ramfs() {
	RAMFS_COPY_LOSETUP="$(command -v /usr/sbin/losetup)"
	RAMFS_COPY_LVM="$(command -v lvm)"

	for binary in \
		/bin/busybox /bin/ash /bin/sh /bin/mount /bin/umount	\
		pivot_root mount_root reboot sync kill sleep		\
		md5sum hexdump cat zcat dd tar				\
		ls basename find cp mv rm mkdir rmdir mknod touch chmod \
		'[' printf wc grep awk sed cut				\
		mtd partx losetup mkfs.ext4 nandwrite flash_erase	\
		ubiupdatevol ubiattach ubiblock ubiformat		\
		ubidetach ubirsvol ubirmvol ubimkvol			\
		snapshot snapshot_tool date logger			\
		/usr/sbin/fw_printenv /usr/bin/fwtool			\
		$RAMFS_COPY_LOSETUP $RAMFS_COPY_LVM			\
		$RAMFS_COPY_BIN
	do
		local file="$(command -v "$binary" 2>/dev/null)"
		[ -n "$file" ] && install_bin "$file"
	done
	install_file /etc/resolv.conf /lib/*.sh /lib/functions/*.sh	\
		/lib/upgrade/*.sh /lib/upgrade/do_stage2 		\
		/usr/share/libubox/jshn.sh /usr/sbin/fw_setenv		\
		/etc/fw_env.config $RAMFS_COPY_DATA

	mkdir -p $RAM_ROOT/var/lock

	[ -L "/lib64" ] && ln -s /lib $RAM_ROOT/lib64

	supivot $RAM_ROOT /mnt || {
		v "Failed to switch over to ramfs. Please reboot."
		exit 1
	}

	/bin/mount -o remount,ro /mnt
	/bin/umount -l /mnt

	grep -e "^/dev/dm-.*" -e "^/dev/loop.*" /proc/mounts | while read bdev mp _r; do
		umount $mp
	done

	[ "$RAMFS_COPY_LOSETUP" ] && losetup -D
	[ "$RAMFS_COPY_LVM" ] && {
		mkdir -p /tmp/lvm/cache
		$RAMFS_COPY_LVM vgchange -aln --ignorelockingfailure
	}

	grep /overlay /proc/mounts > /dev/null && {
		/bin/mount -o noatime,remount,ro /overlay
		/bin/umount -l /overlay
	}
}

kill_remaining() { # [ <signal> [ <loop> ] ]
	local loop_limit=10

	local sig="${1:-TERM}"
	local loop="${2:-0}"
	local run=true
	local stat
	local proc_ppid=$(cut -d' ' -f4  /proc/$$/stat)

	v "Sending $sig to remaining processes ..."

	while $run; do
		run=false
		for stat in /proc/[0-9]*/stat; do
			[ -f "$stat" ] || continue

			local pid name state ppid rest
			read pid rest < $stat
			name="${rest#\(}" ; rest="${name##*\) }" ; name="${name%\)*}"
			set -- $rest ; state="$1" ; ppid="$2"

			# Skip PID1, our parent, ourself and our children
			[ $pid -ne 1 -a $pid -ne $proc_ppid -a $pid -ne $$ -a $ppid -ne $$ ] || continue

			[ -f "/proc/$pid/cmdline" ] || continue

			local cmdline
			read cmdline < /proc/$pid/cmdline

			# Skip kernel threads
			[ -n "$cmdline" ] || continue

			v "Sending signal $sig to $name ($pid)"
			kill -$sig $pid 2>/dev/null

			[ $loop -eq 1 ] && run=true
		done

		let loop_limit--
		[ $loop_limit -eq 0 ] && {
			v "Failed to kill all processes."
			exit 1
		}
	done
}

indicate_upgrade

while read -r a b c; do
	case "$a" in
		MemT*) mem="$b" ;; esac
done < /proc/meminfo

[ "$mem" -gt 32768 ] && \
	skip_services="dnsmasq log network"
for service in /etc/init.d/*; do
	service=${service##*/}

	case " $skip_services " in
		*" $service "*) continue ;; esac

	ubus call service delete '{ "name": "'"$service"'" }' 2>/dev/null
done

killall -9 telnetd 2>/dev/null
killall -9 dropbear 2>/dev/null
killall -9 ash 2>/dev/null

kill_remaining TERM
sleep 4
kill_remaining KILL 1

sleep 6

echo 3 > /proc/sys/vm/drop_caches

if [ -n "$IMAGE" ] && type 'platform_pre_upgrade' >/dev/null 2>/dev/null; then
	platform_pre_upgrade "$IMAGE"
fi

if [ -n "$(rootfs_type)" ]; then
	v "Switching to ramdisk..."
	switch_to_ramfs
fi

# Exec new shell from ramfs
exec /bin/busybox ash -c "$COMMAND"
1 Like

Hi, what kind of mesh do you use? Just WDS AP and Client, and then same settings? It wasn't really reliable on my routers a few revisions back, so I wonder.

Thanks a lot.

Simply 802.11s.

I repeated the tests I did tomorrow with your GRO mods, nothing improved at least not on top of PPPoE. Single core maxed out in both directions.