Adding OpenWrt support for Xiaomi AX3600 (Part 1)

Dumb question: Is it expected that the flash upgrade has "dropped" the NAND?

e.g. the file name has gone from "openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-sysupgrade" to "openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-sysupgrade"

Thank you, but before I could use your advice, it turned out that yesterday's build was installed without any problems, even though the previous two didn't want to.

I use it in the WAN side because my ISP uses it. It worked without problem. I've not used it in the LAN side.

Yes, it was intentional change to follow the standardised naming

1 Like

It's a random issue, but it doesn't happen if we stop wpad before sysupgrade.

is this still happpening ? i thought it was fixed and certainly on the dyna + qnap it doesn't happen to me ...

Yes, I think so, but personally I don't experience it much, not many wifi clients here and the last time I stopped wpad.

I finally backported couple of newer commits for ath11k that we were missing.

13 Likes

I have robimarko's version from around two months ago. I saw some partition size discussions. If I want to update now to the latest release should I do something special or just use sysupgrade?

If you're updating from robimarko's build to robimarko's build you don't need to do anything special.

1 Like

Installed latest version, that I suppose comes with this two new commits, and all seems to be working perfectly.

Hello, looking for a router to buy for my office. Is it usable in cooperate environment? Is it fully functional like in stock? Is OFDMA + MU-MIMO working? Can it handle 20 people with 50mbps per one?

1 Like

I also use it on the wan side - because i connect the AX3600 as "dumb" ap over vlan to my central ax3200. I am not using it on LAN side. But this should work, too...

1 Like

Hi, I have upgraded from a 3-month-old robimarko branch with sysupgrade with keeping all configs. It worked fine, except that the wifi tx is throttling (breaking down) while I have set wireless.radio2.txpower='21' (125mW). This was not the case with the old build.

Here is my iperf3 results that confirm this.
iperf client ==eth==> ax3600 router ==wifi==> iperf server

[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  56.1 MBytes   470 Mbits/sec                  
[  5]   1.00-2.00   sec  2.39 MBytes  20.0 Mbits/sec                  
[  5]   2.00-3.00   sec  23.5 MBytes   197 Mbits/sec                  
[  5]   3.00-4.00   sec  94.4 MBytes   792 Mbits/sec                  
[  5]   4.00-5.00   sec  99.8 MBytes   837 Mbits/sec                  
[  5]   5.00-6.00   sec  2.73 MBytes  22.9 Mbits/sec                  
[  5]   6.00-7.00   sec  0.00 Bytes  0.00 bits/sec                  
[  5]   7.00-8.00   sec  0.00 Bytes  0.00 bits/sec                  
[  5]   8.00-9.01   sec  0.00 Bytes  0.00 bits/sec                  
[  5]   9.01-10.01  sec  0.00 Bytes  0.00 bits/sec                  
[  5]  10.01-11.00  sec  0.00 Bytes  0.00 bits/sec                  
[  5]  11.00-12.01  sec  0.00 Bytes  0.00 bits/sec                  
[  5]  12.01-13.01  sec  0.00 Bytes  0.00 bits/sec                  
[  5]  13.01-14.01  sec  0.00 Bytes  0.00 bits/sec                  
[  5]  14.01-15.00  sec  0.00 Bytes  0.00 bits/sec                  
[  5]  15.00-16.00  sec  0.00 Bytes  0.00 bits/sec                  
[  5]  16.00-17.00  sec  0.00 Bytes  0.00 bits/sec                  
[  5]  17.00-17.21  sec  8.48 KBytes   332 Kbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-17.21  sec   279 MBytes   136 Mbits/sec

iwinfo states 21dBm:

phy1-ap0  ESSID: "OpenWrt"
          Access Point: 28:D1:27:4D:E5:AC
          Mode: Master  Channel: 36 (5.180 GHz)
          Center Channel 1: 42 2: unknown
          Tx-Power: 21 dBm  Link Quality: 47/70
          Signal: -63 dBm  Noise: -108 dBm
          Bit Rate: 1200.9 MBit/s
          Encryption: WPA2 PSK (CCMP)
          Type: nl80211  HW Mode(s): 802.11nacax
          Hardware: unknown [Generic MAC80211]
          TX power offset: unknown
          Frequency offset: unknown
          Supports VAPs: yes  PHY name: phy1

Would it be possible that the txpower option is broken on latest build?
Can somebody confirm my iperf3 results on ax3600? (note that iperf3 server must be on the wifi side to test txpower, it works without throttling on rx direction)

Maybe something is worst compared with older versions. I only tested download/upload speed against internet servers. I've a 100/100 line. Until now, my tests were showing the 100/100 limit perfectly, but now, I get 100 in download but 60 or 70 in upload. So something seems wrong in the upload.
I know internet servers are not the best way to test this, but is the way I can test it right now and I've used it in the latest months without problem.

Hi, ended up with compiled packages. Couldn't get past compile errors and this is above my skills. After "make -j1 V=s" - it ends with

_musl/linux-ipq807x_generic/qca-ssdk-2022-06-15-3b28aac7/build/linux/KSLIB/sw_api_ks_ioctl.o /home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/qca-ssdk-2022-06-15-3b28aac7/build/linux/KSLIB/util.o
/home/mik/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-11.3.0_musl/lib/gcc/aarch64-openwrt-linux-musl/11.3.0/../../../../aarch64-openwrt-linux-musl/bin/ar: creating /home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/qca-ssdk-2022-06-15-3b28aac7/build/bin/ssdk_ks_km.a
mkdir -p ./temp/;cd ./temp;cp ../build/bin/ssdk_ks_km.a ./;ar -x ssdk_ks_km.a; cp ../ko_Makefile ./Makefile;
make -C /home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/linux-5.15.56 M=/home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/qca-ssdk-2022-06-15-3b28aac7/temp/ CROSS_COMPILE=aarch64-openwrt-linux-musl- modules
make[5]: Entering directory '/home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/linux-5.15.56'
  LD [M]  /home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/qca-ssdk-2022-06-15-3b28aac7/temp/qca-ssdk.o
  MODPOST /home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/qca-ssdk-2022-06-15-3b28aac7/temp/Module.symvers
ERROR: modpost: "br_fdb_delete_by_netdev" [/home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/qca-ssdk-2022-06-15-3b28aac7/temp/qca-ssdk.ko] undefined!
make[6]: *** [scripts/Makefile.modpost:134: /home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/qca-ssdk-2022-06-15-3b28aac7/temp/Module.symvers] Error 1
make[6]: *** Deleting file '/home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/qca-ssdk-2022-06-15-3b28aac7/temp/Module.symvers'
make[5]: *** [Makefile:1801: modules] Error 2
make[5]: Leaving directory '/home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/linux-5.15.56'
make[4]: *** [Makefile:17: all] Error 2
make[4]: Leaving directory '/home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/qca-ssdk-2022-06-15-3b28aac7'
make[3]: *** [Makefile:94: /home/mik/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/qca-ssdk-2022-06-15-3b28aac7/.built] Error 2
make[3]: Leaving directory '/home/mik/openwrt/package/qca/nss/qca-ssdk'
time: package/qca/nss/qca-ssdk/compile#79.30#12.65#91.81
    ERROR: package/qca/nss/qca-ssdk failed to build.
make[2]: *** [package/Makefile:116: package/qca/nss/qca-ssdk/compile] Error 1
make[2]: Leaving directory '/home/mik/openwrt'
make[1]: *** [package/Makefile:110: /home/mik/openwrt/staging_dir/target-aarch64_cortex-a53_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/mik/openwrt'
make: *** [/home/mik/openwrt/include/toplevel.mk:230: world] Error 2

For those who can test it: try using the wifi with cipher set from Auto (psk-ccmp in wireless config file) to Force AES (ccmp in config). I have a reason to believe that it causes wpad or ath11k to crash.

EDIT: After some more testing its only one (old ecobee thermostat) out of ~fifteen network clients causes ath11k to crash so there's more to it then just ccmp setting.

I have 1gig/300mbit fiber line, latest Robi gives exactly that: 932/326Mbits on speedtest.

3 Likes

Maybe some problem with my ISP? Each test gives me a different speed, the major part very low. Usually it was very stable.
If there aren't more reports there will be something on my side.

Using Force CCMP for months without problems.
This is just a quick test between two AX3600 (master, client)
VLANs involved.

CH36 - 160 Mhz wide - 24 dBm for both - 1 stream (I know that WiFi would be faster with more parallel streams..), Forced CCMP

root@OW_D:~# iperf3 -c 192.168.15.1
Connecting to host 192.168.15.1, port 5201
[  5] local 192.168.15.253 port 34638 connected to 192.168.15.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  89.0 MBytes   746 Mbits/sec    0   1.66 MBytes
[  5]   1.00-2.00   sec  92.7 MBytes   777 Mbits/sec    0   1.66 MBytes
[  5]   2.00-3.01   sec  93.8 MBytes   782 Mbits/sec    0   1.66 MBytes
[  5]   3.01-4.00   sec  92.5 MBytes   781 Mbits/sec    0   1.66 MBytes
[  5]   4.00-5.00   sec  90.4 MBytes   758 Mbits/sec    0   1.66 MBytes
[  5]   5.00-6.00   sec  94.9 MBytes   796 Mbits/sec    0   1.66 MBytes
[  5]   6.00-7.00   sec  89.5 MBytes   750 Mbits/sec    0   1.66 MBytes
[  5]   7.00-8.00   sec  89.8 MBytes   754 Mbits/sec    0   1.66 MBytes
[  5]   8.00-9.00   sec  90.9 MBytes   763 Mbits/sec    0   1.66 MBytes
[  5]   9.00-10.00  sec  86.5 MBytes   725 Mbits/sec    0   1.66 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   910 MBytes   763 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   908 MBytes   762 Mbits/sec                  receiver

iperf Done.

Same, just Reversed

root@OW_D:~# iperf3 -c 192.168.15.1 -R
Connecting to host 192.168.15.1, port 5201
Reverse mode, remote host 192.168.15.1 is sending
[  5] local 192.168.15.253 port 47160 connected to 192.168.15.1 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  94.1 MBytes   789 Mbits/sec
[  5]   1.00-2.00   sec  92.1 MBytes   772 Mbits/sec
[  5]   2.00-3.00   sec  93.8 MBytes   787 Mbits/sec
[  5]   3.00-4.00   sec  91.8 MBytes   770 Mbits/sec
[  5]   4.00-5.00   sec  96.6 MBytes   810 Mbits/sec
[  5]   5.00-6.00   sec  92.8 MBytes   779 Mbits/sec
[  5]   6.00-7.00   sec  92.4 MBytes   775 Mbits/sec
[  5]   7.00-8.00   sec  95.5 MBytes   801 Mbits/sec
[  5]   8.00-9.00   sec  94.8 MBytes   795 Mbits/sec
[  5]   9.00-10.00  sec  93.7 MBytes   786 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   940 MBytes   788 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   937 MBytes   786 Mbits/sec                  receiver

iperf Done.

Iperf3 PC --> LAN --> AX3600 --> WiFi -->AX3600

Accepted connection from 192.168.15.2, port 65188
[  5] local 192.168.15.253 port 5201 connected to 192.168.15.2 port 65189
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  50.4 MBytes   423 Mbits/sec
[  5]   1.00-2.00   sec  54.0 MBytes   453 Mbits/sec
[  5]   2.00-3.00   sec  53.7 MBytes   451 Mbits/sec
[  5]   3.00-4.00   sec  52.4 MBytes   440 Mbits/sec
[  5]   4.00-5.00   sec  54.1 MBytes   454 Mbits/sec
[  5]   5.00-6.00   sec  53.8 MBytes   451 Mbits/sec
[  5]   6.00-7.00   sec  53.9 MBytes   452 Mbits/sec
[  5]   7.00-8.00   sec  52.3 MBytes   439 Mbits/sec
[  5]   8.00-9.00   sec  52.8 MBytes   443 Mbits/sec
[  5]   9.00-10.00  sec  52.5 MBytes   441 Mbits/sec
[  5]  10.00-10.01  sec   309 KBytes   323 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec   530 MBytes   445 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------

Reversed

Accepted connection from 192.168.15.2, port 65275
[  5] local 192.168.15.253 port 5201 connected to 192.168.15.2 port 65276
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  53.9 MBytes   452 Mbits/sec    0    442 KBytes
[  5]   1.00-2.00   sec  56.0 MBytes   470 Mbits/sec    0    442 KBytes
[  5]   2.00-3.00   sec  56.9 MBytes   477 Mbits/sec    0    442 KBytes
[  5]   3.00-4.00   sec  57.2 MBytes   480 Mbits/sec    0    442 KBytes
[  5]   4.00-5.00   sec  56.9 MBytes   476 Mbits/sec    0    442 KBytes
[  5]   5.00-6.00   sec  55.5 MBytes   466 Mbits/sec    0    442 KBytes
[  5]   6.00-7.00   sec  56.1 MBytes   470 Mbits/sec    0    442 KBytes
[  5]   7.00-8.00   sec  54.8 MBytes   460 Mbits/sec    0    442 KBytes
[  5]   8.00-9.00   sec  58.0 MBytes   486 Mbits/sec    0    442 KBytes
[  5]   9.00-10.00  sec  57.7 MBytes   484 Mbits/sec    0    442 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   563 MBytes   472 Mbits/sec    0             sender
-----------------------------------------------------------
Server listening on 5201 (test #3)
-----------------------------------------------------------

PC --> LAN --> AX3600

Accepted connection from 192.168.15.2, port 65307
[  5] local 192.168.15.1 port 5201 connected to 192.168.15.2 port 65308
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   114 MBytes   959 Mbits/sec    0    438 KBytes
[  5]   1.00-2.00   sec   113 MBytes   948 Mbits/sec    0    438 KBytes
[  5]   2.00-3.00   sec   113 MBytes   951 Mbits/sec    0    438 KBytes
[  5]   3.00-4.00   sec   113 MBytes   949 Mbits/sec    0    438 KBytes
[  5]   4.00-5.00   sec   113 MBytes   950 Mbits/sec    0    438 KBytes
[  5]   5.00-6.00   sec   113 MBytes   948 Mbits/sec    0    438 KBytes
[  5]   6.00-7.00   sec   113 MBytes   946 Mbits/sec    0    438 KBytes
[  5]   7.00-8.00   sec   114 MBytes   953 Mbits/sec    0    438 KBytes
[  5]   8.00-9.00   sec   113 MBytes   949 Mbits/sec    0    438 KBytes
[  5]   9.00-10.00  sec   113 MBytes   948 Mbits/sec    0    438 KBytes
[  5]  10.00-10.00  sec   565 KBytes  1.21 Gbits/sec    0    438 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.11 GBytes   950 Mbits/sec    0             sender
-----------------------------------------------------------
Server listening on 5201 (test #8)
-----------------------------------------------------------
Accepted connection from 192.168.15.2, port 65311
[  5] local 192.168.15.1 port 5201 connected to 192.168.15.2 port 65312
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   113 MBytes   946 Mbits/sec
[  5]   1.00-2.00   sec   113 MBytes   949 Mbits/sec
[  5]   2.00-3.00   sec   113 MBytes   949 Mbits/sec
[  5]   3.00-4.00   sec   113 MBytes   949 Mbits/sec
[  5]   4.00-5.00   sec   113 MBytes   949 Mbits/sec
[  5]   5.00-6.00   sec   113 MBytes   949 Mbits/sec
[  5]   6.00-7.00   sec   113 MBytes   949 Mbits/sec
[  5]   7.00-8.00   sec   113 MBytes   949 Mbits/sec
[  5]   8.00-9.00   sec   113 MBytes   949 Mbits/sec
[  5]   9.00-10.00  sec   113 MBytes   947 Mbits/sec
[  5]  10.00-10.00  sec   400 KBytes   937 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  1.10 GBytes   948 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201 (test #9)
-----------------------------------------------------------

BTW: I experienced dropped TX flow to ~50 Mbit/s after some uptime (before tests), unfortunately I'm not sure what caused this and I was not able to replicate it yet.

2 Likes