Adding OpenWrt support for Xiaomi AX3600 (Part 1)

Thanks for your work. Just installed it and did some light tests. Seems every client can still connect and working fine.
Is anything in particular we should have an eye on?

Nothing in particular, just for anything new that got broken.

Hello, I have problems with a device which is taking the old IP from Xiaomi. In Status/Routing ( IPv4 Neighbours), I have all the routes in the "lan" interface, but the device with problems is in (br-lan). I reserved an IP Address, but still taking the old ip.

I would guess that device is remembering it's old IP and will request it from the DHCP server until lease end.

Tagged build 10-17 seems to be working fine on Dynalink WRX36.

One issue I experienced was that selecting dnscrypt as a module did not build a package. I had to select it as built-in <*>

Another was to update SQM with new wifi interface name:

Mon Oct 17 20:44:32 2022 user.notice SQM: Stopping SQM on wlan0
Mon Oct 17 20:44:32 2022 user.notice SQM: ERROR: wlan0 does currently not exist, not even trying to start SQM on nothing.
Mon Oct 17 20:48:46 2022 user.notice SQM: Starting SQM script: piece_of_cake.qos on phy0-ap0, in: 24500 Kbps, out: 900000 Kbps
Mon Oct 17 20:48:46 2022 user.notice SQM: piece_of_cake.qos was started on phy0-ap0 successfully

802.11s works again! <3

I'm going to perform a factory reset, then I'll tell you what happened

That's nice to know, looks like it was the whole mess of trying to backport everything

Good for you!

While the link is established and the link speeds are good, the throughput is unusable for me.
I'm using the mesh through 5 GHz, at ch 48 (but behaves the same at ch 100), so I'm surely hit by issue:

It took almost 5 seconds to run the dmesg command remotely:

$ time ssh 192.168.1.5 -l root dmesg
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.72 (xabolcs@ut2004) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.3.0 r20947+33-63e5ba8e69) 11.3.0, GNU ld (GNU Binutils) 2.37) #0 SMP Mon Oct 17 13:18:50 2022
[    0.000000] Machine model: Xiaomi AX3600
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000005fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
...
[   25.445689] device phy2-ap0 entered promiscuous mode
[   25.451144] br-lan: port 4(phy2-ap0) entered blocking state
[   25.456242] br-lan: port 4(phy2-ap0) entered forwarding state
[   25.789529] br-lan: port 4(phy2-ap0) entered disabled state
[   26.043395] br-lan: port 5(mesh0) entered blocking state
[   26.043439] br-lan: port 5(mesh0) entered disabled state
[   26.048023] device mesh0 entered promiscuous mode
[   27.278217] IPv6: ADDRCONF(NETDEV_CHANGE): phy2-ap0: link becomes ready
[   27.278432] br-lan: port 4(phy2-ap0) entered blocking state
[   27.283690] br-lan: port 4(phy2-ap0) entered forwarding state
[   29.815061] IPv6: ADDRCONF(NETDEV_CHANGE): mesh0: link becomes ready
[   29.815244] br-lan: port 5(mesh0) entered blocking state
[   29.820519] br-lan: port 5(mesh0) entered forwarding state
[   32.489410] l11: disabling

real	0m4.774s
user	0m0.021s
sys	0m0.000s

I did the factory reset, but the problem keep going. Attach image, look 192.168.31.230

i don't know how to debug this.

Everything works, 3 x ax3600 + QNAP in 802.11s meshes on both bands 2.4G/5G. Two new messages I have not seen earlier: Same messages ins ax3600 and in QNAP. Pls. note I'm using Ready built Images from Robi's github. Also keeping configs simple stupid.

Mon Oct 17 16:18:54 2022 kern.err kernel: [    0.343634] bam-dma-engine 704000.dma-controller: num-channels unspecified in dt
Mon Oct 17 16:18:54 2022 kern.err kernel: [    0.343660] bam-dma-engine 704000.dma-controller: num-ees unspecified in dt

1 Like

Nothing important, just warning that default values are used

2 Likes

The recent update seems to be a great improvement, all my clients can connect now. I need to test 802.11s / WDS still, as it didn't work stable for me.

OK, jinxed it. It's still super unstable, here's what I found in logs. Let me know if I can provide some more useful info.

Tue Oct 18 11:24:51 2022 kern.warn kernel: [45007.876023] ath11k_warn: 787 callbacks suppressed
Tue Oct 18 11:24:51 2022 kern.warn kernel: [45007.876046] ath11k c000000.wifi: failed to send WMI_PDEV_BSS_CHAN_INFO_REQUEST cmd
Tue Oct 18 11:24:51 2022 kern.warn kernel: [45007.879740] ath11k c000000.wifi: failed to send pdev bss chan info request
Tue Oct 18 11:24:51 2022 kern.warn kernel: [45007.887409] ath11k c000000.wifi: failed to send WMI_PDEV_BSS_CHAN_INFO_REQUEST cmd
Tue Oct 18 11:24:51 2022 kern.warn kernel: [45007.894159] ath11k c000000.wifi: failed to send pdev bss chan info request
Tue Oct 18 11:24:51 2022 kern.warn kernel: [45007.902298] ath11k c000000.wifi: failed to send WMI_PDEV_BSS_CHAN_INFO_REQUEST cmd
Tue Oct 18 11:24:51 2022 kern.warn kernel: [45007.908578] ath11k c000000.wifi: failed to send pdev bss chan info request
Tue Oct 18 11:24:51 2022 kern.warn kernel: [45007.916465] ath11k c000000.wifi: failed to send WMI_PDEV_BSS_CHAN_INFO_REQUEST cmd
Tue Oct 18 11:24:51 2022 kern.warn kernel: [45007.922884] ath11k c000000.wifi: failed to send pdev bss chan info request
Tue Oct 18 11:24:51 2022 kern.warn kernel: [45007.932197] ath11k c000000.wifi: failed to send WMI_PDEV_BSS_CHAN_INFO_REQUEST cmd
Tue Oct 18 11:24:51 2022 kern.warn kernel: [45007.937327] ath11k c000000.wifi: failed to send pdev bss chan info request
Tue Oct 18 11:24:56 2022 kern.warn kernel: [45012.884737] ath11k_warn: 308 callbacks suppressed
Tue Oct 18 11:24:56 2022 kern.warn kernel: [45012.884760] ath11k c000000.wifi: failed to send WMI_PDEV_BSS_CHAN_INFO_REQUEST cmd
Tue Oct 18 11:24:56 2022 kern.warn kernel: [45012.888453] ath11k c000000.wifi: failed to send pdev bss chan info request
Tue Oct 18 11:24:56 2022 kern.warn kernel: [45012.900901] ath11k c000000.wifi: failed to send WMI_PDEV_BSS_CHAN_INFO_REQUEST cmd
Tue Oct 18 11:24:56 2022 kern.warn kernel: [45012.902776] ath11k c000000.wifi: failed to send pdev bss chan info request
Tue Oct 18 11:24:56 2022 kern.warn kernel: [45012.915333] ath11k c000000.wifi: failed to send WMI_PDEV_BSS_CHAN_INFO_REQUEST cmd
Tue Oct 18 11:24:56 2022 kern.warn kernel: [45012.917190] ath11k c000000.wifi: failed to send pdev bss chan info request
Tue Oct 18 11:24:56 2022 kern.warn kernel: [45012.928860] ath11k c000000.wifi: failed to send WMI_PDEV_BSS_CHAN_INFO_REQUEST cmd
Tue Oct 18 11:24:56 2022 kern.warn kernel: [45012.931594] ath11k c000000.wifi: failed to send pdev bss chan info request
Tue Oct 18 11:24:56 2022 kern.warn kernel: [45013.106712] ath11k c000000.wifi: failed to send WMI_REQUEST_STATS cmd
Tue Oct 18 11:24:56 2022 kern.warn kernel: [45013.106757] ath11k c000000.wifi: could not request fw stats (-108)

FW crapping itself, if kernel did not suppress spamming the log there would have been hundreds of the same.

Doubt that is gonna improve until we can move to newer ath11k FW

I have the same issue...
and hope for a new ath11k FW in the next weeks..

1 Like

Out of curiosity - you mentioned earlier in this thread that you got FW 2.7 running using an external regdb.bin file and a modified BDF. I understand that this is not something you can redistribute due to licensing - but can you provide a high-level idea of how / where you obtained them?

Like did you just download some IPQ807x firmwares for various routers and extract them directly from there? Or did you like extract the 'board-2.bin' files from the firmwares, and use 'ath11k-bdencoder' to pull out the regdb file(s)? Or do you have access to like proprietary QSDK code? etc...

Obviously if you're not comfortable telling me, you can also just tell me to bugger off haha.

I think you can guess what is the only way to get access to latest versions

7 Likes

If it would be like that, he can share it. Some of us do work with QCA in an official manner, but those relations are all heavily regulated by NDAs. So please keep that in mind and don't ask about these things. If and when a share is possible, it will happen. The FW and the BDFs are shared already by QCA, when they have the regdb available we can move to FW 2.7 (at least most of the targets as the AX6 is crashing no matter what we do...).

7 Likes

Understood - sorry about that. I was just having some trouble reading between the lines :sweat_smile: