Testing Archer C7 v2 with different ath10k firmware

I installed all the various firmware variants on my Archer C7 v2 running 19.07.1.

root@OpenWrt:/etc# cat /etc/openwrt_release
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='19.07.1'
DISTRIB_REVISION='r10911-c155900f66'
DISTRIB_TARGET='ath79/generic'
DISTRIB_ARCH='mips_24kc'
DISTRIB_DESCRIPTION='OpenWrt 19.07.1 r10911-c155900f66'
DISTRIB_TAINTS=''

I ran iperf with default settings three times after installing and rebooting after each firmware install. These were the highest results.

Firmware kmod Result speed
ath10k-firmware-qca988x kmod-ath10k 374 Mbits/sec
ath10k-firmware-qca988x-ct kmod-ath10k-ct 299 Mbits/sec
ath10k-firmware-qca988x-ct-htt kmod-ath10k-ct 357 Mbits/sec

Is this in line with what everyone else is seeing with this tried (tired?) and true hardware?

3 Likes

More or less when I did some brief testing here:

Yep. I always switch to ath10k-firmware-qca988x + kmod-ath10k when updating OpenWRT on my Archer C7 V2. It's a huge difference from the default.

1 Like

Interesting, thanks for the info. Have you tried -smallbuffers too?

Because the 2.4GHz part isn't so stable on newer OpenWrt releases, and people has postulated if it's a side-effect of the changes in ath10k. My experience is that using either the "original" ath10k and the ct version (the first 2 in your list) makes no difference whatsoever, that's, the 2.4GHz part may die after some time.

BTW, my brief test of using -htt is much worse than yours, in fact it's the worst. However, I need to re-test it at another time to try to minimize the neighbourhood interferance.

Using the non-ct firmware and kmod gives the highest result, that's consistent with your result.

Perhaps it's also possible to mix and match ct and non-ct versions too?

Cheers.

If you mean mix and match for example using non-ct kmod and ct firmware, that would create more problems than it solves. I believe I saw a post somewhere from the CT firmware maintainer that doesn't recommend this either.

If the standard qualcomm firmware works for you, why not stick with it?

Same here and we need to get the developers to switch our device to non-ct firmware and kmod because it is just causing issues for people who don't realize this switch must be made to avoid throughput issues.

1 Like

There are some benefits of using the -ct version, I remember some devs explained about it. Throughput is not necessarily everything. Perhaps an entry on the C7 wiki is sufficient?

Cheers.

On older hardware like this, it's way up there.

Recently got this router. WiFi range is sub optimal and I’ve already experienced one of these random disconnects.

Came across this, maybe worth poking around? https://www.candelatech.com/ath10k-ug.php

1 Like

Never had disconnects with 19.x firmware. I recommend following what the OP says. It helped with my throughput so it might help with your connection issues.

In other solutions I'm seeing recommendations for the kmod-ath10k-ct-smallbuffers driver. The issue many are having is the new driver uses more memory then the router has and overflows. Has anyone tested this one for connection and throughput?

Have you tried it yourself?

I got similar results for throughput with the ct and non-ct drivers to the original poster. The non-ct driver offered significantly higher throughput. Unfortunately my iOS mobile suffered drop outs on the 5 Ghz connection shortly after starting an iperf3 test when using the non-ct driver. The non-ct driver worked stable with a Windows laptop.

My openwrt version is 22.03.4. Router is Archer C7 v2.

Does anyone have any tips to try to make the non-ct firmware work stably with iOS? I've already tried setting the DTIM to 3 without success. It would be good to have the higher speed, but I've reverted to the default ct driver to regain a stable connection with iOS.

All you could do, is testing a newer version from https://github.com/kvalo/ath10k-firmware/tree/master/QCA988X/hw2.0.

How much speed difference are you seeing?

Sorry I cant help with the iOS issues, I havent tried the non-ct for a long time.