[LEDE-DEV] [PATCH] Support Candela-Tech ath10k and ath9k out-of-tree driver.

David Lang david at lang.hm
Tue Jun 21 15:04:24 PDT 2016


I'll point out that there is a lot of work being done on these drivers right now 
in terms of making significant changes to how they do buffering that in 
increasing network speed as well as reducing latency

search the follwoing lists for [make-wifi-fast] to see the details and 
benchmarks
make-wifi-fast at lists.bufferbloat.net, ath9k-devel at venema.h4ckr.net,linux-wireless at vger.kernel.org

David Lang

  On Tue, 21 Jun 2016, 
greearb at candelatech.com wrote:

> Date: Tue, 21 Jun 2016 15:00:17 -0700
> From: greearb at candelatech.com
> To: lede-dev at lists.infradead.org
> Cc: Ben Greear <greearb at candelatech.com>
> Subject: [LEDE-DEV] [PATCH] Support Candela-Tech ath10k and ath9k	out-of-tree
>     driver.
> 
> From: Ben Greear <greearb at candelatech.com>
>
> This lets one use the ath9k and ath10k driver instead of the built-in
> ath10k/ath9k driver from the upstream kernel (or backports).
>
> For ath10k, this should be a drop-in replacement, as well as enabling
> better CT firmware support.
>
> For ath9k, this enables some 5Mhz channel and 4.9Ghz support,
> but may loose some existing patches that LEDE carries for ath9k.
>
> Signed-off-by: Ben Greear <greearb at candelatech.com>
> ---
> package/firmware/ath10k-firmware/Makefile |  2 +-
> package/kernel/ath-ct/Makefile            | 74 +++++++++++++++++++++++++++++++
> 2 files changed, 75 insertions(+), 1 deletion(-)
> create mode 100644 package/kernel/ath-ct/Makefile
>
> diff --git a/package/firmware/ath10k-firmware/Makefile b/package/firmware/ath10k-firmware/Makefile
> index fcd6167..635aede 100644
> --- a/package/firmware/ath10k-firmware/Makefile
> +++ b/package/firmware/ath10k-firmware/Makefile
> @@ -28,7 +28,7 @@ define Package/ath10k-firmware-default
>   CATEGORY:=Kernel modules
>   SUBMENU:=$(WMENU)
>   URL:=$(PKG_SOURCE_URL)
> -  DEPENDS:=kmod-ath10k
> +  DEPENDS:=
> endef
>
> define Package/ath10k-firmware-qca988x
> diff --git a/package/kernel/ath-ct/Makefile b/package/kernel/ath-ct/Makefile
> new file mode 100644
> index 0000000..4441c14
> --- /dev/null
> +++ b/package/kernel/ath-ct/Makefile
> @@ -0,0 +1,74 @@
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=ath-ct
> +PKG_VERSION:=2016-06-21
> +PKG_RELEASE=1
> +
> +PKG_LICENSE:=GPLv2
> +PKG_LICENSE_FILES:=
> +
> +PKG_SOURCE_URL:=https://github.com/greearb/ath-ct.git
> +PKG_SOURCE_PROTO:=git
> +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
> +PKG_SOURCE_VERSION:=b003b75d885595fbc18f4fd9b3aef9189a63f21e
> +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
> +
> +PKG_MAINTAINER:=Ben Greear <greearb at candelatech.com>
> +PKG_BUILD_PARALLEL:=1
> +
> +STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
> +
> +include $(INCLUDE_DIR)/kernel.mk
> +include $(INCLUDE_DIR)/package.mk
> +
> +define KernelPackage/ath-ct
> +  SUBMENU:=Wireless Drivers
> +  TITLE:=ath10k-ct driver optimized for CT ath10k firmware
> +  DEPENDS:=+kmod-mac80211 +kmod-ath + at DRIVER_11N_SUPPORT @PCI_SUPPORT
> +  FILES:=\
> +	$(PKG_BUILD_DIR)/ath.ko \
> +	$(PKG_BUILD_DIR)/ath9k/ath9k_hw.ko \
> +	$(PKG_BUILD_DIR)/ath9k/ath9k_common.ko \
> +	$(PKG_BUILD_DIR)/ath9k/ath9k_htc.ko \
> +	$(PKG_BUILD_DIR)/ath9k/ath9k_hw.ko \
> +	$(PKG_BUILD_DIR)/ath9k/ath9k.ko \
> +	$(PKG_BUILD_DIR)/ath10k/ath10k_pci.ko \
> +	$(PKG_BUILD_DIR)/ath10k/ath10k_core.ko
> +  AUTOLOAD:=$(call AutoLoad,50,mac80211 ath ath10k_core ath10k_pci)
> +endef
> +
> +NOSTDINC_FLAGS = \
> +	-I$(PKG_BUILD_DIR) \
> +	-I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
> +	-I$(STAGING_DIR)/usr/include/mac80211-backport \
> +	-I$(STAGING_DIR)/usr/include/mac80211/uapi \
> +	-I$(STAGING_DIR)/usr/include/mac80211 \
> +	-include backport/autoconf.h \
> +	-include backport/backport.h
> +
> +ifdef CONFIG_PACKAGE_MAC80211_MESH
> +  NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
> +endif
> +
> +NOSTDINC_FLAGS += -DCONFIG_ATH10K_DEBUGFS -DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH10K_DEBUG -DCONFIG_ATH10K_AHB
> +NOSTDINC_FLAGS += -DCONFIG_ATH9K_PCI -DCONFIG_ATH9K_DEBUGFS -DCONFIG_ATH9K_DFS_DEBUGFS -DCONFIG_ATH9K_CHANNEL_CONTEXT
> +NOSTDINC_FLAGS += -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_BTCOEX_SUPPORT
> +NOSTDINC_FLAGS += -DCONFIG_ATH9K_RFKILL -DCONFIG_ATH9K_DYNACK -DCONFIG_ATH9K_HWRNG
> +NOSTDINC_FLAGS += -DSTANDALONE_CT
> +
> +define Build/Compile
> +	+CONFIG_ATH_COMMON=m CONFIG_ATH_DEBUG=y \
> +	 CONFIG_ATH9K=m CONFIG_ATH9K_HW=m CONFIG_ATH9K_COMMON=m CONFIG_ATH9K_PCI=y \
> +         CONFIG_ATH9K_HTC=m CONFIG_ATH9K_HTC_DEBUGFS=y CONFIG_ATH9K_RFKILL=y CONFIG_ATH9K_DYNACK=y \
> +         CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_DFS_DEBUGFS=y CONFIG_ATH9K_BTCOEX_SUPPORT=y CONFIG_ATH9K_STATION_STATISTICS=m \
> +         CONFIG_ATH9K_CHANNEL_CONTEXT=y CONFIG_ATH9K_HWRNG=y \
> +         CONFIG_ATH10K=m CONFIG_ATH10K_DEBUGFS=y CONFIG_MAC80211_DEBUGFS=y CONFIG_ATH10K_PCI=m CONFIG_ATH10K_AHB=y \
> +         $(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
> +		ARCH="$(LINUX_KARCH)" \
> +		CROSS_COMPILE="$(TARGET_CROSS)" \
> +		SUBDIRS="$(PKG_BUILD_DIR)" \
> +		NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
> +		modules
> +endef
> +
> +$(eval $(call KernelPackage,ath-ct))
>



More information about the Lede-dev mailing list