diff --git a/package/lean/aic8800/Makefile b/package/lean/aic8800/Makefile index 75b9c8e3b..b4cfc7639 100644 --- a/package/lean/aic8800/Makefile +++ b/package/lean/aic8800/Makefile @@ -31,12 +31,11 @@ define KernelPackage/aic8800s SUBMENU:=Wireless Drivers TITLE:=AIC8800 SDIO wireless support DEPENDS:=+kmod-mac80211 +kmod-mmc \ - +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT + +@DRIVER_11AC_SUPPORT +@DRIVER_11AX_SUPPORT FILES:= \ $(PKG_BUILD_DIR)/$(MAKE_PATH)/aic8800_bsp/aic8800_bsp.ko \ $(PKG_BUILD_DIR)/$(MAKE_PATH)/aic8800_fdrv/aic8800_fdrv.ko AUTOLOAD:=$(call AutoProbe,aic8800_bsp aic8800_fdrv) - MODPARAMS.aic8800_fdrv:=he_on=n VARIANT:=sdio endef @@ -44,12 +43,11 @@ define KernelPackage/aic8800u SUBMENU:=Wireless Drivers TITLE:=AIC8800 USB wireless support DEPENDS:=+kmod-mac80211 +kmod-usb-core @USB_SUPPORT \ - +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT + +@DRIVER_11AC_SUPPORT +@DRIVER_11AX_SUPPORT FILES:= \ $(PKG_BUILD_DIR)/$(MAKE_PATH)/aic_load_fw/aic_load_fw.ko \ - $(PKG_BUILD_DIR)/$(MAKE_PATH)/aic8800_fdrv/aic8800_fdrv_usb.ko - AUTOLOAD:=$(call AutoProbe,aic_load_fw aic8800_fdrv_usb) - MODPARAMS.aic8800_fdrv_usb:=he_on=n + $(PKG_BUILD_DIR)/$(MAKE_PATH)/aic8800_fdrv/aic8800_usb.ko + AUTOLOAD:=$(call AutoProbe,aic_load_fw aic8800_usb) VARIANT:=usb endef diff --git a/package/lean/aic8800/patches-sdio/030-wireless-6.1.patch b/package/lean/aic8800/patches-sdio/030-wireless-6.1.patch index d10bcf91c..0d227b7fc 100644 --- a/package/lean/aic8800/patches-sdio/030-wireless-6.1.patch +++ b/package/lean/aic8800/patches-sdio/030-wireless-6.1.patch @@ -5,7 +5,7 @@ rwnx_txq_vif_stop(vif, RWNX_TXQ_STOP_CHAN, rwnx_hw); spin_unlock_bh(&rwnx_hw->cb_lock); -#if (LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION3) -+#if (LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION3) && !defined(BUILD_OPENWRT) ++#if (LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION3) || defined(BUILD_OPENWRT) cfg80211_ch_switch_notify(vif->ndev, &csa->chandef, 0, 0); #elif (LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION) cfg80211_ch_switch_notify(vif->ndev, &csa->chandef, 0); @@ -14,7 +14,19 @@ } else { INIT_WORK(&csa->work, rwnx_csa_finish); -#if LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION4 -+#if LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION4 && !defined(BUILD_OPENWRT) ++#if LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION4 || defined(BUILD_OPENWRT) cfg80211_ch_switch_started_notify(dev, &csa->chandef, 0, params->count, false, 0); #elif LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION2 cfg80211_ch_switch_started_notify(dev, &csa->chandef, 0, params->count, false); +--- a/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_mod_params.c ++++ b/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_mod_params.c +@@ -1728,7 +1728,9 @@ void rwnx_custregd(struct rwnx_hw *rwnx_ + if (!rwnx_hw->mod_params->custregd) + return; + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0) && !defined(BUILD_OPENWRT) + wiphy->regulatory_flags |= REGULATORY_IGNORE_STALE_KICKOFF; ++#endif + wiphy->regulatory_flags |= REGULATORY_WIPHY_SELF_MANAGED; + + rtnl_lock(); diff --git a/package/lean/aic8800/patches-usb/010-fixes-build.patch b/package/lean/aic8800/patches-usb/010-fixes-build.patch index e1014b632..3c93e606c 100644 --- a/package/lean/aic8800/patches-usb/010-fixes-build.patch +++ b/package/lean/aic8800/patches-usb/010-fixes-build.patch @@ -30,7 +30,7 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) case FORMATMOD_HE_MU: sinfo->rxrate.he_ru_alloc = rx_vect1->he.ru_size; -+ fallthrough; ++ fallthrough; case FORMATMOD_HE_SU: case FORMATMOD_HE_ER: sinfo->rxrate.flags = RATE_INFO_FLAGS_HE_MCS; @@ -64,19 +64,19 @@ - WARN_ON_ONCE(1); case 0: return AC_BE; -+ break; ++ break; case 1: return AC_BK; -+ break; ++ break; case 2: return AC_VI; -+ break; ++ break; case 3: return AC_VO; -+ break; -+ default: ++ break; ++ default: + WARN_ON_ONCE(1); -+ break; ++ break; } + + return 0; diff --git a/package/lean/aic8800/patches-usb/030-wireless-6.1.patch b/package/lean/aic8800/patches-usb/030-wireless-6.1.patch index 980de070a..77701cf74 100644 --- a/package/lean/aic8800/patches-usb/030-wireless-6.1.patch +++ b/package/lean/aic8800/patches-usb/030-wireless-6.1.patch @@ -5,7 +5,7 @@ rwnx_txq_vif_stop(vif, RWNX_TXQ_STOP_CHAN, rwnx_hw); spin_unlock_bh(&rwnx_hw->cb_lock); -#if (LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION3) -+#if (LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION3) && !defined(BUILD_OPENWRT) ++#if (LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION3) || defined(BUILD_OPENWRT) cfg80211_ch_switch_notify(vif->ndev, &csa->chandef, 0, 0); #elif (LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION) cfg80211_ch_switch_notify(vif->ndev, &csa->chandef, 0); @@ -14,10 +14,22 @@ } else { INIT_WORK(&csa->work, rwnx_csa_finish); -#if LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION4 -+#if LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION4 && !defined(BUILD_OPENWRT) ++#if LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION4 || defined(BUILD_OPENWRT) cfg80211_ch_switch_started_notify(dev, &csa->chandef, 0, params->count, false, 0); #elif LINUX_VERSION_CODE >= HIGH_KERNEL_VERSION2 cfg80211_ch_switch_started_notify(dev, &csa->chandef, 0, params->count, false); +--- a/src/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_mod_params.c ++++ b/src/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_mod_params.c +@@ -1752,7 +1752,9 @@ void rwnx_custregd(struct rwnx_hw *rwnx_ + // registration (in rwnx_set_wiphy_params()), so nothing has to be done here + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0) ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0) && !defined(BUILD_OPENWRT) + wiphy->regulatory_flags |= REGULATORY_IGNORE_STALE_KICKOFF; ++#endif + wiphy->regulatory_flags |= REGULATORY_WIPHY_SELF_MANAGED; + + if (!rwnx_hw->mod_params->custregd) --- a/src/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_rx.c +++ b/src/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_rx.c @@ -464,8 +464,13 @@ static bool rwnx_rx_data_skb(struct rwnx diff --git a/package/lean/aic8800/patches-usb/900-rename-fdrv-module.patch b/package/lean/aic8800/patches-usb/900-rename-fdrv.patch similarity index 91% rename from package/lean/aic8800/patches-usb/900-rename-fdrv-module.patch rename to package/lean/aic8800/patches-usb/900-rename-fdrv.patch index 506cb7d8f..aada7bed4 100644 --- a/package/lean/aic8800/patches-usb/900-rename-fdrv-module.patch +++ b/package/lean/aic8800/patches-usb/900-rename-fdrv.patch @@ -5,7 +5,7 @@ CONFIG_AIC8800_WLAN_SUPPORT = m -MODULE_NAME = aic8800_fdrv -+MODULE_NAME = aic8800_fdrv_usb ++MODULE_NAME = aic8800_usb CONFIG_COUNTRY_CODE = "00" # Support of bootrom start