From 8ea8e4be955b10555745b9e408fd161d1b15e129 Mon Sep 17 00:00:00 2001 From: AmadeusGhost <42570690+AmadeusGhost@users.noreply.github.com> Date: Tue, 29 Dec 2020 11:28:06 +0800 Subject: [PATCH] rtl8812au-ac: enable concurrent mode support --- package/ctcgfw/rtl8812au-ac/Makefile | 15 ++++--- ...Remove-wdev-code-for-concurrent-mode.patch | 13 ++++++ .../0004-Makefile-disable-build-8814au.patch | 40 +++++++++++++++++++ 3 files changed, 60 insertions(+), 8 deletions(-) create mode 100644 package/ctcgfw/rtl8812au-ac/patches/0003-Remove-wdev-code-for-concurrent-mode.patch create mode 100644 package/ctcgfw/rtl8812au-ac/patches/0004-Makefile-disable-build-8814au.patch diff --git a/package/ctcgfw/rtl8812au-ac/Makefile b/package/ctcgfw/rtl8812au-ac/Makefile index 35191f0e14..4912a0af4a 100644 --- a/package/ctcgfw/rtl8812au-ac/Makefile +++ b/package/ctcgfw/rtl8812au-ac/Makefile @@ -3,18 +3,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rtl8812au-ac PKG_RELEASE:=1 -PKG_LICENSE:=GPLv2 -PKG_LICENSE_FILES:= - PKG_SOURCE_URL:=https://github.com/aircrack-ng/rtl8812au.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2020-06-26 PKG_SOURCE_VERSION:=58f6be25f7c86d7ba67b0ccc638cf667755e6e1b PKG_MIRROR_HASH:=60359df8b49fa433d38b968b0df7eaddaca10f13cdd57471394bac1f6e5a162e -# PKG_MAINTAINER:= PKG_BUILD_PARALLEL:=1 +PKG_LICENSE:=GPLv2 +PKG_LICENSE_FILES:=LICENSE + STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h include $(INCLUDE_DIR)/kernel.mk @@ -22,10 +21,9 @@ include $(INCLUDE_DIR)/package.mk define KernelPackage/rtl8812au-ac SUBMENU:=Wireless Drivers - TITLE:=Realtek rtl8812au/21au and rtl8814au driver + TITLE:=Realtek rtl8812au/21au wireless drivers DEPENDS:=+kmod-cfg80211 +kmod-usb-core +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT - FILES:=\ - $(PKG_BUILD_DIR)/rtl8812au.ko + FILES:=$(PKG_BUILD_DIR)/rtl8812au.ko AUTOLOAD:=$(call AutoProbe,rtl8812au) endef @@ -40,7 +38,8 @@ NOSTDINC_FLAGS = \ -include backport/backport.h NOSTDINC_FLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT \ - -D_LINUX_BYTEORDER_SWAB_H -DBUILD_OPENWRT -DRTW_SINGLE_WIPHY + -DRTW_SINGLE_WIPHY -DCONFIG_CONCURRENT_MODE -D_LINUX_BYTEORDER_SWAB_H + ifeq ($(CONFIG_BIG_ENDIAN), y) NOSTDINC_FLAGS += -DCONFIG_BIG_ENDIAN endif diff --git a/package/ctcgfw/rtl8812au-ac/patches/0003-Remove-wdev-code-for-concurrent-mode.patch b/package/ctcgfw/rtl8812au-ac/patches/0003-Remove-wdev-code-for-concurrent-mode.patch new file mode 100644 index 0000000000..4f644af4b7 --- /dev/null +++ b/package/ctcgfw/rtl8812au-ac/patches/0003-Remove-wdev-code-for-concurrent-mode.patch @@ -0,0 +1,13 @@ +--- a/os_dep/linux/os_intfs.c ++++ b/os_dep/linux/os_intfs.c +@@ -2817,8 +2817,10 @@ static int netdev_vir_if_close(struct net_device *pnetdev) + #endif + + #ifdef CONFIG_IOCTL_CFG80211 ++#ifndef CONFIG_CONCURRENT_MODE + wdev->iftype = NL80211_IFTYPE_MONITOR; + wdev->current_bss = NULL; ++#endif + rtw_scan_abort(padapter); + rtw_cfg80211_wait_scan_req_empty(padapter, 200); + adapter_wdev_data(padapter)->bandroid_scan = _FALSE; diff --git a/package/ctcgfw/rtl8812au-ac/patches/0004-Makefile-disable-build-8814au.patch b/package/ctcgfw/rtl8812au-ac/patches/0004-Makefile-disable-build-8814au.patch new file mode 100644 index 0000000000..c12e4f88de --- /dev/null +++ b/package/ctcgfw/rtl8812au-ac/patches/0004-Makefile-disable-build-8814au.patch @@ -0,0 +1,40 @@ +From 0f4e46f0fd39f4a18fa01d125284cccaee82ed7b Mon Sep 17 00:00:00 2001 +From: kimocoder +Date: Mon, 19 Oct 2020 05:43:38 +0200 +Subject: [PATCH] Turned 8814au chipset OFF + +--- + Makefile | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 787b0318..a23673bc 100755 +--- a/Makefile ++++ b/Makefile +@@ -22,7 +22,7 @@ EXTRA_LDFLAGS += --strip-all -O3 + ########################## WIFI IC ############################ + CONFIG_RTL8812A = y + CONFIG_RTL8821A = y +-CONFIG_RTL8814A = y ++CONFIG_RTL8814A = n + ######################### Interface ########################### + CONFIG_USB_HCI = y + ########################### Android ########################### +@@ -177,7 +177,7 @@ ifeq ($(CONFIG_USB_HCI), y) + HCI_NAME = usb + endif + +-ifeq ($(CONFIG_RTL8812A)_$(CONFIG_RTL8821A)_$(CONFIG_RTL8814A), y_y_y) ++ifeq ($(CONFIG_RTL8812A)_$(CONFIG_RTL8821A)_$(CONFIG_RTL8814A), y_y_n) + + EXTRA_CFLAGS += -DDRV_NAME=\"rtl88XXau\" + ifeq ($(CONFIG_USB_HCI), y) +@@ -456,7 +456,7 @@ ifeq ($(CONFIG_RTL8814A), y) + #EXTRA_CFLAGS += -DCONFIG_MP_VHT_HW_TX_MODE + CONFIG_MP_VHT_HW_TX_MODE = n + ########################################## +-RTL871X = rtl8814a ++#RTL871X = rtl8814a + ifeq ($(CONFIG_USB_HCI), y) + MODULE_NAME = 8814au + endif