diff --git a/package/kernel/rtl8812au-ac/Makefile b/package/kernel/rtl8812au-ac/Makefile
deleted file mode 100644
index 282c7ebb1d..0000000000
--- a/package/kernel/rtl8812au-ac/Makefile
+++ /dev/null
@@ -1,71 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-#
-# Copyright (C) 2020 stepheny
-# <https://github.com/aircrack-ng/rtl8812au/pull/619>
-#
-# Copyright (C) 2021-2022 ImmortalWrt.org
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=rtl8812au-ac
-PKG_RELEASE:=1
-
-PKG_SOURCE_URL:=https://github.com/aircrack-ng/rtl8812au.git
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_DATE:=2024-04-09
-PKG_SOURCE_VERSION:=63cf0b4584aa8878b0fe8ab38017f31c319bde3d
-PKG_MIRROR_HASH:=74c1375f56e1f2122e0ec2a78a200fca43719e354c9db845625f6e6f08fa863a
-
-PKG_LICENSE:=GPL-2.0-only
-PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=Marty Jones <mj8263788@gmail.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/rtl8812au-ac
-  SUBMENU:=Wireless Drivers
-  TITLE:=Realtek RTL8812AU/21AU wireless drivers
-  DEPENDS:=+kmod-cfg80211 +kmod-usb-core +@DRIVER_11AC_SUPPORT
-  FILES:=$(PKG_BUILD_DIR)/rtl8812au.ko
-  AUTOLOAD:=$(call AutoProbe,rtl8812au)
-  CONFLICTS:=kmod-rtl8812au-ct
-endef
-
-NOSTDINC_FLAGS:= \
-	$(KERNEL_NOSTDINC_FLAGS) \
-	-I$(PKG_BUILD_DIR) \
-	-I$(PKG_BUILD_DIR)/include \
-	-I$(STAGING_DIR)/usr/include/mac80211-backport \
-	-I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
-	-I$(STAGING_DIR)/usr/include/mac80211 \
-	-I$(STAGING_DIR)/usr/include/mac80211/uapi \
-	-include backport/autoconf.h \
-	-include backport/backport.h
-
-NOSTDINC_FLAGS+= \
-	-DRTW_SINGLE_WIPHY \
-	-DRTW_USE_CFG80211_STA_EVENT \
-	-DCONFIG_IOCTL_CFG80211 \
-	-DBUILD_OPENWRT
-
-ifeq ($(CONFIG_BIG_ENDIAN),y)
-NOSTDINC_FLAGS+= -DCONFIG_BIG_ENDIAN
-else
-NOSTDINC_FLAGS+= -DCONFIG_LITTLE_ENDIAN
-endif
-
-define Build/Compile
-	+$(KERNEL_MAKE) $(PKG_JOBS) \
-		M="$(PKG_BUILD_DIR)" \
-		NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
-		CONFIG_88XXAU=m \
-		USER_MODULE_NAME=rtl8812au \
-		modules
-endef
-
-$(eval $(call KernelPackage,rtl8812au-ac))
diff --git a/package/kernel/rtl8812au-ac/patches/001-use-kernel-byteorder.patch b/package/kernel/rtl8812au-ac/patches/001-use-kernel-byteorder.patch
deleted file mode 100644
index 187a6788ed..0000000000
--- a/package/kernel/rtl8812au-ac/patches/001-use-kernel-byteorder.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Fix compile problem when rtw_byteorder.h and asm/byteorder.h gets 
-included in addition for example indirectly, do not use realtek own copy 
-of the byteorder headers.
-
---- a/include/drv_types.h
-+++ b/include/drv_types.h
-@@ -24,7 +24,7 @@
- #include <drv_conf.h>
- #include <basic_types.h>
- #include <osdep_service.h>
--#include <rtw_byteorder.h>
-+#include <asm/byteorder.h>
- #include <wlan_bssdef.h>
- #include <wifi.h>
- #include <ieee80211.h>
diff --git a/package/kernel/rtl8812au-ac/patches/010-disable-default-build-x86.patch b/package/kernel/rtl8812au-ac/patches/010-disable-default-build-x86.patch
deleted file mode 100644
index 6856138d80..0000000000
--- a/package/kernel/rtl8812au-ac/patches/010-disable-default-build-x86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -97,7 +97,7 @@ CONFIG_RTW_SDIO_PM_KEEP_POWER = y
- ###################### MP HW TX MODE FOR VHT #######################
- CONFIG_MP_VHT_HW_TX_MODE = n
- ###################### Platform Related #######################
--CONFIG_PLATFORM_I386_PC = y
-+CONFIG_PLATFORM_I386_PC = n
- CONFIG_PLATFORM_ANDROID_ARM64 = n
- CONFIG_PLATFORM_ARM_RPI = n
- CONFIG_PLATFORM_ARM64_RPI = n
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
deleted file mode 100644
index 44fed1c2ac..0000000000
--- a/package/kernel/rtl8812au-ac/patches/020-change-value-of-vht-enable-and-usb-mode.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/os_dep/linux/os_intfs.c
-+++ b/os_dep/linux/os_intfs.c
-@@ -258,7 +258,7 @@ int rtw_bfee_rf_number = 0; /*Beamformee
- #endif /* CONFIG_80211N_HT */
- 
- #ifdef CONFIG_80211AC_VHT
--int rtw_vht_enable = 1; /* 0:disable, 1:enable, 2:force auto enable */
-+int rtw_vht_enable = 2; /* 0:disable, 1:enable, 2:force auto enable */
- module_param(rtw_vht_enable, int, 0644);
- 
- int rtw_ampdu_factor = 7;
-@@ -328,7 +328,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 */
--int rtw_switch_usb_mode = 0;
-+int rtw_switch_usb_mode = 1;
- 
- #ifdef CONFIG_USB_AUTOSUSPEND
- int rtw_enusbss = 1;/* 0:disable,1:enable */
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
deleted file mode 100644
index fb44f9ec23..0000000000
--- a/package/kernel/rtl8812au-ac/patches/030-add-missing-code-for-concurrent-mode.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/os_dep/linux/os_intfs.c
-+++ b/os_dep/linux/os_intfs.c
-@@ -2782,6 +2782,7 @@ static int netdev_vir_if_close(struct ne
- {
- 	_adapter *padapter = (_adapter *)rtw_netdev_priv(pnetdev);
- 	struct mlme_priv	*pmlmepriv = &padapter->mlmepriv;
-+	struct wireless_dev *wdev = padapter->rtw_wdev;
- 
- 	RTW_INFO(FUNC_NDEV_FMT" , bup=%d\n", FUNC_NDEV_ARG(pnetdev), padapter->bup);
- 	padapter->net_closed = _TRUE;
diff --git a/package/kernel/rtl8812au-ac/patches/040-wireless-5.8.patch b/package/kernel/rtl8812au-ac/patches/040-wireless-5.8.patch
deleted file mode 100644
index 708f8532a3..0000000000
--- a/package/kernel/rtl8812au-ac/patches/040-wireless-5.8.patch
+++ /dev/null
@@ -1,152 +0,0 @@
---- a/os_dep/linux/ioctl_cfg80211.c
-+++ b/os_dep/linux/ioctl_cfg80211.c
-@@ -460,9 +460,9 @@ u8 rtw_cfg80211_ch_switch_notify(_adapte
- 
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0))
- 	if (started) {
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) && (LINUX_VERSION_CODE < KERNEL_VERSION(6, 9, 0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) && (LINUX_VERSION_CODE < KERNEL_VERSION(6, 9, 0)) && !defined(BUILD_OPENWRT)
- 		cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, 0, 0, false, 0);
--#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) || defined(BUILD_OPENWRT)
- 		cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, 0, 0, false);
- #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0)) || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(8,0))
- 		cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, 0, false);
-@@ -476,9 +476,9 @@ u8 rtw_cfg80211_ch_switch_notify(_adapte
- 	if (!rtw_cfg80211_allow_ch_switch_notify(adapter))
- 		goto exit;
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) && (LINUX_VERSION_CODE < KERNEL_VERSION(6, 9, 0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) && (LINUX_VERSION_CODE < KERNEL_VERSION(6, 9, 0)) && !defined(BUILD_OPENWRT)
- 	cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0, 0);
--#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2))
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2)) || defined(BUILD_OPENWRT)
- 	cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0);
- #else
- 	cfg80211_ch_switch_notify(adapter->pnetdev, &chdef);
-@@ -1155,7 +1155,7 @@ check_bss:
- 		#endif
- 
- 		#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
--		#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
-+		#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) && !defined(BUILD_OPENWRT)
- 		roam_info.channel = notify_channel;
- 		roam_info.bssid = cur_network->network.MacAddress;
- 		#endif
-@@ -1738,7 +1738,7 @@ exit:
- }
- 
- static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) || defined(BUILD_OPENWRT)
- 	, int link_id
- #endif
- 	, u8 key_index
-@@ -1885,7 +1885,7 @@ addkey_end:
- }
- 
- static int cfg80211_rtw_get_key(struct wiphy *wiphy, struct net_device *ndev
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) || defined(BUILD_OPENWRT)
- 	, int link_id
- #endif
- 	, u8 keyid
-@@ -2053,7 +2053,7 @@ exit:
- }
- 
- static int cfg80211_rtw_del_key(struct wiphy *wiphy, struct net_device *ndev,
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) || defined(BUILD_OPENWRT)
- 	int link_id,
- #endif
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) || defined(COMPAT_KERNEL_RELEASE)
-@@ -2077,7 +2077,7 @@ static int cfg80211_rtw_del_key(struct w
- 
- static int cfg80211_rtw_set_default_key(struct wiphy *wiphy,
- 	struct net_device *ndev,
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) || defined(BUILD_OPENWRT)
- 	int link_id,
- #endif
- 	u8 key_index
-@@ -2129,7 +2129,7 @@ static int cfg80211_rtw_set_default_key(
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30))
- int cfg80211_rtw_set_default_mgmt_key(struct wiphy *wiphy,
- 	struct net_device *ndev,
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) || defined(BUILD_OPENWRT)
- 	int link_id,
- #endif
- 	u8 key_index)
-@@ -5283,7 +5283,7 @@ exit:
- 	return ret;
- }
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 7, 0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 7, 0)) || defined(BUILD_OPENWRT)
- static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev,
- 		struct cfg80211_ap_update *params)
- {
-@@ -5315,7 +5315,7 @@ static int cfg80211_rtw_change_beacon(st
- 	return ret;
- }
- 
--#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 19, 2))
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 19, 2)) && !defined(BUILD_OPENWRT)
- static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev)
- #else
- static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev, unsigned int link_id)
-@@ -6191,7 +6191,7 @@ static int	cfg80211_rtw_set_channel(stru
- 	return 0;
- }
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2)) || defined(BUILD_OPENWRT)
- static int cfg80211_rtw_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev, unsigned int link_id, struct cfg80211_chan_def *chandef){
- #else
- static int cfg80211_rtw_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev, struct cfg80211_chan_def *chandef){
-@@ -6303,6 +6303,9 @@ static int cfg80211_rtw_get_channel(stru
- }
- 
- static int cfg80211_rtw_set_monitor_channel(struct wiphy *wiphy
-+#ifdef BUILD_OPENWRT
-+	, struct net_device *dev
-+#endif
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0))
- 	, struct cfg80211_chan_def *chandef
- #else
-@@ -7862,7 +7865,7 @@ static int cfg80211_rtw_tdls_mgmt(struct
- #else
- 	u8 *peer,
- #endif
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0)) || defined(BUILD_OPENWRT)
- 	int link_id,
- #endif
- 	u8 action_code,
-@@ -10484,7 +10487,7 @@ void rtw_wdev_unregister(struct wireless
- 	rtw_cfg80211_indicate_scan_done(adapter, _TRUE);
- 
- 	#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)) || defined(COMPAT_KERNEL_RELEASE)
--	#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2))
-+	#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2)) || defined(BUILD_OPENWRT)
- 	if (wdev->links[0].client.current_bss) {
- 	#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2))
- 	if (wdev->connected) {
---- a/os_dep/linux/os_intfs.c
-+++ b/os_dep/linux/os_intfs.c
-@@ -2798,7 +2798,13 @@ static int netdev_vir_if_close(struct ne
- 
- #ifdef CONFIG_IOCTL_CFG80211
- 	wdev->iftype = NL80211_IFTYPE_MONITOR;
--	wdev->current_bss = NULL;
-+	#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0) || defined(BUILD_OPENWRT))
-+	wdev->links[0].client.current_bss = NULL;
-+	#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,19, 2))
-+	wdev->connected = NULL;
-+	#else
-+ 	wdev->current_bss = NULL;
-+	#endif
- 	rtw_scan_abort(padapter);
- 	rtw_cfg80211_wait_scan_req_empty(padapter, 200);
- 	adapter_wdev_data(padapter)->bandroid_scan = _FALSE;