IPQ40XX: ath10k-ct-smallbuffers vs ath10k for 128MB devices

I'm trying to add support for the EZVIZ W3 wireless router. In terms of SOC, RAM chip and flash chip, this device is identical to the Zyxel WRE6606 (See OpenWRT techdata here).

I managed to extract the ath10k board files from the original firmware, and got all features like leds and buttons to work on OpenWRT (see progress here: https://github.com/openwrt/openwrt/compare/openwrt:master...Tom-Brouwer:addEzvizW3)

This device has got only 128MB RAM however, meaning that with the default 'ath10k-ct' driver, I soon ran out of memory doing some basic WiFi speed tests. Luckily, timing was in my favor and the day after the 'ath10k-ct-smallbuffers' version was released (See commit here).

Afterwards I tested the following combinations, by connecting both a 2.4Ghz client and a 5ghz client, and running iperf3 on both (Unfortunately, I only have 802.11n clients. I only have some phones available that support AC):

  1. ath10k-ct + ath10k-firmware-qca4019-ct : Out of memory errors within 10 seconds (driver starts to take > 70mb of RAM)
  2. ath10k + ath10k-firmware-qca4019: With the non-ct driver/firmware, no problems with memory. (wifi driver RAM use seems to stay within ~30MB)
  3. ath10k-ct-smallbuffers + ath10k-firmware-qca4019-ct: Same observation as with point 2

All of these tests were run with the extracted board-files in place (without the board-files from the original firmware, 5Ghz hardly works). Between (2) and (3) wireless performance (as far as 802.11n is a good test...) seems to be similar.

My question is: What is the advantage of choosing 'ct-smallbuffers' over the standard 'ath10k'? It seems like the standard one received fixes for high RAM usage some time ago, so I wonder what other fixes/patches/enhancements are missing in ath10k-ct.

From what I read on the candela tech website, this firmware is mainly developed for the QCA9980, 9984 and 9880 wireless chipsets, and support for the wireless component of the QCA4019 WiSOC was only added in a recent version. (release 10). It looks to me like development mainly focusses on the other wireless chipsets. Are there benefits to using ath10k-ct over ath10k on devices with IPQ4019/4018 wifi?

As for your last question, I think you're (understandably!) confusing SoCs with radios - QCA95xx are SoCs, as are IPQ40xx, but Qualcomm Atheros numbers their radios QCA98xx, QCA99xx etc. as well. It's those model numbers the Candela Tech site refers to when talking about hardware support.

See this page for 'clarification'.

Ok, thanks for this clarification! The candela tech page lists supports for 9980, 9984, 9888 and 4019. Given the link you sent the 9980, 9984 and 9888 are radio's/wireless chipsets, and the 4018/4019 is a WiSOC (which i assume has a wireless component integrated, that is supported by ath10k-ct).

I've updated my opening post to reflect this.