diff --git a/package/kernel/rtl8812au-ac/Makefile b/package/kernel/rtl8812au-ac/Makefile index 3e7ac14f7c..0d85a80c2f 100644 --- a/package/kernel/rtl8812au-ac/Makefile +++ b/package/kernel/rtl8812au-ac/Makefile @@ -1,24 +1,20 @@ +# SPDX-License-Identifier: GPL-3.0-only # # Copyright (C) 2020 stepheny # # -# Copyright (C) 2021 ImmortalWrt -# -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# +# Copyright (C) 2021 ImmortalWrt.org include $(TOPDIR)/rules.mk PKG_NAME:=rtl8812au-ac -PKG_RELEASE:=1 +PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE_URL:=https://github.com/aircrack-ng/rtl8812au.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2021-05-22 -PKG_SOURCE_VERSION:=0b87ed921a8682856aed5a3e68344b0087f3c93c -PKG_MIRROR_HASH:=f351622acacda52580d5983f5fa6130f625c80f9ee7500543ff8333d57ec3b74 +PKG_SOURCE_DATE:=2021-06-27 +PKG_SOURCE_VERSION:=b8167e66b4ac046b3b76c2c40008d84528e91594 +PKG_MIRROR_HASH:=f3608afb663ccfc796e776bd26b99d9f9cb8dd053bd302eab5c077e498010ce9 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=LICENSE diff --git a/package/kernel/rtl8812au-ac/patches/020-change-value-of-vht-enable-and-usb-mode.patch b/package/kernel/rtl8812au-ac/patches/020-change-value-of-vht-enable-and-usb-mode.patch index 8a57356c18..3c7bfdf13e 100644 --- a/package/kernel/rtl8812au-ac/patches/020-change-value-of-vht-enable-and-usb-mode.patch +++ b/package/kernel/rtl8812au-ac/patches/020-change-value-of-vht-enable-and-usb-mode.patch @@ -1,6 +1,6 @@ --- a/os_dep/linux/os_intfs.c +++ b/os_dep/linux/os_intfs.c -@@ -254,7 +254,7 @@ int rtw_bfee_rf_number = 0; /*BeamformeeCapRfNum Rf path number, 0 for auto, ot +@@ -254,7 +254,7 @@ int rtw_bfee_rf_number = 0; /*Beamformee #endif /* CONFIG_80211N_HT */ #ifdef CONFIG_80211AC_VHT @@ -9,7 +9,7 @@ module_param(rtw_vht_enable, int, 0644); int rtw_ampdu_factor = 7; -@@ -324,7 +324,7 @@ int rtw_drv_ant_band_switch = 1; /* 0:OFF , 1:ON, Driver control antenna band sw +@@ -324,7 +324,7 @@ int rtw_drv_ant_band_switch = 1; /* 0:OF int rtw_single_ant_path; /*0:main ant , 1:aux ant , Fixed single antenna path, default main ant*/ /* 0: doesn't switch, 1: switch from usb2.0 to usb 3.0 2: switch from usb3.0 to usb 2.0 */ diff --git a/package/kernel/rtl8812au-ac/patches/030-add-missing-code-for-concurrent-mode.patch b/package/kernel/rtl8812au-ac/patches/030-add-missing-code-for-concurrent-mode.patch index f6af34d3e3..5e3abce660 100644 --- a/package/kernel/rtl8812au-ac/patches/030-add-missing-code-for-concurrent-mode.patch +++ b/package/kernel/rtl8812au-ac/patches/030-add-missing-code-for-concurrent-mode.patch @@ -1,6 +1,6 @@ --- a/os_dep/linux/os_intfs.c +++ b/os_dep/linux/os_intfs.c -@@ -2803,6 +2803,7 @@ static int netdev_vir_if_close(struct net_device *pnetdev) +@@ -2803,6 +2803,7 @@ static int netdev_vir_if_close(struct ne { _adapter *padapter = (_adapter *)rtw_netdev_priv(pnetdev); struct mlme_priv *pmlmepriv = &padapter->mlmepriv; diff --git a/package/kernel/rtl8812au-ac/patches/040-wireless-5.8.patch b/package/kernel/rtl8812au-ac/patches/040-wireless-5.8.patch index 6fb74745d0..acb0b73918 100644 --- a/package/kernel/rtl8812au-ac/patches/040-wireless-5.8.patch +++ b/package/kernel/rtl8812au-ac/patches/040-wireless-5.8.patch @@ -1,5 +1,14 @@ --- a/os_dep/linux/ioctl_cfg80211.c +++ b/os_dep/linux/ioctl_cfg80211.c +@@ -460,7 +460,7 @@ u8 rtw_cfg80211_ch_switch_notify(_adapte + + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)) + if (started) { +-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0) || defined(BUILD_OPENWRT)) + cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, 0, false); + #else + cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, 0); @@ -7733,7 +7733,7 @@ exit: return ret; } @@ -9,7 +18,7 @@ static void cfg80211_rtw_update_mgmt_frame_register(struct wiphy *wiphy, struct wireless_dev *wdev, struct mgmt_frame_regs *upd) -@@ -10185,7 +10185,7 @@ static struct cfg80211_ops rtw_cfg80211_ops = { +@@ -10185,7 +10185,7 @@ static struct cfg80211_ops rtw_cfg80211_ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) || defined(COMPAT_KERNEL_RELEASE) .mgmt_tx = cfg80211_rtw_mgmt_tx, diff --git a/package/kernel/rtl8812au-ac/patches/050-Fix-kernel-5.15-compilation.patch b/package/kernel/rtl8812au-ac/patches/050-Fix-kernel-5.15-compilation.patch new file mode 100644 index 0000000000..e35d48043c --- /dev/null +++ b/package/kernel/rtl8812au-ac/patches/050-Fix-kernel-5.15-compilation.patch @@ -0,0 +1,72 @@ +From 47a38b7c736dd9e9baac9eb07a6dceb83429fb49 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Carlos=20Garc=C3=A9s?= +Date: Sun, 10 Oct 2021 12:39:42 +0200 +Subject: [PATCH] Fix kernel 5.15 compilation Remove IPX support from driver, + set as obsolete in Jan 2018. IPX is not supported by the linux kernel since + v5.15-rc1 see commit 6c9b40844751ea30c72f7a2f92f4d704bc6b2927 + +--- + core/rtw_br_ext.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +--- a/core/rtw_br_ext.c ++++ b/core/rtw_br_ext.c +@@ -17,7 +17,10 @@ + #ifdef __KERNEL__ + #include + #include ++ #include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0) + #include ++#endif + #include + #include + #include +@@ -169,6 +172,7 @@ static __inline__ void __nat25_generate_ + } + + ++#ifdef _NET_INET_IPX_H_ + static __inline__ void __nat25_generate_ipx_network_addr_with_node(unsigned char *networkAddr, + unsigned int *ipxNetAddr, unsigned char *ipxNodeAddr) + { +@@ -189,6 +193,7 @@ static __inline__ void __nat25_generate_ + memcpy(networkAddr + 1, (unsigned char *)ipxNetAddr, 4); + memcpy(networkAddr + 5, (unsigned char *)ipxSocketAddr, 2); + } ++#endif + + + static __inline__ void __nat25_generate_apple_network_addr(unsigned char *networkAddr, +@@ -330,6 +335,7 @@ static __inline__ int __nat25_network_ha + x = networkAddr[7] ^ networkAddr[8] ^ networkAddr[9] ^ networkAddr[10]; + + return x & (NAT25_HASH_SIZE - 1); ++#ifdef _NET_INET_IPX_H_ + } else if (networkAddr[0] == NAT25_IPX) { + unsigned long x; + +@@ -337,6 +343,7 @@ static __inline__ int __nat25_network_ha + networkAddr[6] ^ networkAddr[7] ^ networkAddr[8] ^ networkAddr[9] ^ networkAddr[10]; + + return x & (NAT25_HASH_SIZE - 1); ++#endif + } else if (networkAddr[0] == NAT25_APPLE) { + unsigned long x; + +@@ -889,6 +896,7 @@ int nat25_db_handle(_adapter *priv, stru + } + } + ++#ifdef _NET_INET_IPX_H_ + /*---------------------------------------------------*/ + /* Handle IPX and Apple Talk frame */ + /*---------------------------------------------------*/ +@@ -1109,6 +1117,7 @@ int nat25_db_handle(_adapter *priv, stru + + return -1; + } ++#endif + + /*---------------------------------------------------*/ + /* Handle PPPoE frame */