Adding OpenWrt support for Xiaomi AX3600

Yes, it's the target profile that is mismatched. Just do sysupgrade -f and it'll work, I had the same issues.

1 Like

I have managed to replicate his build and I can provide you with matching kmod- packages. Most likely you'd have to modprobe the *.ko files themselves, but they should work fine. Let me know which ones you need.

1 Like

In developers

1 Like

I had another look at this a week or so ago and as far as ath11k goes, it's still seemingly just as broken as before, with no in flight patches that looked to improve things :confused:

I'm holding out hope that more devices (that allow flashing) get released at a half decent price. Would be nice to see if any other ipq807x device has more luck


The ethernet side is probably more problematic at this point than ath11k, as this hinders any kind development that might help going forward.

1 Like

I am sure that there are working ath11k devices as people have been asking questions about fw bugs with IPQ8074 on the ath11k list.

No point in ethernet if wlan wont work.


I agree with you, although there are use caces where the device will be usable without wlan, for example if you are using external APs like mesh or someting simillar and you use the router for NAT/QoS/FW/VPN etc. So with working ethernet the device can still be put to some use - having in mind that the hardware is more than capable resource wise.

Cheers and thanks for the effort you guys are putting in your spare time.

It would be perfect to have a kmods feed (like this one). If it's a problem to build one, at this point I'm really missing CIFS and NFS kernel modules to mount network shares. Thanks a lot :slight_smile:

i also have a Compex WPQ873 Id like to get OpenWRT on... curious if this QSDK repo would also work
aside from getting real OpenWRT on it....
Linux version 4.4.60 (ttyaw@rdttserver) (gcc version 5.2.0 (OpenWrt GCC 5.2.0 r35193) ) #159 SMP PREEMPT Thu Oct 29 17:51:54 +08 2020
[ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c0383d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: Qualcomm Technologies, Inc. IPQ807x/AP-HK09

Given bittheif's disabling of the NSS and the loss of wired ethernet... could it be that the switch comes up with a default VLAN configuration? Some enterprise switches will do this where all ports are set to have a native VLAN which is then just black holed for security until you properly configure the port. If the switch DOES happen to do this - it would appear to be receiving packets but then never switching them (because they are all getting blackholed... SECURITY!).

Has anyone tried defining VLANs (or purposefully unsetting them) to see if that resolves the switching issues?


Yeah, it has some stupid default config in which it will spam ARP constantly if not configured.


Also my ping over both 2.4ghz and 5ghz is slightly increased on QSDK and im not sure why its like
notebook -> wifi -> router ~5msec
router-> -> ~1.5msec

any idea why this happens?

its not a big issue but in kind of expected this ping to be much less (line is not loaded during test)

Maybe due to routing?

Ah ok, it's a lost cause then. Thank you for confirming.

I think you have a solid point, this is the output of swconfig with the default config and NSS enabled:

This is present in /etc/config/network:

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'
root@OpenWrt:/etc/config# swconfig list
Found: switch0 - QCA HPPE

Also, by default, eth0 is down. I know that on other devices, this is sometimes the CPU port (when tagging VLANs etc.). No idea how to test your theory though, and from what I can see, the switch0 device (QCA HPPE) might be using something proprietary..?

When I killed NSS by renaming the firmware, I was eventually able to logon to the router via the 2.4GHz Wi-Fi network, and I took a look at dmesg, the interfaces were up, but degraded to 10Mbps.

In case it will help, here is my swconfig dump from a CN router reflashed with Xiaomi ax3600 INT firmware:

And here is my /etc/config/network:

root@XXXX:~# cat /etc/config/network

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr ''
	option netmask ''

config switch
	option name 'switch0'

config interface 'lan'
	option ifname 'eth2 eth3 eth4'
	option force_link '1'
	option type 'bridge'
	option proto 'static'
	option netmask ''
	option multicast_querier '0'
	option igmp_snooping '0'
	option macaddr 'XX:XX:XX:XX:XX:XX'
	option ieee1905managed '1'
	option ipaddr ''
	option ip6assign '64'
	option ipv6 '1'

config interface 'eth1'
	option ifname 'eth1'
	option keepup '1'

config interface 'wan'
	option proto 'dhcp'
	list dns ''
	list dns ''
	option mtu '1500'
	option peerdns '0'
	option ifname 'eth1'

config interface 'ifb'
	option ifname 'ifb0'

config interface 'wan_6'
	option ifname 'eth1'
	option proto 'dhcpv6'
	option reqaddress 'try'
	option reqprefix 'auto'
	option peerdns '0'
	list dns '2606:4700:4700::1001'
	list dns '2001:4860:4860::8844'
1 Like

strange switch config eth1 is wan

Wireless at the speed of sound. That's a new one. :upside_down_face:


actually i dont believe this as for example if i create wireless hotspot on my mobile phone its good 2-3ms faster to ping gateway than on ax3600

there must be other reason

Game over, we win. :sunglasses: :smiley:

Ladies and gentlemen, I present to you the first WireGuard benchmarks on AX3600..

root@OpenWrt:~# wg show
interface: wg0
  public key: kLwJWmOZLuCxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  private key: (hidden)
  listening port: 31337

peer: w4r/o6VImF7l0/De3Jpxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  endpoint: 193.32.2xx.xx:3xxx
  allowed ips:, ::/0
  latest handshake: 2 minutes, 37 seconds ago
  transfer: 603.68 MiB received, 789.64 MiB sent
root@OpenWrt:~# ifconfig wg0
wg0       Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet  Mask:
          inet6 addr: fc00:bbbb:bbbb:bbxx::3:xxxx/128 Scope:Global
          inet6 addr: fe80::a67:9xxx:7xxx:7xxx/64 Scope:Link
          RX packets:671983 errors:0 dropped:0 overruns:0 frame:0
          TX packets:761560 errors:0 dropped:2244 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:608520972 (580.3 MiB)  TX bytes:801218863 (764.1 MiB)