Create ath.patch

This commit is contained in:
Miguel Fuertes authored and GitHub committed 2025-09-16 12:43:46 +02:00
1 parent 4852f4b94b
commit 2443d3b09d
1 file changed
+477
+477
View File
@@ -0,0 +1,477 @@
From 55545e3f75b94bdb4febf77731ae4349a9e6951e Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Fri, 13 Jan 2023 17:21:29 +0500
Subject: [PATCH] mac80211: Add wcn36xx support
https://github.com/immortalwrt/immortalwrt/commit/55545e3f75b94bdb4febf77731ae4349a9e6951e.patch
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
package/kernel/mac80211/Makefile | 397 -------------------------------
package/kernel/mac80211/ath.mk | 22 +-
2 files changed, 19 insertions(+), 400 deletions(-)
delete mode 100644 package/kernel/mac80211/Makefile
diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
deleted file mode 100644
index a7472ee7794..00000000000
--- a/package/kernel/mac80211/Makefile
+++ /dev/null
@@ -1,397 +0,0 @@
-#
-# Copyright (C) 2007-2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=mac80211
-
-PKG_VERSION:=6.1.24
-PKG_RELEASE:=4
-# PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.58/
-PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources/
-PKG_HASH:=5d39aca7e34c33cb9b3e366117b2e86841b7bdd37933679d6b1e61be6b150648
-
-PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
-PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
-PKG_BUILD_PARALLEL:=1
-
-PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
-
-PKG_DRIVERS = \
- mac80211-hwsim \
- mt7601u \
- rsi91x rsi91x-usb rsi91x-sdio\
- wlcore wl12xx wl18xx
-
-PKG_CONFIG_DEPENDS:= \
- CONFIG_PACKAGE_kmod-mac80211 \
- CONFIG_PACKAGE_CFG80211_TESTMODE \
- CONFIG_PACKAGE_MAC80211_DEBUGFS \
- CONFIG_PACKAGE_MAC80211_MESH \
- CONFIG_PACKAGE_MAC80211_TRACING \
- CONFIG_PACKAGE_IWLWIFI_DEBUG \
- CONFIG_PACKAGE_IWLWIFI_DEBUGFS \
- CONFIG_PACKAGE_RTLWIFI_DEBUG \
-
-include $(INCLUDE_DIR)/package.mk
-
-WMENU:=Wireless Drivers
-
-define KernelPackage/mac80211/Default
- SUBMENU:=$(WMENU)
- URL:=https://wireless.wiki.kernel.org/
- MAINTAINER:=Felix Fietkau <nbd@nbd.name>
-endef
-
-config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
-
-config-y:= \
- WLAN \
- CFG80211_CERTIFICATION_ONUS \
- MAC80211_RC_MINSTREL \
- MAC80211_RC_MINSTREL_HT \
- MAC80211_RC_MINSTREL_VHT \
- MAC80211_RC_DEFAULT_MINSTREL \
- WLAN_VENDOR_ADMTEK \
- WLAN_VENDOR_ATH \
- WLAN_VENDOR_ATMEL \
- WLAN_VENDOR_BROADCOM \
- WLAN_VENDOR_CISCO \
- WLAN_VENDOR_INTEL \
- WLAN_VENDOR_INTERSIL \
- WLAN_VENDOR_MARVELL \
- WLAN_VENDOR_MEDIATEK \
- WLAN_VENDOR_RALINK \
- WLAN_VENDOR_REALTEK \
- WLAN_VENDOR_RSI \
- WLAN_VENDOR_ST \
- WLAN_VENDOR_TI \
- WLAN_VENDOR_ZYDAS \
-
-config-$(call config_package,cfg80211) += CFG80211
-config-$(CONFIG_PACKAGE_CFG80211_TESTMODE) += NL80211_TESTMODE
-
-config-$(call config_package,mac80211) += MAC80211
-config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
-
-include ath.mk
-include broadcom.mk
-include intel.mk
-include marvell.mk
-include ralink.mk
-include realtek.mk
-
-PKG_CONFIG_DEPENDS += \
- $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS))
-
-define KernelPackage/cfg80211
- $(call KernelPackage/mac80211/Default)
- TITLE:=cfg80211 - wireless configuration API
- DEPENDS+= +iw +iwinfo +wireless-regdb +USE_RFKILL:kmod-rfkill
- ABI_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
- FILES:= \
- $(PKG_BUILD_DIR)/compat/compat.ko \
- $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
-endef
-
-define KernelPackage/cfg80211/description
-cfg80211 is the Linux wireless LAN (802.11) configuration API.
-endef
-
-define KernelPackage/cfg80211/config
- if PACKAGE_kmod-cfg80211
-
- config PACKAGE_CFG80211_TESTMODE
- bool "Enable testmode command support"
- default n
- help
- This is typically used for tests and calibration during
- manufacturing, or vendor specific debugging features
-
- endif
-endef
-
-
-define KernelPackage/mac80211
- $(call KernelPackage/mac80211/Default)
- TITLE:=Linux 802.11 Wireless Networking Stack
- # +kmod-crypto-cmac is a runtime only dependency of net/mac80211/aes_cmac.c
- DEPENDS+= +kmod-cfg80211 +kmod-crypto-cmac +kmod-crypto-ccm +kmod-crypto-gcm +hostapd-common
- KCONFIG:=\
- CONFIG_AVERAGE=y
- FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
- ABI_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
- MENU:=1
-endef
-
-define KernelPackage/mac80211/config
- if PACKAGE_kmod-mac80211
-
- config PACKAGE_MAC80211_DEBUGFS
- bool "Export mac80211 internals in DebugFS"
- select KERNEL_DEBUG_FS
- default y
- help
- Select this to see extensive information about
- the internal state of mac80211 in debugfs.
-
- config PACKAGE_MAC80211_TRACING
- bool "Enable tracing (mac80211 and supported drivers)"
- select KERNEL_FTRACE
- select KERNEL_ENABLE_DEFAULT_TRACERS
- default n
- help
- Select this to enable tracing of mac80211 and
- related wifi drivers (using trace-cmd).
-
- config PACKAGE_MAC80211_MESH
- bool "Enable 802.11s mesh support"
- default y
-
- endif
-endef
-
-define KernelPackage/mac80211/description
-Generic IEEE 802.11 Networking Stack (mac80211)
-endef
-
-define KernelPackage/mac80211-hwsim
- $(call KernelPackage/mac80211/Default)
- TITLE:=mac80211 HW simulation device
- DEPENDS+= +kmod-mac80211 +@DRIVER_11AX_SUPPORT +@DRIVER_11AC_SUPPORT
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
- AUTOLOAD:=$(call AutoProbe,mac80211_hwsim)
-endef
-
-
-define KernelPackage/mt7601u
- $(call KernelPackage/mac80211/Default)
- TITLE:=MT7601U-based USB dongles Wireless Driver
- DEPENDS+= +kmod-mac80211 @USB_SUPPORT +kmod-usb-core +mt7601u-firmware
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
- AUTOLOAD:=$(call AutoProbe,mt7601u)
-endef
-
-define KernelPackage/rsi91x
- $(call KernelPackage/mac80211/Default)
- TITLE:=Redpine Signals Inc 91x WLAN driver support
- DEPENDS+= +kmod-mac80211 +rs9113-firmware
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_91x.ko
-endef
-
-define KernelPackage/rsi91x-usb
- $(call KernelPackage/mac80211/Default)
- TITLE:=Redpine Signals USB bus support
- DEPENDS+=@USB_SUPPORT +kmod-usb-core +kmod-mac80211 +kmod-rsi91x +rs9113-firmware
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_usb.ko
- AUTOLOAD:=$(call AutoProbe,rsi_usb)
-endef
-
-define KernelPackage/rsi91x-sdio
- $(call KernelPackage/mac80211/Default)
- TITLE:=Redpine Signals SDIO bus support
- DEPENDS+= +kmod-mac80211 +kmod-mmc +kmod-rsi91x +rs9113-firmware
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_sdio.ko
- AUTOLOAD:=$(call AutoProbe,rsi_sdio)
-endef
-
-
-define KernelPackage/wlcore
- $(call KernelPackage/mac80211/Default)
- TITLE:=TI common driver part
- DEPENDS+= +kmod-mmc +kmod-mac80211
- FILES:= \
- $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
- $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
- AUTOLOAD:=$(call AutoProbe,wlcore wlcore_sdio)
-endef
-
-define KernelPackage/wlcore/description
- This module contains some common parts needed by TI Wireless drivers.
-endef
-
-define KernelPackage/wl12xx
- $(call KernelPackage/mac80211/Default)
- TITLE:=Driver for TI WL12xx
- URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl12xx
- DEPENDS+= +kmod-wlcore +wl12xx-firmware
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko
- AUTOLOAD:=$(call AutoProbe,wl12xx)
-endef
-
-define KernelPackage/wl12xx/description
- Kernel modules for TI WL12xx
-endef
-
-define KernelPackage/wl18xx
- $(call KernelPackage/mac80211/Default)
- TITLE:=Driver for TI WL18xx
- URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl18xx
- DEPENDS+= +kmod-wlcore +wl18xx-firmware
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko
- AUTOLOAD:=$(call AutoProbe,wl18xx)
-endef
-
-define KernelPackage/wl18xx/description
- Kernel modules for TI WL18xx
-endef
-
-
-ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
- config-y += \
- CFG80211_DEBUGFS \
- MAC80211_DEBUGFS
-endif
-
-ifdef CONFIG_PACKAGE_MAC80211_TRACING
- config-y += \
- IWLWIFI_DEVICE_TRACING
-endif
-
-config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
-config-$(call config_package,mt7601u) += MT7601U
-config-y += WL_MEDIATEK
-
-config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
-config-$(call config_package,wl12xx) += WL12XX
-config-$(call config_package,wl18xx) += WL18XX
-config-y += WL_TI WILINK_PLATFORM_DATA
-config-$(call config_package,rsi91x) += RSI_91X
-config-$(call config_package,rsi91x-usb) += RSI_USB
-config-$(call config_package,rsi91x-sdio) += RSI_SDIO
-
-config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS
-
-C_DEFINES=
-
-ifeq ($(BUILD_VARIANT),smallbuffers)
- C_DEFINES+= -DCONFIG_ATH10K_SMALLBUFFERS
-endif
-
-MAKE_OPTS:= \
- $(subst -C $(LINUX_DIR),-C "$(PKG_BUILD_DIR)",$(KERNEL_MAKEOPTS)) \
- EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include $(IREMAP_CFLAGS) $(C_DEFINES)" \
- KLIB_BUILD="$(LINUX_DIR)" \
- MODPROBE=true \
- KLIB=$(TARGET_MODULES_DIR) \
- KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
- KBUILD_LDFLAGS_MODULE_PREREQ=
-
-define ConfigVars
-$(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
-))
-endef
-
-define mac80211_config
-$(call ConfigVars,m)$(call ConfigVars,y)
-endef
-$(eval $(call shexport,mac80211_config))
-
-define Build/Prepare
- rm -rf $(PKG_BUILD_DIR)
- mkdir -p $(PKG_BUILD_DIR)
- $(PKG_UNPACK)
- $(Build/Patch)
- rm -rf \
- $(PKG_BUILD_DIR)/include/linux/ssb \
- $(PKG_BUILD_DIR)/include/linux/bcma \
- $(PKG_BUILD_DIR)/include/net/bluetooth
-
- rm -f \
- $(PKG_BUILD_DIR)/include/linux/cordic.h \
- $(PKG_BUILD_DIR)/include/linux/crc8.h \
- $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
- $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
- $(PKG_BUILD_DIR)/include/linux/mhi.h \
- $(PKG_BUILD_DIR)/include/net/ieee80211.h \
- $(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h
-
- echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
-endef
-
-ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
- define Build/Compile/kmod
- rm -rf $(PKG_BUILD_DIR)/modules
- +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
- endef
-endif
-
-#do not Build/Configure for EXTERNAL KERNEL
-ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
- ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
- define Build/Configure
- cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
- cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
- cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
- endef
- endif
-endif
-
-define Build/Patch
- $(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath5k,ath5k/)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath9k,ath9k/)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mt7601u,mt7601u/)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
- $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtl,rtl/)
- $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
-endef
-
-define Quilt/Refresh/Package
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath5k,ath5k/)
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath9k,ath9k/)
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/)
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/)
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mt7601u,mt7601u/)
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
- $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtl,rtl/)
-endef
-
-define Build/Compile
- $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
- $(MAKE) $(MAKE_OPTS) allnoconfig
- $(call Build/Compile/kmod)
-endef
-
-define Build/InstallDev
- mkdir -p \
- $(1)/usr/include/mac80211 \
- $(1)/usr/include/mac80211-backport \
- $(1)/usr/include/mac80211/ath \
- $(1)/usr/include/net/mac80211
- $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
- $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
- $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
- $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
- rm -f $(1)/usr/include/mac80211-backport/linux/module.h
-endef
-
-
-define KernelPackage/cfg80211/install
- $(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless
- $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
- $(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless
- $(INSTALL_DIR) $(1)/etc/hotplug.d/ieee80211
- $(INSTALL_DATA) ./files/mac80211.hotplug $(1)/etc/hotplug.d/ieee80211/10-wifi-detect
-endef
-
-$(eval $(foreach drv,$(PKG_DRIVERS),$(call KernelPackage,$(drv))))
-$(eval $(call KernelPackage,cfg80211))
-$(eval $(call KernelPackage,mac80211))
diff --git a/package/kernel/mac80211/ath.mk b/package/kernel/mac80211/ath.mk
index a4225554427..6db65edee82 100644
--- a/package/kernel/mac80211/ath.mk
+++ b/package/kernel/mac80211/ath.mk
@@ -1,6 +1,6 @@
PKG_DRIVERS += \
ath ath5k ath6kl ath6kl-sdio ath6kl-usb ath9k ath9k-common ath9k-htc ath10k ath10k-smallbuffers \
- ath11k ath11k-ahb ath11k-pci carl9170 owl-loader ar5523 wil6210
+ ath11k ath11k-ahb ath11k-pci carl9170 owl-loader ar5523 wil6210 wcn36xx
PKG_CONFIG_DEPENDS += \
CONFIG_PACKAGE_ATH_DEBUG \
@@ -24,7 +24,8 @@ ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
CARL9170_DEBUGFS \
ATH5K_DEBUG \
ATH6KL_DEBUG \
- WIL6210_DEBUGFS
+ WIL6210_DEBUGFS \
+ WCN36XX_DEBUGFS
endif
ifdef CONFIG_PACKAGE_MAC80211_TRACING
@@ -47,6 +48,7 @@ config-$(call config_package,ath9k-common) += ATH9K_COMMON
config-$(call config_package,owl-loader) += ATH9K_PCI_NO_EEPROM
config-$(CONFIG_TARGET_ath79) += ATH9K_AHB
config-$(CONFIG_TARGET_ipq40xx) += ATH10K_AHB
+config-$(CONFIG_TARGET_msm89xx) += WCN36XX
config-$(CONFIG_PCI) += ATH9K_PCI
config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD ATH_REG_DYNAMIC_USER_REG_HINTS
config-$(CONFIG_ATH9K_HWRNG) += ATH9K_HWRNG
@@ -133,7 +135,7 @@ endef
define KernelPackage/ath
$(call KernelPackage/mac80211/Default)
TITLE:=Atheros common driver part
- DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ath79||TARGET_ath25 +kmod-mac80211
+ DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ath79||TARGET_ath25||TARGET_msm89xx +kmod-mac80211
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
MENU:=1
endef
@@ -350,6 +352,20 @@ This module adds support for Qualcomm Technologies 802.11ax family of
chipsets with PCI bus.
endef
+define KernelPackage/wcn36xx
+ $(call KernelPackage/mac80211/Default)
+ TITLE:=Qualcomm Atheros WCN3660/3680 support
+ URL:=https://wireless.wiki.kernel.org/en/users/drivers/wcn36xx
+ DEPENDS+= @TARGET_msm89xx +kmod-ath +kmod-qcom-rproc-wcnss
+ FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/wcn36xx/wcn36xx.ko
+ AUTOLOAD:=$(call AutoProbe,wcn36xx)
+endef
+
+define KernelPackage/wcn36xx/description
+This module adds support for Qualcomm Atheros WCN3660/3680 Wireless
+blocks in some Qualcomm SoCs
+endef
+
define KernelPackage/carl9170
$(call KernelPackage/mac80211/Default)
TITLE:=Driver for Atheros AR9170 USB sticks