Support AIoT AC2350 Xiaomi?

Try to replace the ath10k-ct driver with the ath10k one. Also, try to enable software flow offloading.

I already had software offloading. About the driver, I found no change on speeds.
But you mean this is not normal, it was expected to be faster on wireless? If that's the case I'll continue trying configs...

First of all, thanks for the great work, flashing was a breeze and all OK on 1st try. I'm running OpenWrt SNAPSHOT r18106-0c249ab076 now.
Still, I see a similar issue as @paulo_andre - my 5GHz ac is slow. I tested on 3 different devices, which were able to get to ~400 Mbps on xiaomi 4a giga. Now, they are all capped at 210 Mbps. Software offloading is turned on, radio is using 80 MHz channel, changing the driver to kmod-ath10k (without -ct) changes nothing. How can I debug this issue further?

It looks like we have the same issue as other models using QCA9984:

I think it doesn't make much sense, that CPU thing... CPU is the same for all the people owning the model, why do some have ~400-500 Mbps transfer range, while others have ~200 MBps?
Also, if that firmware issue is 2 years old, I guess there is no chance of that ever get fixed?

Why do you think that someone on this model has a higher speed on 5GHz WiFi when using OpenWRT? The maximum speed when using 5GHz WiFi on this model is about 300Mbps. This speed can be achieved when using the router in access point mode. When used as a router, the speed maybe even less due to NAT, VPN, etc.
When testing using iperf 5GHz connection in top output on the router, you can see high sirq values and high CPU usage by the ksoftirqd process:

Mem: 72532K used, 49624K free, 276K shrd, 0K buff, 18636K cached
CPU:   0% usr   0% sys   0% nic   0% idle   0% io   0% irq  97% sirq
Load average: 0.16 0.05 0.01 3/52 7288
    8     2 root     RW       0   0%  87% [ksoftirqd/0]

Good catch, someone above reported about 500 Mbps and I assumed that was on AC radio. And yes, my AP is in router mode, so gets some additional load - that would explain ~200 instead of ~300. Do you know if there's a chance this issue will be fixed? I really like this device, but my older xiaomi 4a giga is faster than this one so I might just send it back :|l

OK, another - maybe lame - question: if the high CPU usage comes from the firmware issue, is it possible to extract the firmware from the original xiaomi's and use that?

The issue is not in the WiFi hardware firmware, but rather in the ath10k or mac80211 modules. Stock images use tricks with offloading packets that are not fully implemented in OpenWRT.

1 Like

Thanks for clarifying and for your efforts! Too bad this has that bad CPU - I'm going to return it, xiomi 4a giga is almost half the price and on mt76 gives me ~450 MBps.

I have just flashed mine and upgraded all packages, i see minimal difference between kmod-ath10k and kmod-ath10k-ct, original firmware was around 330-350 down and 260-280 up, after i flashed it and enabled offloading i get 290-310 down and 270-400 up, really intrigued why download went down but upload went up.
It performs a little bit better then my Archer C7, not by much though, with that being said anyone knows some good hardware for WIFI only interested in AP part, routing i do in a separate machine.

1 Like

@eisaev Hey man , first of all , nice work on the AC2350!

So I bought 2 AC2350 to increase my wifi range and unfortunately the EU range sucks. My questions here are:

  • On your github seems possible to inject the SSH access through browser , not needing a hacked router like you say here on this topic. Is this still possible ? (Edit: Yes it is , I got it now)
  • I've tried to downgrade to 1.3.8 firmware by PXE (last tiny pxe is TFTPd:DoReadFile: test.img , so im assuming it correctly downgraded??) and when I try to inject the ssh key gives me a 403 Forbiden error. How can I downgrade to 1.3.8 so i start the hacking on ssh ? (Yes, i got it to work. My problem was that i was using the STOK variable before finishing all the steps of the router. We can put him on DHCP for faster setup)

Now another question , I've managed to flash the mod.7 firmware with success but I cannot login to SSH again... it complaints of the password. I've calculated using the site and using bash, was using the bash generated one... managed to scp and run everything but now looks like the password is changed. is that possible ? How can i find the new pwd ? Should i start from chinese firmware again ?

What firmware version did you have from the factory? If it was 3.0.36, then you can change it to 1.3.8 directly from the web interface.
The mod7 firmware does not change the password and it should be the same as it was on the stock firmware. You can send me the serial number by private message and I will generate a password for you.

I had the latest , i think is 3.0.36 or something. My post had an error.... after the mod.7 flash the password remained.

The change comes after running the next steps , flashing bdata and art (didnt manage to reach art because of pwd)

So mod7.bin is OK




mtd write /tmp/crash_unlock.bin crash

looks ok and then after the reboot ssh doesnt accept the password calculated on the first steps. I'll pm you the serial but maybe i have to start from scratch (1.3.8 then inject ,flash etc)

OK , following up on this... IDK why the password stopped working but after 2 days off... rebooted the router, SSH + scripts run and thats it. working on maximum power.

Now I'm gonna repeat the process with the second AC2350 I have standing here.

Thanks for your work @eisaev !!!

1 Like

Hi There,

just tried the sequence but I never get a {“code”:0} reply in the browser. SSH does not work.

Tried rebooting and resetting to default all the settings.

Any suggestions?


What message appears in the browser? Have you installed the Chinese 1.3.8 firmware?

thanks for the reply.
yes I did install the firmware and followed the instructions but the browser just times out.

Have you correctly copied the stok value? It needs to be copied from the same machine you execute the link on. If that is not the problem, could you try a different browser?

Different PC and same browser (chrome) did the trick.
thanks a lot