Adding OpenWrt support for Xiaomi AX3600 (Part 1)

Using menuconfig when manually building, have you tried removing wpad-basic-wolfssl via opkg and installing wpad-wolfssl

I am not using wolfssl but the wpad-openssl instead ...

Same feature set, just using OpenSSL though it means you are shipping OpenSSL just for hostapd without any benefits

agree ... let me have a go with wolfssl ... I was hoping to use devcrypto with openssl at some point (i know the nss cfi etc issue ...) as wolfssl has a bug with devcrypto

Yes, but I'm my case is not direct. One is simply a wifi AP, so I need to reboot to factory, connect as wifi client, install the packages, and restore config.
Sure there is a faster way, but I'm newbie to all of this.

For this reason I wanted the image with mesh support included. In this way my network will not be broken when sysupgrade.

It seems that I cannot disable building wpad-basic-wolfssl since its pulled in by the target, but it can be set to make and not install and then wpad-wolfssl can be selected.

Its been pushed and is currently building, hopefully it works.

And if you try like this:
echo "CONFIG_PACKAGE_wpad-mini=n" >> .config
echo "CONFIG_PACKAGE_wpad-basic-wolfssl=n" >> .config
echo "CONFIG_PACKAGE_wpad-mesh-wolfssl=y" >> .config
it works for me.

Its already done and built, should be using the full version now.

4 Likes

it is working with wpad-wolfssl (full) on my end ... still have the sysupgrade issue where I need to revert to the alternate partition and upgrade with nand and use a backup ... i suspect there will be memory problems if I would go over 25-30+ clients at the moment it is 15 ...

Upgraded all three nodes with luci, meshes started automatically. Memory usage with 5-15 clients varies between 210-230 MB. I move the clients between the mesh nodes. Everything roams nicely including rtsp surveillance cameras. Near production usage here. Thanks

2 Likes

Tested and working perfectly! Now it can be updated easy. Thanks again for your work!!!!

3 Likes

@robimarko just built the latest version and I am seeing something never happened before:

[ 2285.995829] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
[ 2285.995883] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
[ 2438.970299] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
[ 2438.970354] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
[ 2462.596350] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
[ 2462.596403] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
[ 2486.472021] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
[ 2486.472076] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
[ 2497.287282] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
[ 2497.287336] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
[ 2501.340578] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
[ 2501.340631] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
[ 2526.811301] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
[ 2526.811354] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
[ 2550.688618] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
[ 2550.688671] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0

Same it syslog:

Sun Apr 17 12:05:12 2022 daemon.notice hostapd: wlan1: AP-STA-POLL-OK a4:50:46:35:2c:d7
Sun Apr 17 12:15:06 2022 daemon.notice hostapd: wlan1: AP-STA-POLL-OK a4:50:46:35:2c:d7
Sun Apr 17 12:26:43 2022 daemon.notice hostapd: wlan1: AP-STA-DISCONNECTED a4:50:46:35:2c:d7
Sun Apr 17 12:27:09 2022 daemon.debug hostapd: wlan0: STA a4:50:46:35:2c:d7 IEEE 802.11: authentication OK (open system)
Sun Apr 17 12:27:09 2022 daemon.debug hostapd: wlan0: STA a4:50:46:35:2c:d7 MLME: MLME-AUTHENTICATE.indication(a4:50:46:35:2c:d7, OPEN_SYSTEM)
Sun Apr 17 12:27:09 2022 daemon.debug hostapd: wlan0: STA a4:50:46:35:2c:d7 MLME: MLME-DELETEKEYS.request(a4:50:46:35:2c:d7)
Sun Apr 17 12:27:09 2022 daemon.notice hostapd: wlan0: STA a4:50:46:35:2c:d7 IEEE 802.11: did not acknowledge authentication response
Sun Apr 17 12:27:13 2022 kern.warn kernel: [ 2285.995829] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:27:13 2022 kern.warn kernel: [ 2285.995883] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:27:13 2022 daemon.notice hostapd: wlan1: STA a4:50:46:35:2c:d7 IEEE 802.11: Could not add STA to kernel driver
Sun Apr 17 12:29:46 2022 kern.warn kernel: [ 2438.970299] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:29:46 2022 kern.warn kernel: [ 2438.970354] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:29:46 2022 daemon.notice hostapd: wlan1: STA a4:50:46:35:2c:d7 IEEE 802.11: Could not add STA to kernel driver
Sun Apr 17 12:30:09 2022 kern.warn kernel: [ 2462.596350] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:30:09 2022 kern.warn kernel: [ 2462.596403] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:30:09 2022 daemon.notice hostapd: wlan1: STA a4:50:46:35:2c:d7 IEEE 802.11: Could not add STA to kernel driver
Sun Apr 17 12:30:33 2022 kern.warn kernel: [ 2486.472021] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:30:33 2022 kern.warn kernel: [ 2486.472076] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:30:33 2022 daemon.notice hostapd: wlan1: STA a4:50:46:35:2c:d7 IEEE 802.11: Could not add STA to kernel driver
Sun Apr 17 12:30:44 2022 kern.warn kernel: [ 2497.287282] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:30:44 2022 kern.warn kernel: [ 2497.287336] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:30:44 2022 daemon.notice hostapd: wlan1: STA a4:50:46:35:2c:d7 IEEE 802.11: Could not add STA to kernel driver
Sun Apr 17 12:30:48 2022 kern.warn kernel: [ 2501.340578] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:30:48 2022 kern.warn kernel: [ 2501.340631] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:30:48 2022 daemon.notice hostapd: wlan1: STA a4:50:46:35:2c:d7 IEEE 802.11: Could not add STA to kernel driver
Sun Apr 17 12:31:14 2022 kern.warn kernel: [ 2526.811301] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:31:14 2022 kern.warn kernel: [ 2526.811354] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:31:14 2022 daemon.notice hostapd: wlan1: STA a4:50:46:35:2c:d7 IEEE 802.11: Could not add STA to kernel driver
Sun Apr 17 12:31:38 2022 kern.warn kernel: [ 2550.688618] ath11k c000000.wifi: Failed to add peer: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:31:38 2022 kern.warn kernel: [ 2550.688671] ath11k c000000.wifi: Failed to add station: a4:50:46:35:2c:d7 for VDEV: 0
Sun Apr 17 12:31:38 2022 daemon.notice hostapd: wlan1: STA a4:50:46:35:2c:d7 IEEE 802.11: Could not add STA to kernel driver
Sun Apr 17 12:32:09 2022 daemon.info hostapd: wlan0: STA a4:50:46:35:2c:d7 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)

After a while this client does connect.

My AX210 arrived, iperf3 did 1.64 Gbits Rx or Tx with AX3600.
This time I used Robi build and loaded htop, iperf3 and others via LUCI gui.

Router is using AX 5Ghz chan100@160Mhz, during tests:
2401.9 Mbit/s, 160 MHz, HE-MCS 11, HE-NSS 2
2401.9 Mbit/s, 160 MHz, HE-MCS 11, HE-NSS 2
QCA9887 802.11nac is disable, as I don't use it.

There are other 2 networks in chan 100, but their signal is very low.
chan36 has more networks here, with higher signals, but also got good speed ~1.2 Gbits.


Test #1: laptop sends to router
Client in router: iperf3 -c 192.168.0.204 -t 30 -R -P 2

Server in laptop: [SUM] 0.00-30.00 sec 5.71 GBytes 1.64 Gbits/sec 0 sender

    0[||||||||||||||||||  54.5% 1017MHz] Tasks: 24, 0 thr, 80 kthr; 3 running
    1[|||||||||||||||     43.6% 1017MHz] Load average: 0.76 0.63 0.38 
    2[||||||||||||||||||||62.0% 1017MHz] Uptime: 03:24:02
    3[||||||||||          28.6% 1017MHz] Mem[||||||||||||||||        145M/408M]
  Avg[||||||||||||||||    47.0% 1017MHz] Swp[                            0K/0K]

  PID USER       PRI  NI  VIRT   RES   SHR S CPU%-MEM%   TIME+  Command
 1180 root        20   0     0     0     0 S 65.3  0.0  4:36.18 napi/-16
 1181 root        20   0     0     0     0 S 60.4  0.0  5:15.23 napi/-17
18920 root        20   0  1228   968   704 S 49.5  0.2  0:06.07 iperf3 -c 192.16
 1170 root        20   0     0     0     0 S  5.0  0.0  4:22.43 napi/-7
 1175 root        20   0     0     0     0 S  2.0  0.0  0:47.28 napi/-11
  371 root        RT   0     0     0     0 S  1.0  0.0  0:10.05 sugov:0
 1171 root        20   0     0     0     0 S  1.0  0.0  1:41.16 napi/-8
18818 root        20   0     0     0     0 I  1.0  0.0  0:00.34 kworker/u8:0-eve
18890 root        20   0  1912  1572  1080 R  1.0  0.4  0:12.10 htop

Test#2: router sends to laptop
Note:
When router sends data and laptop receives, single threaded iperf3 gets bottlenecked by 1 core load in router, so I runned 2 servers in laptop for this test.
In real life iperf3 won't be running neither using cpu.
Objective was only to measure max Wifi speed.

Started 2 servers in the laptop:
iperf3 -s -p 5201 -f m
iperf3 -s -p 5202 -f m

Running 2 clients in router:
iperf3 -c 192.168.0.204 -t 30 -p 5201 </dev/null &>/dev/null & iperf3 -c 192.168.0.204 -t 30 -p 5202 </dev/null &>/dev/null &
(the load is well balanced in this test run, in some other runs it wasn't, but objective is only measure max wifi speed)

Server 5201:
[ ID] Interval Transfer Bitrate
[ 5] 0.00-30.00 sec 2.90 GBytes 831 Mbits/sec receiver

Server 5202:
[ ID] Interval Transfer Bitrate
[ 5] 0.00-30.01 sec 2.84 GBytes 814 Mbits/sec receiver

Total speed = 831 + 814 = 1.645 Gbits/s

    0[||||||||||||||||||||68.7% 1382MHz] Tasks: 25, 0 thr, 80 kthr; 3 running
    1[||||||||||||||||||  52.5% 1382MHz] Load average: 0.98 0.30 0.16 
    2[||||||||||||||||||||63.6% 1382MHz] Uptime: 03:16:32
    3[||||||||||||||||||||57.8% 1382MHz] Mem[|||||||||||||||||       150M/408M]
  Avg[||||||||||||||||||||60.5% 1382MHz] Swp[                            0K/0K]

  PID USER       PRI  NI  VIRT   RES   SHR S CPU%-MEM%   TIME+  Command
18895 root        20   0  1096   568   528 R 55.0  0.1  0:07.84 iperf3 -c 192.16
 1170 root        20   0     0     0     0 R 53.0  0.0  3:29.89 napi/-7
18896 root        20   0  1096   568   528 R 50.0  0.1  0:07.69 iperf3 -c 192.16
 1172 root        20   0     0     0     0 S 32.0  0.0  0:51.83 napi/-9
 1171 root        20   0     0     0     0 R 27.0  0.0  1:21.66 napi/-8
 1178 root        20   0     0     0     0 S  9.0  0.0  3:33.15 napi/-14
 1181 root        20   0     0     0     0 S  9.0  0.0  4:48.44 napi/-17
18890 root        20   0  1912  1572  1080 R  3.0  0.4  0:05.44 htop
   10 root        20   0     0     0     0 S  1.0  0.0  0:01.72 ksoftirqd/0
2 Likes

Its a weird bug that others have seen as well.
No idea what causes it though

fyi for everyone ... I noticed after a while that free memory runs short ... just in case every 3h i added the below to crontab

free; sync; echo 3 > /proc/sys/vm/drop_caches ; sync; free; logger dropped_caches

for my setup about 15 clients it seems to be working fine bringing up free memory from 50K to 141K

1 Like

Hi, I am newbie too and faced the same problem. @joba-1 helped me and found out that my compiled image is the problem. You can download the precompiled version here https://github.com/robimarko/openwrt/releases/ at least to prevent bricking your device
Make sure you download the correct asset.

As your current router state unfortunately it is softbricked. But dont worry you can recover it by following this https://youtu.be/VxzEvdDWU_s (debrick section). Make sure you replace .bin file with stock firmware that allow ssh

Goodluck!

Hello, I am trying to connect a tunnel broker, but it cannot make an icmp request. The firmware is robimarko 5.15. allow icmp rule is set.

Hi guys,

I have seen a strange behaviour, I'd like to clear out if this is a behaviour anyone else is seeing.

When selecting the 5ghz channel to "auto" the router always chooses channel 52 I've never seen it choose anything else, ant mind you that that is not the clearest channel in the area. Can anyone confirm this?

Also I've had some weird bugs with vlan filtering and ipv6, does anyone have vlan filtering set up? Even if it works just to know, cause this might be an issue on my side and I'd like to clear that out.

Also, @robimarko , is it normal that I can't do a sysupgrade/flash while in failsafe mode?

I havent used failsafe in ages, so I dont know what features does it even provide

I use ipv4 vlan filtering, no problems.