Adding OpenWrt support for Xiaomi AX3600 (Part 1)

it works fine with the dynalink (PC - wifi - dyna)

160mhz channel 100

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  97.6 MBytes   819 Mbits/sec    0   3.01 MBytes
[  5]   1.00-2.00   sec   114 MBytes   954 Mbits/sec    0   3.01 MBytes
[  5]   2.00-3.00   sec  52.5 MBytes   440 Mbits/sec  126   1.94 MBytes
[  5]   3.00-4.00   sec  81.2 MBytes   681 Mbits/sec  112   1.32 MBytes
[  5]   4.00-5.00   sec  97.5 MBytes   818 Mbits/sec    7   1.20 MBytes
[  5]   5.00-6.00   sec   115 MBytes   965 Mbits/sec    0   1.26 MBytes
[  5]   6.00-7.00   sec  96.2 MBytes   807 Mbits/sec    0   1.31 MBytes
[  5]   7.00-8.00   sec   119 MBytes   996 Mbits/sec    0   1.37 MBytes
[  5]   8.00-9.00   sec   124 MBytes  1.04 Gbits/sec    0   1.43 MBytes
[  5]   9.00-10.00  sec   124 MBytes  1.04 Gbits/sec    0   1.49 MBytes
[  5]  10.00-11.00  sec   126 MBytes  1.06 Gbits/sec    0   1.55 MBytes
[  5]  11.00-12.00  sec   128 MBytes  1.07 Gbits/sec    0   1.61 MBytes
[  5]  12.00-13.00  sec   126 MBytes  1.06 Gbits/sec    0   1.67 MBytes
[  5]  13.00-14.00  sec   132 MBytes  1.11 Gbits/sec    0   1.72 MBytes
[  5]  14.00-15.00  sec   131 MBytes  1.10 Gbits/sec    0   1.77 MBytes
[  5]  15.00-16.00  sec   130 MBytes  1.09 Gbits/sec    0   1.83 MBytes
[  5]  16.00-17.00  sec   124 MBytes  1.04 Gbits/sec    0   1.87 MBytes
[  5]  17.00-18.00  sec   132 MBytes  1.11 Gbits/sec    0   1.92 MBytes
[  5]  18.00-19.00  sec   135 MBytes  1.13 Gbits/sec    0   1.97 MBytes
[  5]  19.00-20.00  sec   134 MBytes  1.12 Gbits/sec    0   2.02 MBytes
[  5]  20.00-21.00  sec   135 MBytes  1.13 Gbits/sec    0   2.07 MBytes
[  5]  21.00-22.00  sec   136 MBytes  1.14 Gbits/sec    0   2.12 MBytes
[  5]  22.00-23.00  sec   134 MBytes  1.12 Gbits/sec    0   2.16 MBytes
[  5]  23.00-24.00  sec   116 MBytes   975 Mbits/sec    0   2.37 MBytes
[  5]  24.00-25.00  sec   120 MBytes  1.01 Gbits/sec    0   2.63 MBytes
[  5]  25.00-26.00  sec   121 MBytes  1.02 Gbits/sec    0   2.94 MBytes
[  5]  26.00-27.00  sec   125 MBytes  1.05 Gbits/sec    0   3.01 MBytes
[  5]  27.00-28.00  sec   128 MBytes  1.07 Gbits/sec    0   3.01 MBytes
[  5]  28.00-29.00  sec   121 MBytes  1.02 Gbits/sec    0   3.01 MBytes
[  5]  29.00-30.00  sec   120 MBytes  1.01 Gbits/sec    0   3.01 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-30.00  sec  3.49 GBytes  1000 Mbits/sec  245             sender
[  5]   0.00-31.59  sec  3.49 GBytes   949 Mbits/sec                  receiver
1 Like

VLANs work on the LAN, too, screenshot from a dumb AP:

You need to set up the devices in Network -> Devices first.

A bit offtopic on this thread, because it is not device specific: There is a video that helped me. Still works the same on OpenWRT 22 but explains VLAN setup on OpenWRT 21 in some detail. It also explains what VLANs are and the differences to OpenWRT 19, skip to ~8:10 if you don't need that.

Here it is: https://www.youtube.com/watch?v=qeuZqRqH-ug

2 Likes

just a generic question about bringing the ip807x into the openwrt mainstream. Is it the plan to wait for the next longterm kernel version (6.1 ?) and align with whatever the openwrt version will be then ? or what is it ? ipq807x seems quite stable of course there are borderline use cases that may not be supported ? just thought to ask
thank you

2 Likes

I am waiting on 6.1 backports to avoid the mess of 300+ backports

16 Likes

The AX3600 is now supported on the Advanced Reboot Luci package: https://github.com/stangri/repo.openwrt.melmac.net/blob/master/luci-app-advanced-reboot_1.0.1-6_all.ipk

4 Likes

Is this random issue prevalent on every IPQ807x device? Such as AX9000 also?

Yes, as it's related to the upstream ath11k driver.

3 Likes

I noticed that TX drop speed as-well. Unfortunately, I couldn't find any error on syslog.

On that feedback and with the suggestion of @dimfish, proposed a patch on the @robimarko 's repo: https://github.com/robimarko/openwrt/pull/89

The wiki is updated as-well.

1 Like

Hello. Does wifi 160 Mhz work on the latest firmware from robimarko from 05.12? I try different channels but the wifi does not get up at all. At 80Mhz everything works. Regards.

it does work ... qnap + dynalink ... didn't tried it on the latest commit on ax3600

Added unoffical Redmi AX6 support to latest source:

{
	"vendorName": "Redmi",
	"deviceName": "AX6",
	"boardNames": [ "redmi,ax6" ],
	"partition1MTD": "mtd12",
	"partition2MTD": "mtd13",
	"labelOffset": 266432,
	"bootEnv1": "flag_boot_rootfs",
	"bootEnv1Partition1Value": 0,
	"bootEnv1Partition2Value": 1,
	"bootEnv2": "flag_last_success",
	"bootEnv2Partition1Value": 0,
	"bootEnv2Partition2Value": 1
}

Uploaded the built .ipk here:
redmi-ax6-luci-app-advanced-reboot_1.0.1-3_all.ipk

2 Likes

You should consider sending PR to https://github.com/stangri/source.openwrt.melmac.net/

2 Likes

Yes please submit your Patch to the maintainer of luci-app-advanced-reboot, otherwise it is lost.

Just to confirm, you're asking me to submit the patch to the maintainer of luci-app-advanced-reboot?

Actually I meant @Gingernut not you , sorry

I assume you are waiting for the final 6.1 backports? As RC8 was just pushed yesterday by Felix.

No, there is no point as RC versions work fine, I am just now rebasing on master.

Will update the issue tracker with what needs to happen before a PR today.

And something broke:

[    8.049813] ath11k c000000.wifi: ipq8074 hw2.0
[    8.050056] remoteproc remoteproc0: powering up cd00000.q6v5_wcss
[    8.061512] remoteproc remoteproc0: Booting fw image IPQ8074/q6_fw.mdt, size 668
[    8.761277] remoteproc remoteproc0: remote processor cd00000.q6v5_wcss is now up
[    8.762782] ath11k c000000.wifi: qmi ignore invalid mem req type 3
[    8.768276] ath11k c000000.wifi: chip_id 0x0 chip_family 0x0 board_id 0xff soc_id 0xffffffff
[    8.773773] ath11k c000000.wifi: fw_version 0x250a04a5 fw_build_timestamp 2021-12-20 07:09 fw_build_id WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
[    8.783349] kmodloader: done loading kernel modules from /etc/modules.d/*
[    8.891643] qcom-q6v5-wcss-pil cd00000.q6v5_wcss: fatal error received: 
[    8.891643] QC Image Version: QC_IMAGE_VERSION_STRING=WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
[    8.891643] Image Variant : IMAGE_VARIANT_STRING=8074.wlanfw.eval_v2Q
[    8.891643] 
[    8.891643]     :Excep  :0 Exception detectedparam0 :zero, param1 :zero, param2 :zero.
[    8.891643] Thread ID      : 0x00000072  Thread name    : wlan_platform  Process ID     : 0
[    8.891643] Register:
[    8.891643] SP : 0x4b58c930
[    8.891643] FP : 0x4b58c940
[    8.891643] PC : 0x4b28cc60
[    8.891643] SSR : 0x00000003
[    8.891643] BADVA : 0x00000224
[    8.891643] LR : 0x4b28cc4c
[    8.891643] 
[    8.891643] Stack Dump
[    8.891643] from : 0x4b58c930
[    8.891643] to   : 0x4b58ce00
[    8.891643] 
[    8.938567] remoteproc remoteproc0: crash detected in cd00000.q6v5_wcss: type fatal error
[    8.960808] remoteproc remoteproc0: handling crash #1 in cd00000.q6v5_wcss
[    8.969018] remoteproc remoteproc0: recovering cd00000.q6v5_wcss
[    9.001523] remoteproc remoteproc0: stopped remote processor cd00000.q6v5_wcss
[   12.491193] br-lan: port 1(eth0) entered blocking state
[   12.491236] br-lan: port 1(eth0) entered disabled state
[   12.495496] device eth0 entered promiscuous mode
[   12.506119] br-lan: port 2(eth1) entered blocking state
[   12.506168] br-lan: port 2(eth1) entered disabled state
[   12.510453] device eth1 entered promiscuous mode
[   12.518634] br-lan: port 3(eth2) entered blocking state
[   12.520326] br-lan: port 3(eth2) entered disabled state
[   12.525534] device eth2 entered promiscuous mode
[   12.532828] nss-dp 3a001600.dp4 eth3: PHY Link up speed: 1000
[   12.535975] br-lan: port 4(eth3) entered blocking state
[   12.540982] br-lan: port 4(eth3) entered disabled state
[   12.546276] device eth3 entered promiscuous mode
[   12.559316] br-lan: port 5(eth4) entered blocking state
[   12.559352] br-lan: port 5(eth4) entered disabled state
[   12.563933] device eth4 entered promiscuous mode
[   13.512753] br-lan: port 4(eth3) entered blocking state
[   13.512799] br-lan: port 4(eth3) entered forwarding state
[   13.517024] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   14.312639] qcom-q6v5-wcss-pil cd00000.q6v5_wcss: start timed out
[   14.312693] remoteproc remoteproc0: can't start rproc cd00000.q6v5_wcss: -110
[   17.753558] nss-dp 3a007000.dp6 eth5: PHY Link up speed: 10000
[   17.753644] IPv6: ADDRCONF(NETDEV_CHANGE): eth5: link becomes ready
[   19.032641] ath11k c000000.wifi: failed to wait wlan mode request (mode 0): -110
[   19.032694] ath11k c000000.wifi: qmi failed to send wlan fw mode: -110
[   19.039120] ath11k c000000.wifi: failed to send firmware start: -110
[   19.045488] ath11k c000000.wifi: failed to start firmware: -110

I dont have time now, will have to look into it later today.
And it magically worked after a reboot.

I am going to give it a test on AX6, let see if I can reproduce it.

MOD: no issues on my side. Did a quick test on WAN - LAN, LAN - LAN and WLAN - LAN. Everything seems to be fine.

Xiaomi just released their new router, Qualcomm,1x10G RJ45+1x10G SFP+ +4x2.5G RJ45(1799RMB). So are they still using NSS stuff for offloading in ath12k?

1 Like