Support AIoT AC2350 Xiaomi?

I flash mod directly from the ssh console:

mtd write /tmp/firmware.6.mod.bin firmware
2 Likes

Today I did another run and succesfully installed OpenWRT.

Minor testing done, setup:

-1000/300 Mbps fiber PPOE, IPV4/IPV6 capable
-Lenovo T430, WIN10, 8GB RAM, SSD, Intel AC 8260 WLAN
-Huawei P20
-no FW rules, no port forward, default routing, fastpath enabled with SW / HW offload
-same wireless settings (SSID, PW, channel 36, channel width 80Mhz)
-relatively congested environment, but no overlapping on used channel
-tested with Speedtest desktop / Andoid app, on same server

Results/comparison of OpenWRT to mod6:

-wired speed is equivalent, been able to reach ~520/320 Mbps both on OpenWRT and mod6 fw (kinda usual in high demand time), no difference beetween IPV4/IPV6/dual stack performance

-wireless speed is significantly lower on AC, tested from ~50cm distance, OpenWRT speeds maxed out at 250/220 Mbps, mod6 speeds maxed out at 460/260 Mbps

-did basically all possible setting modification in wireless settings, no increasement reached in wireless speeds`

Verdict of OpenWRT:

-wired connection with PPOE is good to go up to 500 Mbps internet speed
-AC wireless speeds are limited compared to mod6 at the moment. As wireless tests are done from 50cm distance the reduced transmit power has only minor influence.
-N speed is not tested as AC is the key for me

Remark: I might messed up something, therefore handle this post with some caution.

After testing I have flashed back mod6 from SSH as descibed in #180 , after reboot all settings have recovered from the previous setup - I've been more than happy.

3 Likes

If you are using the latest openwrt image, try to replace the ath10k-ct drivers with ath10k and see if that improves the speed.

1 Like

@eisaev Would it be possible to provide an image builder with the appropriate patches (or anything else that is needed) to build custom images for this router or could official support be added so that we can build images from latest source with the regular image builder? I would like to install sqm and replace ath10k-ct with regular ath10k but unfortunately since the image is based on a snapshot I can't install any kmod packages. Thank you for the awesome work on this router. I have been using openwrt since the first build for this router came out and it works very well!

3 Likes

Not possible due to snapshot release as you wrote in #177.

I do replaced FW via opkg with the non-ct one, but since kmod can't be modified it's still running on kmod-ath10k-ct, thus no difference, or even worse.

At the moment I'll stay on mod6, which is still awesome.

1 Like

hey @MarioK239

@eisaev has already filed a PR, so ac2350 support will be in openwrt soon (modulus the time it will take for the thing to be reviewed and feedback to be integrated... i'm not expecting too many issues).

here's the PR https://github.com/openwrt/openwrt/pull/4161

however, since @eisaev already has the code on github, it's trivial to just download the code, and compile it with any kernel modules/modifications you might want to test out.

@Justflash my experience with AC wasn't the same as yours... at least client association speed was much higher than what i get with my MIR3P, and off the top of my head (it was a long time ago) it was higher than 250/220 ... maybe try with a different channel or something?

i no longer have access to an ac2350, so i can't re-run the tests for performance etc. but quite frankly i don't see any reason why "mod6" would be faster than openwrt...

btw, once again here's @eisaev's github repository https://github.com/eisaev/openwrt/tree/xiaomi_aiot-ac2350_pr

2 Likes

Oh ok. Thank you! Hadn't seen these earlier.

1 Like

btw, if you or anyone else does exhaustive tests comparing ath10k with ath10k-ct i would be very interested in seeing that data. we went for ath10k-ct mostly because "everyone else is doing it"... but it might not have been the right choice (as i already said, i no longer have access to one, so i can't test it myself)

2 Likes

I have not tested the LAN speeds on AC, only internet speeds, so it can be some WLAN-LAN passtrough issue also.

I gave a shot for basically all channel setings, speed never went over 250, so my first guess is driver limitation, the secound would be the passtrough.

Nevertheless, when we will get official support and opkg kmods available I'll do a deeper test run with both drivers, including LAN/N/AC speeds.

Dumb question don't laugh: factory driver couldn't be extracted and used under openwrt, right?

possibly... you'd want to monitor cpu usage to see if maybe the cpu is max'ing out, if so that might be your culprit.

just a heads-up: even when the PR gets integrated and openwrt officially supports the ac2350, it will be available as a snapshot and it's still going to be tricky to install kmods (since they're really build/compile specific, so the kernel from yesterday (or a few hours ago) won't work without re-upgrading the system)

the quick answer is: no. not if you mean "lets copy the kernel module from stock and use it"... stock is based on a much older kernel version. no chance.
while porting the MIR3P i spent quite a bit of time trying to build a "leaked" official wifi driver from mediatek (this is before openwrt had support for mt7615)... it worked, yeah. but it was utter shite. as soon as an open source driver became available i moved to it. i wouldn't recommend anyone trying.
i'd test WLAN/LAN speeds (they're the real measure of how the wifi driver is performing), and possibly try some tweaking if the speeds are a lot lower than expected.
having said that, that wasn't my experience.

Hi!
I saw in @eisaev 's PR that the IoT radio (QCA6006) is listed as unusable and that everything usb-related was removed from the dts. Firstly, does anyone know why the IoT radio is unusable? And secondly, shouldn't USB be included so the dts is complete and maybe in the future if we are able to use that radio another PR doesn't have to be made?

Hello, is there any way to upgrade kernel from 5.4.110-1-7aa47d49adc91ebadd72da084dba9632 to 5.4.128-1-b6998ccc799a5b3cc240af2c022b575b? I cannot install packages, but I need some. :S

Have you seen open source drivers for QCA6006?

I'm not sure if they're compatible with the QCA6006 but I found theese:
ath6k-firmware:

kmod-ath6kl: https://openwrt.org/packages/pkgdata/kmod-ath6kl
kmod-ath6kl-usb: https://openwrt.org/packages/pkgdata/kmod-ath6kl-usb
kmod-ath6kl-sdio:
https://openwrt.org/packages/pkgdata/kmod-ath6kl-sdio

So please click on two last links and read the description. Note that QCA != AR

Oh, ok. That's a shame. The third radio would be useful as a guest or IoT wifi.

What kind of speeds/performance is it possible to get out of the AIOT AC2350 with the current github image? is it stable enough for daily use?

from dmesg:

[   35.560000] <6>ath6kl: 3VAP/1, P2P enable, concurrent on , with dedicate p2p-device, multi-channel-concurrent enable, p2p-compat disable, sta-p2p-ie removed, p2p_wise_scan enable
[   35.600000] ath6kl: Get firmware ath6k/AR6006/hw1.1/bdata.bin !!
[   35.600000] ath6kl: Get firmware ath6k/AR6006/hw1.1/fw.ram.bin !!
[   35.610000] <6>ath6kl: target's subtype is 0x1, HT20-only 1SS Dual-band
[   35.630000] <6>ath6kl: debugfs init 84a00000
[   35.630000] ipaccount: ifname [wlan0] event[16]
[   35.660000] ipaccount: ifname [wlan0] event[5]
[   35.660000] <6>ath6kl: Create HTC cookie, type 1 num 1640, loc 0 0
[   35.670000] <6>ath6kl: Create HTC cookie, type 2 num 66, loc 0 0
[   35.670000] <6>ath6kl: RX aggregation drop disabled
[   35.680000] <6>ath6kl: Using driver's regdb.


[   37.070000] <6>ath6kl: MAC ADDRESS xx:xx:xx:xx:xx:xx
[   37.070000] <6>ath6kl: ar6006 hw 1.1 usb fw 5.1.0.9999
[   37.110000] <6>ath6kl: Create dedicated p2p interface
[   37.110000] ipaccount: ifname [p2p0] event[16]
[   37.120000] usbcore: registered new interface driver ath6kl_usb
https://git.rigado.com/vesta/linux-fslc-imx-4.1-1.0/blob/381aaa4daf725b00edbae72d5f8ccc2e059cd746/drivers/net/wireless/ath/ath6kl/core.h

Seems I was wrong. Sorry!

Does it work with the ath6k packages from openwrt? If not, how do I install the appropriate ones?