[PATCH] bsp: use mainline/QCA driver and firmware for ath10k WiFi

Fabian Bläse fabian at blaese.de
Mo Mär 30 18:53:52 CEST 2020


Hallo Adrian,

für den mainline ath10k gab es doch auch mal irgendwo einen Patch, der die Buffer verkleinert, oder?
Ich kann ihn grade nicht mehr finden.

Ohne den sind 64MB RAM Geräte ziemlich sicher auch mit dem mainline ath10k kaputt.

Gruß
Fabian

On 30.03.20 18:35, Adrian Schmutzler wrote:
> OpenWrt offers two variants of ath10k driver and firmware, the
> "normal" mainline/QCA variant and the "CT" variant [1]
> developed as fork by Candela Technologies.
> Both deviate from each other with respect to their feature set,
> level of support and system impact (i.e. memory consumption).
> 
> Since the 19.07 release, OpenWrt has made the "CT" variant its
> default for supporting (almost) all ath10k chips. [2]
> However, for this firmware the CT driver/firmware introduces a number
> of (potential) drawbacks:
> 
> - CT memory consumption seems to be higher. (This still needs to be
>   verified for the new kmod-ath10k-ct-smallbuffers variant.) This
>   is particularly a problem on several ath10k devices with 64 MB RAM,
>   where the devices run into OOM regularly (i.e. C60 v1/v2). [3]
> - Though CT has active support, it is still just a fork effectively
>   maintained by one person.
> - With CT driver/firmware there are frequent reports that the
>   combination of AP and 802.11s is not working. [4] While this issue
>   couldn't be reproduced in recent tests, it still is explicitly
>   not supported, and there is no interest to change that at the
>   moment. [5]
> 
> Due to these reasons, it seems more appropriate for us to use the
> mainline/QCA variant of ath10k driver and firmwares. This patch
> applies that to all affected devices.
> 
> [1] https://github.com/greearb/ath10k-ct.git
> [2] https://github.com/openwrt/openwrt/commit/61b5b4971e7d6aab6b0695997c3b5aaf73c53b5f
> [3] https://github.com/openwrt/openwrt/commit/1ac627024de916eb157659caf49f93fa89d3b19a
> [4] https://github.com/freifunk-berlin/firmware/issues/696
>     https://forum.openwrt.org/t/ath10k-ct-and-802-11s-mesh-not-working-on-archer-c7/13877
> [5] https://github.com/openwrt/openwrt/pull/2341#issuecomment-580904873
> 
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> 
> ---
> 
> Dieser Patch ist weder run- noch build-tested.
> ---
>  bsp/ar71xx/.config  | 20 ++++++++++++++------
>  bsp/ipq806x/.config |  6 +++++-
>  2 files changed, 19 insertions(+), 7 deletions(-)
> 
> diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config
> index 6c2c730d..9a6cd0a2 100644
> --- a/bsp/ar71xx/.config
> +++ b/bsp/ar71xx/.config
> @@ -5,15 +5,15 @@ CONFIG_TARGET_ar71xx=y
>  CONFIG_TARGET_ar71xx_tiny=y
>  CONFIG_TARGET_MULTI_PROFILE=y
>  CONFIG_TARGET_DEVICE_ar71xx_tiny_DEVICE_archer-c25-v1=y
> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_archer-c25-v1=""
> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_archer-c25-v1="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca9887-ct ath10k-firmware-qca9887"
>  CONFIG_TARGET_DEVICE_ar71xx_tiny_DEVICE_archer-c60-v1=y
> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_archer-c60-v1=""
> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_archer-c60-v1="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca9888-ct ath10k-firmware-qca9888"
>  CONFIG_TARGET_DEVICE_ar71xx_tiny_DEVICE_archer-c60-v2=y
> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_archer-c60-v2=""
> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_archer-c60-v2="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca9888-ct ath10k-firmware-qca9888"
>  CONFIG_TARGET_DEVICE_ar71xx_tiny_DEVICE_archer-c7-v2=y
> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_archer-c7-v2=""
> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_archer-c7-v2="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca988x-ct ath10k-firmware-qca988x"
>  CONFIG_TARGET_DEVICE_ar71xx_tiny_DEVICE_archer-c7-v5=y
> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_archer-c7-v5=""
> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_archer-c7-v5="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca988x-ct ath10k-firmware-qca988x"
>  CONFIG_TARGET_DEVICE_ar71xx_tiny_DEVICE_cpe210-220-v1=y
>  CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_cpe210-220-v1="-rssileds"
>  CONFIG_TARGET_DEVICE_ar71xx_tiny_DEVICE_cpe210-v2=y
> @@ -79,7 +79,7 @@ CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_ubnt-nano-m="-rssileds"
>  CONFIG_TARGET_DEVICE_ar71xx_tiny_DEVICE_ubnt-unifi=y
>  CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_ubnt-unifi=""
>  CONFIG_TARGET_DEVICE_ar71xx_tiny_DEVICE_ubnt-unifiac-lite=y
> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_ubnt-unifiac-lite=""
> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_tiny_DEVICE_ubnt-unifiac-lite="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca988x-ct ath10k-firmware-qca988x"
>  CONFIG_BUSYBOX_CUSTOM=y
>  CONFIG_TARGET_PER_DEVICE_ROOTFS=y
>  # CONFIG_BUSYBOX_CONFIG_BRCTL is not set
> @@ -102,4 +102,12 @@ CONFIG_PACKAGE_iwinfo=m
>  CONFIG_PACKAGE_libiwinfo=m
>  CONFIG_PACKAGE_opkg=m
>  CONFIG_PACKAGE_wpad-mini=m
> +CONFIG_PACKAGE_ath10k-firmware-qca9887=m
> +CONFIG_PACKAGE_ath10k-firmware-qca9888=m
> +CONFIG_PACKAGE_ath10k-firmware-qca988x=m
> +CONFIG_PACKAGE_kmod-ath10k=m
> +CONFIG_PACKAGE_ath10k-firmware-qca9887-ct=m
> +CONFIG_PACKAGE_ath10k-firmware-qca9888-ct=m
> +CONFIG_PACKAGE_ath10k-firmware-qca988x-ct=m
> +CONFIG_PACKAGE_kmod-ath10k-ct=m
>  CONFIG_STRIP_KERNEL_EXPORTS=y
> diff --git a/bsp/ipq806x/.config b/bsp/ipq806x/.config
> index cb8074eb..a02f76fa 100644
> --- a/bsp/ipq806x/.config
> +++ b/bsp/ipq806x/.config
> @@ -5,10 +5,14 @@ CONFIG_TARGET_ipq806x=y
>  CONFIG_TARGET_ipq806x_generic=y
>  CONFIG_TARGET_MULTI_PROFILE=y
>  CONFIG_TARGET_DEVICE_ipq806x_generic_DEVICE_tplink_c2600=y
> -CONFIG_TARGET_DEVICE_PACKAGES_ipq806x_generic_DEVICE_tplink_c2600=""
> +CONFIG_TARGET_DEVICE_PACKAGES_ipq806x_generic_DEVICE_tplink_c2600="-ath10k-firmware-qca99x0-ct ath10k-firmware-qca99x0"
>  CONFIG_TARGET_PER_DEVICE_ROOTFS=y
>  CONFIG_BUSYBOX_CUSTOM=y
>  CONFIG_CLEAN_IPKG=y
>  CONFIG_PACKAGE_kmod-hwmon-core=m
>  CONFIG_PACKAGE_opkg=m
> +CONFIG_PACKAGE_ath10k-firmware-qca99x0=m
> +CONFIG_PACKAGE_kmod-ath10k=y
> +CONFIG_PACKAGE_ath10k-firmware-qca99x0-ct=m
> +CONFIG_PACKAGE_kmod-ath10k-ct=m
>  CONFIG_STRIP_KERNEL_EXPORTS=y
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20200330/4b4d3f3a/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev