Adding OpenWrt support for Xiaomi AX3600 (Part 1)

Sorry, I meant the router's LAN IP address (not too well versed in networking terms).

For SSH persistence, the method for AX3600 works on the AX6.

I have included codeaurora package qca-ssdk and qca-nss-dp, the ethernet port showed, but there is no traffic.

root@OpenWrt:/# swconfig dev switch0 port port1 show
Port 0:
        mib: Port 0 MIB counters
RxBroad     : 0
RxPause     : 0
RxMulti     : 0
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 0
Rx128Byte   : 0
Rx256Byte   : 0
Rx512Byte   : 0
Rx1024Byte  : 0
Rx1518Byte  : 0
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 0
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 0
TxPause     : 0
TxMulti     : 0
TxUnderRun  : 0
Tx64Byte    : 0
Tx128Byte   : 0
Tx256Byte   : 0
Tx512Byte   : 0
Tx1024Byte  : 0
Tx1518Byte  : 0
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 0
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0
RxUniCast   : 0
TxUniCast   : 0

        pvid: 0
        link: ?unknown-type?

Does anyone know why it show unknown-type here :face_with_monocle:

Came across this by chance...
Claimed to be mostly working according to the translated page.
Figured it was worth posting here in case it could contribute to the development efforts.

1 Like

Firmware from the article above: openwrt-ipq807x-xiaomi_ax3600-squashfs-nand-factory.bin.
For someone brave enough to try, but having problems downloading from baidu cloud :smile:

This build seems to be from @LGA1150 who's also active on the OpenWrt forum.
Source: https://github.com/LGA1150/openwrt/tree/exp

I need smart guys answer :wink:
There are stated, they made OpenWRT for AX3600: https://aisoa.cn/post-3144.html
Link to firmware: https://4pda.ru/forum/dl/post/21688915/openwrt-ipq807x-xiaomi_ax3600-squashfs-nand-factory.zip

What depends on me, I do not believe in such a smart guys on that side... What is this firmware??? I don't know!!! Better do not try this!!!!!

1 Like

here is alternative link https://www32.zippyshare.com/v/i5lVKYjZ/file.html

pass: aisoa.cn

and here is different firmware i think https://www.right.com.cn/forum/thread-4051811-1-1.html

Any English-speaking person who has tested any of these firmwares? Google Translate does a poor job with both Russian and Chinese. I am holding off on purchasing this router until OpenWRT support does arrive.
I really need proper DDNS support and scripts etc.

3 Likes

try this branch(AU_LINUX_QSDK_FIG_TARGET_ALL.11.5.1.285 / openwrt-19.07/ kernel linux-5.4.72): https://source.codeaurora.org/quic/qsdk/releases/manifest/qstak/commit/?h=release

1 Like

Guys, what's with offtopic and random chinese fw images?

Anyway, something on the topic of ath11k.
I finally figured out one of the ath11k problems, why it was not setting regulatory at all.
ath11k has a weird combination in which the regulatory domain is managed by the firmware and not the kernel directly.
But, thankfully firmware does allow kernel sending it regulatory information if ATH_REG_DYNAMIC_USER_REG_HINTS is set.

This appeared to be set by our kmod-ath package already, but it appears that the package was trying to set it to m aka module while its boolean only symbol.
So, I moved it USER_REGD which is already used to ignore all of the Atheros hardcoded regulatory crap they are pulling.
Also, added the forgotten spectral scan symbol for ath11k.

So, now the regulatory setting actually works although it seems that ath11k itself sets even more restrictions.
I presume Xiaomi works around these by shipping different board or caldata files on different regions.

But, weirdly I am hitting various instability issues with the remoteproc lately, it will just randomly crash on ath11k initialization and after a couple of reboots, it will work.

And, bss surveys still timeout meaning that radios don't actually work at all.

12 Likes

Thanks for keeping up on this!

I think it's a small step by small step progress.

Bu it's a pitty it's still not working.

Has anybody heard from @Ansuel / Christian Marangi? He collected 120€ here saying he would work on bringing openwrt to Ax3600 but has not been heard from for some time already. I hope it wasn't just a scam.

I think he has exams all throughout December, I dont think he is a scam with amount of time he put into IPQ806x and NSS

6 Likes

lol, @Ansuel scamming on openwrt??
oh come on..
he has a real life like all of us, as far as i have understood he is an university student, so probably he is fighting with some exams.
apart from the work on NSS (with @quarky ) he is also the mantainer of different packages (like nginx and uwsi for example)
respect

6 Likes

I was able to port tsens, frequency scaling, regulators, SPMI bus etc onto 5.10.
Only PCI remains from the 5.9 tree, that needs a lot of work as DWC3 driver got an overhaul in 5.10 so patches dont apply.

Unfortunately, remoteprocesor is really unstable, it crashes quite often.

2 Likes

I have been looking at networking, it's gonna be a tough one.
Although it uses an adapter based on EDMA from IPQ40xx it looks to be an upgraded version of it.
We could probably port the nss-dp driver for it as it seems to use switchdev from upstream as a base.
But the big issue is the SSDK and switch driver, this is what has been bugging IPQ40xx for a long time now, as that has gotta be the worst code I have ever seen.
It appears to date from early Atheros MIPS days and they have only been patching in support for more and more devices.

2 Likes

For IPQ40xx, there is a new IPQESS ethernet driver and a modified QCA8K DSA driver in @chunkeey's staging tree.

I would like to see them in 5.10 kernel release, resolving the VLAN bug once and for all.

Upstream QCA8K already has VLAN filtering support now, so it only needs to be patched.

1 Like

I know, but if it only was that easy.
That combo has been i the works for a long time and it still does not work as altough it is a AR8337 switch it has many differences to the external one.
Not to mention PSGMII and the whole calibration mess

3 Likes

I added PCIe support to the 5.10 tree as well, but it has some issues.
It detects the QCA9889 but it only succeeds in initializing it every couple of tries, and if it works then tsens does not work.

8 Likes

Hi @robimarko
Thanks for your work and for trying to push it forward
Looks like there are some changes in 5.10.4 kernel (i.e. remoteproc related) - wondering if these changes could help with our progress?