From 24b16e508c4e1be2c1abd6e60d78a35946ef820b Mon Sep 17 00:00:00 2001 From: AmadeusGhost <42570690+AmadeusGhost@users.noreply.github.com> Date: Sun, 9 Aug 2020 22:05:11 +0800 Subject: [PATCH] rtl8192du: fix build with mac80211-5.8 --- package/ntlf9t/rtl8192du/Makefile | 51 ++++++++++--------- .../patches/010-missing-header-in-ipv6.patch | 14 ----- .../rtl8192du/patches/010-wireless-5.8.patch | 29 +++++++++++ 3 files changed, 55 insertions(+), 39 deletions(-) delete mode 100644 package/ntlf9t/rtl8192du/patches/010-missing-header-in-ipv6.patch create mode 100644 package/ntlf9t/rtl8192du/patches/010-wireless-5.8.patch diff --git a/package/ntlf9t/rtl8192du/Makefile b/package/ntlf9t/rtl8192du/Makefile index 23ada7e69b..0c35e95bc6 100644 --- a/package/ntlf9t/rtl8192du/Makefile +++ b/package/ntlf9t/rtl8192du/Makefile @@ -7,18 +7,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rtl8192du -PKG_VERSION:=2019-06-01 +PKG_VERSION:=2020-06-11 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/lwfinger/rtl8192du -PKG_SOURCE_VERSION:=54c95aaa23fe332afaa1ed4aacbb0db43aa3c7dd -PKG_MIRROR_HASH:=9c21ca7b9115de8e711b38c3005fb22af5a9f392f801ac1f2383d82df789e81a +PKG_SOURCE_VERSION:=d6185ff4a242ebf553e9e9980da21591660e8f8c +PKG_MIRROR_HASH:=8d7ca5ea8a6daa07ff9dbd8669337ee8b999fdbfb2a8d7216a2eb4d5601537fd PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz -PKG_MAINTAINER:=Javier Marcet -PKG_LICENSE:=GPLv2 +PKG_MAINTAINER:=Larry Finger STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h @@ -26,18 +25,20 @@ include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/package.mk NOSTDINC_FLAGS = \ - -I$(PKG_BUILD_DIR)/include \ - -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 + -I$(PKG_BUILD_DIR)/include \ + -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 + +NOSTDINC_FLAGS+=-DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT -DCONFIG_CONCURRENT_MODE -DBUILD_OPENWRT define KernelPackage/rtl8192du SUBMENU:=Wireless Drivers TITLE:=Realtek RTL8192DU wireless USB 802.11n driver - DEPENDS:=@USB_SUPPORT +kmod-cfg80211 +kmod-mac80211 +kmod-usb-core +wireless-tools + DEPENDS:=@USB_SUPPORT +kmod-cfg80211 +kmod-mac80211 +kmod-usb-core FILES:= $(PKG_BUILD_DIR)/8192du.$(LINUX_KMOD_SUFFIX) # AUTOLOAD:=$(call AutoProbe,8192du) endef @@ -47,24 +48,24 @@ define KernelPackage/rtl8192du/description endef define Build/Compile - +$(MAKE) $(PKG_JOBS) -C $(LINUX_DIR) \ - $(KERNEL_MAKE_FLAGS) \ - M="$(PKG_BUILD_DIR)" \ - CONFIG_RTL8192DU=m \ - NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \ - M="$(PKG_BUILD_DIR)" \ - src="$(PKG_BUILD_DIR)" \ - TopDIR="$(PKG_BUILD_DIR)" \ - modules + +$(MAKE) $(PKG_JOBS) -C $(LINUX_DIR) \ + $(KERNEL_MAKE_FLAGS) \ + SUBDIRS="$(PKG_BUILD_DIR)" \ + CONFIG_RTL8192DU=m \ + NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \ + M="$(PKG_BUILD_DIR)" \ + src="$(PKG_BUILD_DIR)" \ + TopDIR="$(PKG_BUILD_DIR)" \ + modules endef define Build/Configure endef define KernelPackage/rtl8192du/install - $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi - $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl8192dufw.bin $(1)/lib/firmware/rtlwifi/ - $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl8192dufw_wol.bin $(1)/lib/firmware/rtlwifi/ + $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi + $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl8192dufw.bin $(1)/lib/firmware/rtlwifi/ + $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl8192dufw_wol.bin $(1)/lib/firmware/rtlwifi/ endef $(eval $(call KernelPackage,rtl8192du)) diff --git a/package/ntlf9t/rtl8192du/patches/010-missing-header-in-ipv6.patch b/package/ntlf9t/rtl8192du/patches/010-missing-header-in-ipv6.patch deleted file mode 100644 index 57938b2df2..0000000000 --- a/package/ntlf9t/rtl8192du/patches/010-missing-header-in-ipv6.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/core/rtw_br_ext.c b/core/rtw_br_ext.c -index 964b366..ec1c620 100644 ---- a/core/rtw_br_ext.c -+++ b/core/rtw_br_ext.c -@@ -51,6 +51,9 @@ - #include - #include - #include -+#ifndef _HAVE_ARCH_IPV6_CSUM -+#include -+#endif - #endif - #endif - diff --git a/package/ntlf9t/rtl8192du/patches/010-wireless-5.8.patch b/package/ntlf9t/rtl8192du/patches/010-wireless-5.8.patch new file mode 100644 index 0000000000..07f94bec49 --- /dev/null +++ b/package/ntlf9t/rtl8192du/patches/010-wireless-5.8.patch @@ -0,0 +1,29 @@ +--- a/os_dep/ioctl_cfg80211.c ++++ b/os_dep/ioctl_cfg80211.c +@@ -4941,7 +4941,14 @@ exit: + return ret; + } + +-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)) || defined(BUILD_OPENWRT) ++static void cfg80211_rtw_update_mgmt_frame_register(struct wiphy *wiphy, ++ struct wireless_dev *wdev, ++ struct mgmt_frame_regs *upd) ++{ ++ ++} ++#else + static void cfg80211_rtw_mgmt_frame_register(struct wiphy *wiphy, + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)) + struct wireless_dev *wdev, +@@ -5355,7 +5362,9 @@ static struct cfg80211_ops rtw_cfg80211_ops = { + + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) || defined(COMPAT_KERNEL_RELEASE) + .mgmt_tx = cfg80211_rtw_mgmt_tx, +-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)) || defined(BUILD_OPENWRT) ++ .update_mgmt_frame_registrations = cfg80211_rtw_update_mgmt_frame_register, ++#else + .mgmt_frame_register = cfg80211_rtw_mgmt_frame_register, + #endif + #elif (LINUX_VERSION_CODE>=KERNEL_VERSION(2,6,34) && LINUX_VERSION_CODE<=KERNEL_VERSION(2,6,35))