Adding OpenWrt support for Xiaomi AX3600 (Part 1)

Infact, it also works on my AX6 without ath11k_ahb loaded(or q6v5 firmware loaded failed), but is broken immediately after call insmod ath11k-ahb manually(move ath11k-ahb.ko to another place to ensure not load it before, and move it back after boot complete).

(Not sure if it's related, then I get an kernel crash when I tried to rmmod it again)

Hardware name: Xiaomi Mi AIoT Router AX3600 (DT)
pstate: 40400005 (nZcv daif +PAN -UAO BTYPE=--)
pc : __pi_strcmp+0x18/0x154
lr : sysmon_notify+0x40/0xa0
sp : ffffffc017103b60
x29: ffffffc017103b60 x28: ffffff801e38b840
x27: 0000000000000000 x26: 0000000000000000
x25: 0000000000000000 x24: ffffffc01097e840
x23: ffffffc017103bf0 x22: 0000000000000000
x21: ffffff801e499400 x20: ffffffc017103bf0
x19: ffffff801e499460 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000
x15: 0000000000000000 x14: 0000000000000040
x13: 0000000000000228 x12: ffffff801f707dc0
x11: 0000000000000001 x10: 0101010101010101
x9 : ffffffc017103a10 x8 : 000000000f100000
x7 : 0000000000000000 x6 : ffffffc0109c4980
x5 : ffffffc0109c4950 x4 : ffffffc01047ddb0
x3 : 0000000000000002 x2 : ffffffc017103bf0
x1 : 0000000000000000 x0 : 0000000000000000
Call trace:
 __pi_strcmp+0x18/0x154
 blocking_notifier_call_chain+0x6c/0xa0
 sysmon_stop+0x3c/0x100
 rproc_stop+0x4c/0xf8
 rproc_shutdown+0x74/0xe0
 0xffffffc008c862d0
 ath11k_core_deinit+0x74/0xb0 [ath11k]
 0xffffffc008c8619c
 platform_drv_remove+0x2c/0x50
 device_release_driver_internal+0x110/0x1d8
 driver_detach+0x64/0xd8
 bus_remove_driver+0x58/0xb0
 driver_unregister+0x30/0x60
 platform_driver_unregister+0x14/0x20
 cleanup_module+0x18/0xe08 [ath11k_ahb]
 __arm64_sys_delete_module+0x1b8/0x248
 do_el0_svc+0xd8/0x138
 el0_sync_handler+0x1c0/0x2c8
 el0_sync+0x15c/0x180
Code: f24008ff 540002e1 f2400807 54000141 (f8408402)
---[ end trace 348ca8a560101b3e ]---
Kernel panic - not syncing: Fatal exception
SMP: stopping secondary CPUs
Kernel Offset: disabled
CPU features: 0x0000002,00002000
Memory Limit: none
Rebooting in 3 seconds..

Are you sure that networking works as Ansuel himself complained that it never worked?

ath11k had a bug with rmmod if init failed, so it will crash the kernel.
It was resolved only recently:

@robimarko Iv been trying to keep an eye on ath11k over the Christmas break, but iv seen nothing that looks like it will fix the strange radio reporting of on this HW :frowning:

Its a shame that all the other IPQ807XA HW is so dam expensive (mainly the RAX120)

Yeah, there is nothing, they are completely focused on PCI stuff like QCA639x.
IPQ6018 is even more broken as it will reset the board after initializing ath11k.
I tried to ask on the mailing list but no luck.

Yeah its a shame that the ath11k / qcom devs work in almost total isolation. No more information out of that channel other than what is in the patches :frowning:

I have been going through patches that Qualcomm uses on top as they use quite an old backports as base for wlan drivers and then tons of backported patched and some pending, and I dont see one relevant to us.

Yeah, I did the same before the end of last year (looking at the qcom staging tree).

Also we are working under the assumption that current mainline ath11k works on the IPQ8074 dev boards. (It may well not, in that case its more of a waiting game)

Yes. Ethernet and the IoT WiFi.
I can provide the boot log if you'd like.

IoT works for sure, I know that.
Ethernet would init fine for me, but no traffic would pass.

I manually updated the latest available ath11k firmware from kvalo's IPQ6018 branch on my AX1800 and they load and work just fine running factory firmware FWIW.

Maybe I'm missing something obvious though.

Issue is not with the factory firmware, but rather when running mainline kernel.

Tested on 3 different IPQ6010 or 6018 boards running anything from OpenWrt 5.10 or 5.11 that we run internally at work.

3 Likes

I'm somewhat new to OpenWrt so at risk of sounding ignorant I'll ask, if there's a problem with ipq60xx support, has anyone glanced over 8devices' implementation? They have an IPQ6000/IPQ6010 Wifi6 board and an ipq60xx git branch.

I already have their 8devices Mango board, but even the v2 HW has some serious issues on the HW level.

Also, they are using the same 4.4 kernel from Qualcomm like QSDK does.

3 Likes

You do realize that this thread is exclusively about porting OpenWrt to this device and none of your crappy proprietary firmware troubles, do you?

2 Likes

Looks like this thread has gone cold. Anything that can be done to move things forward?
Maybe there is a way for ordinary people to help with what they can.

3 Likes

HI¡
To the owners of AX6000, we need like eating, that open-wrt is compatible with our router, since the official firmware is very limited.

I think AX6000 is not based on the same chipset as the AX3600 which is the main topic here.
I am not sure how well OpenWRT for AX3600 would translate also to the AX6000.

It will be a lot more difficult to make it work since the CPU in AX6000 is too new.

1 Like

Hello everyone,
Can we have a status of where we are at development ?
It looks like we are stuck on having a working ethernet ports?
Is their is anything we can to help the dev?
Have a nice day!

1 Like