Adding OpenWrt support for Xiaomi AX3600 (Part 1)

U need to delete changes to the net/bridge/br_if.c, it was patched by another patch.

--- a/953-net-patch-linux-kernel-to-support-shortcut-fe.patch	2022-11-06 19:55:46.843435909 +0800
+++ b/953-net-patch-linux-kernel-to-support-shortcut-fe.patch	2022-11-18 22:28:46.581659095 +0800
@@ -59,37 +59,6 @@
  config ETHTOOL_NETLINK
  	bool "Netlink interface for ethtool"
  	default y
---- a/net/bridge/br_if.c
-+++ b/net/bridge/br_if.c
-@@ -777,6 +777,28 @@ void br_port_flags_change(struct net_bri
- 		br_offload_port_state(p);
- }
- 
-+void br_dev_update_stats(struct net_device *dev,
-+			 struct rtnl_link_stats64 *nlstats)
-+{
-+	
-+	struct pcpu_sw_netstats *stats;
-+
-+	/* Is this a bridge? */
-+	if (!(dev->priv_flags & IFF_EBRIDGE))
-+		return;
-+
-+	
-+	stats = this_cpu_ptr(dev->tstats);
-+
-+	u64_stats_update_begin(&stats->syncp);
-+	stats->rx_packets += nlstats->rx_packets;
-+	stats->rx_bytes += nlstats->rx_bytes;
-+	stats->tx_packets += nlstats->tx_packets;
-+	stats->tx_bytes += nlstats->tx_bytes;
-+	u64_stats_update_end(&stats->syncp);
-+}
-+EXPORT_SYMBOL_GPL(br_dev_update_stats);
-+
- bool br_port_flag_is_set(const struct net_device *dev, unsigned long flag)
- {
- 	struct net_bridge_port *p;
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
 @@ -3584,9 +3584,17 @@ static int xmit_one(struct sk_buff *skb,

Merci beaucoup

I had try @Ansuel's wifi-offload patches ,but bitthief's repo using 6.1 backport. so serval patches fault.

First of all, thanks a lot of the amazing work and effort for adding openwrt support to ax3600 router.
I am quite new to openwrt, I tried to find online but didn't get to any conclusion.

Does anyone know how to activate the "Network -> Switch" option in luci dashboard?
AX3600 has VLANs support, but I don't have that option.

TLDR; OpenWRT has moved to DSA.

2 Likes

Not really, ipq807x is not DSA compatible yet - what you see is the QCA driver faking independent network cards, while they are actually on a switch. For the purpose of the old swconfig based 'switch menu', it's (almost) the same story though, there are no swconfig compatible drivers for this hardware either.

2 Likes

hi can someone teach me how to fix the problem im encountering on ax3600 stock firmware

after an auto update it is stuck to orange light already tried auto fix tool but did not work here is the log

Complex DNS request : ignored [21/11 11:03:27.742]
Message truncated (length was 8) [21/11 11:03:27.762]
Complex DNS request : ignored [21/11 11:04:30.871]
Message truncated (length was 8) [21/11 11:04:30.875]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:00:00:00:14:FF [21/11 12:22:22.012]
DHCP: proposed address 192.168.31.101 [21/11 12:22:22.155]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:00:00:00:14:FF [21/11 12:22:25.450]
DHCP: proposed address 192.168.31.101 [21/11 12:22:25.513]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:00:00:00:14:FF [21/11 12:22:29.456]
DHCP: proposed address 192.168.31.101 [21/11 12:22:29.554]
Complex DNS request : ignored [21/11 12:22:29.934]
Message truncated (length was 8) [21/11 12:22:29.941]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:00:00:00:14:FF [21/11 12:22:54.447]
DHCP: proposed address 192.168.31.101 [21/11 12:22:54.469]
Rcvd DHCP Rqst Msg for IP 0.0.0.0, Mac 00:00:00:00:14:FF [21/11 12:22:54.503]
Previously allocated address 192.168.31.101 acked [21/11 12:22:54.528]
Rcvd DHCP release Msg for IP 192.168.31.101, Mac 00:00:00:00:14:FF [21/11 12:24:06.908]
item 00:00:00:00:14:FF released [21/11 12:24:06.949]
Complex DNS request : ignored [21/11 12:26:45.491]
Message truncated (length was 8) [21/11 12:26:45.497]
Complex DNS request : ignored [21/11 12:28:55.876]
Message truncated (length was 8) [21/11 12:28:55.881]
Complex DNS request : ignored [21/11 12:31:10.205]
Message truncated (length was 8) [21/11 12:31:10.211]
Complex DNS request : ignored [21/11 12:31:22.390]
Message truncated (length was 8) [21/11 12:31:22.395]
Complex DNS request : ignored [21/11 12:34:21.799]
Message truncated (length was 8) [21/11 12:34:21.804]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:00:00:00:14:FF [21/11 12:39:30.375]
DHCP: proposed address 192.168.31.101 [21/11 12:39:30.413]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:00:00:00:14:FF [21/11 12:39:35.340]
DHCP: proposed address 192.168.31.101 [21/11 12:39:35.354]
Complex DNS request : ignored [21/11 12:39:38.347]
Message truncated (length was 8) [21/11 12:39:38.368]
Complex DNS request : ignored [21/11 12:40:44.072]
Message truncated (length was 8) [21/11 12:40:44.082]
Complex DNS request : ignored [21/11 12:41:15.706]
Message truncated (length was 8) [21/11 12:41:15.711]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 28:D1:27:4D:32:44 [21/11 17:27:27.398]
DHCP: proposed address 192.168.31.104 [21/11 17:27:27.460]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 28:D1:27:4D:32:44 [21/11 17:27:28.786]
DHCP: proposed address 192.168.31.104 [21/11 17:27:28.827]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 28:D1:27:4D:32:44 [21/11 17:27:30.795]
DHCP: proposed address 192.168.31.104 [21/11 17:27:30.819]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 28:D1:27:4D:32:44 [21/11 17:27:32.792]
DHCP: proposed address 192.168.31.104 [21/11 17:27:32.819]
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 28:D1:27:4D:32:44 [21/11 17:27:34.784]
DHCP: proposed address 192.168.31.104 [21/11 17:27:34.855]
Complex DNS request : ignored [21/11 17:27:35.620]
Message truncated (length was 8) [21/11 17:27:35.625]
Complex DNS request : ignored [21/11 17:29:19.339]
Message truncated (length was 8) [21/11 17:29:19.344]

I am pressing the reset button for approximately 8 seconds until the system LED is flashing quickly.

After a couple of seconds the flashing stops and the LED is steady orange.

But nothing happens on the screen.

When I press the button on the lower right corner the MiWiFiRepairTool just closes.

I have a problem with dropping clients with the AX3600. Anybody else having these issues? I opened a thread for that problem --> Client drops AX3600 connection . Has anybody some suggestions?

This is a little o/t in this thread, but as a quick reminder: The "Network->Switch" configuration menu was retired in OpenWrt 21. It's all done in "Network->Interfaces" and "Network->Devices" now.

OneMarcFifty's Youtube video on this topic was useful to me, it's here: https://www.youtube.com/watch?v=qeuZqRqH-ug This still works the same in OpenWrt 22.

2 Likes

Hi everyone,

Can anyone comment on the Wifi performance? I've installed this build several times but my 5G connection in a close range never goes beyond 100Mbps. However, the same distance from an stock router yields 400+Mbps. Have anyone tested wireless speeds? Is this expected?

Speed has been measured from WLAN to LAN with iperf3

I use my AX3600 (s plural) as dumb access points with a more capable (x86) router doing all the hard work.

My iperf3 numbers look good, up and down, for what I expect a WPA3 encrypted wireless device to carry across that connection. I expect much less than 20% decrease in performance vs unencrypted, btw.

All of them are far better than 300Mbit/s to the "real" router, all currently at OpenWrt SNAPSHOT r0-49ccb29.

I have no opinion on this device as a single access point or home router.

Hello, i followed your guide and all is good and now i have the 174mb partition, thank you.
From now on, in order to upgrade my device to your latest build should i use the file named sysupgrade am i correct? Thanks

I got about 700Mbps with an android pad (test with iperf3)

-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.1.179, port 36048
[  5] local 192.168.1.1 port 5201 connected to 192.168.1.179 port 36050
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  79.9 MBytes   671 Mbits/sec                  
[  5]   1.00-2.00   sec  85.6 MBytes   718 Mbits/sec                  
[  5]   2.00-3.00   sec  83.4 MBytes   700 Mbits/sec                  
[  5]   3.00-4.00   sec  85.2 MBytes   715 Mbits/sec                  
[  5]   4.00-5.00   sec  84.3 MBytes   707 Mbits/sec                  
[  5]   5.00-6.00   sec  84.5 MBytes   709 Mbits/sec                  
[  5]   6.00-7.00   sec  81.0 MBytes   679 Mbits/sec                  
[  5]   7.00-8.00   sec  86.3 MBytes   724 Mbits/sec                  
[  5]   8.00-9.00   sec  91.3 MBytes   765 Mbits/sec                  
[  5]   9.00-10.00  sec  90.1 MBytes   756 Mbits/sec                  
[  5]  10.00-10.01  sec  1.04 MBytes   723 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec   853 MBytes   714 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------
1 Like

yep correct

hi have you fixed your ax3600? how please teach me

Just about 2 meters away from the router (AX, 5G, CH36, 160MHz, no routing involved):

ax3600 (server) <-> mi10tpro (snapdragon 865) (ax) (client)

Same as above (but routing involved, Notebook AC connected! acting as iperf3 server; realisticly AC would not give more then ~450-500Mbps max and is not really made for 160MHz even if claimed so, but this does not matter):

i3 notebook intel ac9260 (ac) (server) <-> mi10tpro (snapdragon 865) (ax) (client)

Same as above (Notebook connected via GB-LAN acting as iperf3 server):

i3 notebook (realtek gb lan) (server) <-> mi10tpro (snapdragon 865) (ax) (client)

In real life esp. the last case is more fluctuating then visible here in this short test. If you change settings to 80MHz you will get slightly better values.

EDIT: Fixed the last chart. Forgot to fix the realtek lan driver for latest kernel. :confused:

1 Like

Notebook (AC) as server,
android pad as cient.

Notebook as server,
Desktop PC as client.

Connecting to host 192.168.1.141, port 12345
[  5] local 192.168.1.11 port 56122 connected to 192.168.1.141 port 12345
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  66.1 MBytes   555 Mbits/sec    0   3.05 MBytes       
[  5]   1.00-2.00   sec  75.0 MBytes   629 Mbits/sec    0   3.05 MBytes       
[  5]   2.00-3.00   sec  78.8 MBytes   661 Mbits/sec    0   3.05 MBytes       
[  5]   3.00-4.00   sec  68.8 MBytes   577 Mbits/sec    0   3.05 MBytes       
[  5]   4.00-5.00   sec  68.8 MBytes   577 Mbits/sec    0   3.05 MBytes       
[  5]   5.00-6.00   sec  76.2 MBytes   640 Mbits/sec    0   3.05 MBytes       
[  5]   6.00-7.00   sec  72.5 MBytes   608 Mbits/sec    0   3.05 MBytes       
[  5]   7.00-8.00   sec  72.5 MBytes   608 Mbits/sec    0   3.05 MBytes       
[  5]   8.00-9.00   sec  78.8 MBytes   661 Mbits/sec    0   3.05 MBytes       
[  5]   9.00-10.00  sec  78.8 MBytes   661 Mbits/sec    0   3.05 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   736 MBytes   617 Mbits/sec    0             sender
[  5]   0.00-10.05  sec   736 MBytes   614 Mbits/sec                  receiver

iperf Done.
1 Like

(just as an info iperf from phones are not reliable and wifi6 can reach peak perf with multiple connection)

2 Likes

can you try fast.com?

i get this from the router directly out to my provider using the speedtest package

Well, I don't have speedtest included into my builds. Beside that my internet connection is limited to 250MBit/s (on paper). It gets synchronized with ~280MBit/s. As I do not have bridged my providers modem (not possible) and I do not have pppoe in play the output is pretty straight. Testing fast.com from the router would propably not change the outcome. If you think speedtest from the router would give something interesting just upload the ipk. I'll try it.

What I can tell is that I'm reaching with an AX3200 ~33MB/s (reliable) with my Snapdragon 865 AX Smartphone with a plain download of an iso dvd. For the AX3600 it is ~34MB/s (reliable). So a minor difference.

Anyway I did test Notebook and Smartphone (I didn't mess with the settings! Looking just random). I see those tests just as indicators that things are running at a certain level compared to others. But those speeds from this test are looking wired to me.


EDIT: I have a question: Would the nss build change anything in reagard of performance wifi <--> lan? I would guess so. But I don't know if its worth. fixed it. All fine now.