diff --git a/package/firmware/ath10k-firmware/Makefile b/package/firmware/ath10k-firmware/Makefile index c427f0884..c3614c47d 100644 --- a/package/firmware/ath10k-firmware/Makefile +++ b/package/firmware/ath10k-firmware/Makefile @@ -8,9 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ath10k-firmware -PKG_SOURCE_DATE:=2019-10-03 -PKG_SOURCE_VERSION:=d622d160e9f552ead68d9ae81b715422892dc2ef -PKG_MIRROR_HASH:=2e504e071c3f896d629c4cfffe7ff4b5f1acdb4fecd3f01e8ff8c73e87a67cc7 +PKG_SOURCE_DATE:=2020-05-06 +PKG_SOURCE_VERSION:=d58efac2ae3e1ec1b1f45e7d5ead20d1b79f9415 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git @@ -99,7 +98,7 @@ define Package/ath10k-firmware-qca4019/install $(PKG_BUILD_DIR)/QCA4019/hw1.0/board-2.bin \ $(1)/lib/firmware/ath10k/QCA4019/hw1.0/ $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA4019/hw1.0/3.5.3/firmware-5.bin_10.4-3.5.3-00057 \ + $(PKG_BUILD_DIR)/QCA4019/hw1.0/3.6/firmware-5.bin_10.4-3.6-00140 \ $(1)/lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin endef @@ -179,4 +178,4 @@ $(eval $(call BuildPackage,ath10k-firmware-qca988x)) #$(eval $(call BuildPackage,ath10k-firmware-qca99x0)) #$(eval $(call BuildPackage,ath10k-firmware-qca6174)) #$(eval $(call BuildPackage,ath10k-firmware-qca9984)) -#$(eval $(call BuildPackage,ath10k-firmware-qca4019)) +$(eval $(call BuildPackage,ath10k-firmware-qca4019)) diff --git a/package/firmware/linux-firmware/Makefile b/package/firmware/linux-firmware/Makefile index 085cce422..01dee5917 100644 --- a/package/firmware/linux-firmware/Makefile +++ b/package/firmware/linux-firmware/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=linux-firmware -PKG_VERSION:=20191215 +PKG_VERSION:=20200122 PKG_RELEASE:=1 PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_HASH:=c2068ff4a797c0f2c3edbb9488f82a48bca8a995855ea21310a8346195c0ae56 +PKG_HASH:=a30e811b3736a72b874ac27e10662f5e5409b1cadf8aab7ba88e8f8bc8083986 PKG_MAINTAINER:=Felix Fietkau diff --git a/package/firmware/linux-firmware/qca_ath10k.mk b/package/firmware/linux-firmware/qca_ath10k.mk index 72735819f..6019ce26e 100644 --- a/package/firmware/linux-firmware/qca_ath10k.mk +++ b/package/firmware/linux-firmware/qca_ath10k.mk @@ -19,7 +19,7 @@ define Package/ath10k-firmware-qca4019/install $(PKG_BUILD_DIR)/ath10k/QCA4019/hw1.0/firmware-5.bin \ $(1)/lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin endef -$(eval $(call BuildPackage,ath10k-firmware-qca4019)) +# $(eval $(call BuildPackage,ath10k-firmware-qca4019)) Package/ath10k-firmware-qca9887 = $(call Package/firmware-default,ath10k qca9887 firmware) define Package/ath10k-firmware-qca9887/install diff --git a/package/firmware/linux-firmware/realtek.mk b/package/firmware/linux-firmware/realtek.mk index 87a11c077..b0f6ff7f3 100644 --- a/package/firmware/linux-firmware/realtek.mk +++ b/package/firmware/linux-firmware/realtek.mk @@ -79,6 +79,13 @@ define Package/rtl8723bu-firmware/install endef $(eval $(call BuildPackage,rtl8723bu-firmware)) +Package/rtl8723bs-firmware = $(call Package/firmware-default,RealTek RTL8723BS firmware) +define Package/rtl8723bs-firmware/install + $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi + $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtlwifi/rtl8723bs*.bin $(1)/lib/firmware/rtlwifi +endef +$(eval $(call BuildPackage,rtl8723bs-firmware)) + Package/rtl8821ae-firmware = $(call Package/firmware-default,RealTek RTL8821AE firmware) define Package/rtl8821ae-firmware/install $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi diff --git a/package/kernel/mac80211/ath.mk b/package/kernel/mac80211/ath.mk index 0c25d23bb..788131b75 100644 --- a/package/kernel/mac80211/ath.mk +++ b/package/kernel/mac80211/ath.mk @@ -264,7 +264,6 @@ define KernelPackage/ath10k/config config ATH10K_THERMAL bool "Enable thermal sensors and throttling support" - default y depends on PACKAGE_kmod-ath10k endef diff --git a/package/kernel/mac80211/broadcom.mk b/package/kernel/mac80211/broadcom.mk index 0a6b1b669..41320bcc1 100644 --- a/package/kernel/mac80211/broadcom.mk +++ b/package/kernel/mac80211/broadcom.mk @@ -118,14 +118,14 @@ define KernelPackage/b43/config config PACKAGE_B43_USE_SSB select PACKAGE_kmod-ssb tristate - depends on !TARGET_brcm47xx && !TARGET_brcm63xx + depends on !TARGET_bcm47xx && !TARGET_bcm63xx default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_SSB config PACKAGE_B43_USE_BCMA select PACKAGE_kmod-bcma tristate - depends on !TARGET_brcm47xx && !TARGET_bcm53xx + depends on !TARGET_bcm47xx && !TARGET_bcm53xx default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA @@ -205,8 +205,8 @@ config PACKAGE_B43_USE_BCMA config B43_FW_SQUASH_COREREVS string "Core revisions to include" depends on B43_FW_SQUASH - default "5,6,7,8,9,10,11,13,15" if TARGET_brcm47xx_legacy - default "16,28,29,30" if TARGET_brcm47xx_mips74k + default "5,6,7,8,9,10,11,13,15" if TARGET_bcm47xx_legacy + default "16,28,29,30" if TARGET_bcm47xx_mips74k default "5,6,7,8,9,10,11,13,15,16,28,29,30" help This is a comma seperated list of core revision numbers. @@ -220,8 +220,8 @@ config PACKAGE_B43_USE_BCMA config B43_FW_SQUASH_PHYTYPES string "PHY types to include" depends on B43_FW_SQUASH - default "G,N,LP" if TARGET_brcm47xx_legacy - default "N,HT" if TARGET_brcm47xx_mips74k + default "G,N,LP" if TARGET_bcm47xx_legacy + default "N,HT" if TARGET_bcm47xx_mips74k default "G,N,LP,HT" help This is a comma seperated list of PHY types: @@ -248,15 +248,15 @@ config PACKAGE_B43_USE_BCMA This allows choosing buses that b43 should support. config PACKAGE_B43_BUSES_BCMA_AND_SSB - depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx + depends on !TARGET_bcm47xx_legacy && !TARGET_bcm47xx_mips74k && !TARGET_bcm53xx bool "BCMA and SSB" config PACKAGE_B43_BUSES_BCMA - depends on !TARGET_brcm47xx_legacy + depends on !TARGET_bcm47xx_legacy bool "BCMA only" config PACKAGE_B43_BUSES_SSB - depends on !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx + depends on !TARGET_bcm47xx_mips74k && !TARGET_bcm53xx bool "SSB only" endchoice @@ -281,7 +281,7 @@ config PACKAGE_B43_USE_BCMA config PACKAGE_B43_PHY_G bool "Enable support for G-PHYs" - default n if TARGET_brcm47xx_mips74k + default n if TARGET_bcm47xx_mips74k default y help Enable support for G-PHY. This includes support for the following devices: @@ -304,7 +304,7 @@ config PACKAGE_B43_USE_BCMA config PACKAGE_B43_PHY_LP bool "Enable support for LP-PHYs" - default n if TARGET_brcm47xx_mips74k + default n if TARGET_bcm47xx_mips74k default y help Enable support for LP-PHY. This includes support for the following devices: @@ -315,7 +315,7 @@ config PACKAGE_B43_USE_BCMA config PACKAGE_B43_PHY_HT bool "Enable support for HT-PHYs" - default n if TARGET_brcm47xx_legacy + default n if TARGET_bcm47xx_legacy default y help Enable support for HT-PHY. This includes support for the following devices: @@ -347,7 +347,7 @@ define KernelPackage/b43legacy URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43 KCONFIG:= \ CONFIG_HW_RANDOM=y - DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb @!TARGET_brcm47xx_mips74k +b43legacy-firmware + DEPENDS+= +kmod-mac80211 +!(TARGET_bcm47xx||TARGET_bcm63xx):kmod-ssb @!TARGET_bcm47xx_mips74k +b43legacy-firmware FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko AUTOLOAD:=$(call AutoProbe,b43legacy) MENU:=1 @@ -401,7 +401,7 @@ define KernelPackage/brcmsmac $(call KernelPackage/mac80211/Default) TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211 - DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil +!BRCMSMAC_USE_FW_FROM_WL:brcmsmac-firmware + DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_bcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil +!BRCMSMAC_USE_FW_FROM_WL:brcmsmac-firmware FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.ko AUTOLOAD:=$(call AutoProbe,brcmsmac) MENU:=1 diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index f36320091..211fcb951 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -590,7 +590,13 @@ mac80211_setup_supplicant() { local add_sp=0 local spobj="$(ubus -S list | grep wpa_supplicant.${ifname})" - wpa_supplicant_prepare_interface "$ifname" nl80211 || return 1 + [ "$enable" = 0 ] && { + ubus call wpa_supplicant.${phy} config_del "{\"iface\":\"$ifname\"}" + ip link set dev "$ifname" down + iw dev "$ifname" del + return 0 + } + wpa_supplicant_prepare_interface "$ifname" nl80211 || { iw dev "$ifname" del return 1 @@ -607,18 +613,17 @@ mac80211_setup_supplicant() { [ "$spobj" ] && ubus call wpa_supplicant config_remove "{\"iface\":\"$ifname\"}" add_sp=1 fi - [ "$enable" = 0 ] && { - ubus call wpa_supplicant config_remove "{\"iface\":\"$ifname\"}" - ip link set dev "$ifname" down - return 0 - } [ -z "$spobj" ] && add_sp=1 + NEW_MD5_SP=$(test -e "${_config}" && md5sum ${_config}) + OLD_MD5_SP=$(uci -q -P /var/state get wireless._${phy}.md5_${ifname}) if [ "$add_sp" = "1" ]; then wpa_supplicant_run "$ifname" "$hostapd_ctrl" else - ubus call $spobj reload + [ "${NEW_MD5_SP}" == "${OLD_MD5_SP}" ] || ubus call $spobj reload fi + uci -q -P /var/state set wireless._${phy}.md5_${ifname}="${NEW_MD5_SP}" + return 0 } mac80211_setup_supplicant_noctl() { @@ -765,7 +770,6 @@ mac80211_setup_vif() { [ "$vif_enable" = 1 ] || action=down if [ "$mode" != "ap" ] || [ "$ifname" = "$ap_ifname" ]; then - logger ip link set dev "$ifname" $action ip link set dev "$ifname" "$action" || { wireless_setup_vif_failed IFUP_ERROR json_select .. @@ -923,8 +927,8 @@ drv_mac80211_setup() { [ "$rxantenna" = "all" ] && rxantenna=0xffffffff iw phy "$phy" set antenna $txantenna $rxantenna >/dev/null 2>&1 - iw phy "$phy" set antenna_gain $antenna_gain - iw phy "$phy" set distance "$distance" + iw phy "$phy" set antenna_gain $antenna_gain >/dev/null 2>&1 + iw phy "$phy" set distance "$distance" >/dev/null 2>&1 if [ -n "$txpower" ]; then iw phy "$phy" set txpower fixed "${txpower%%.*}00" @@ -954,8 +958,8 @@ drv_mac80211_setup() { OLD_MD5=$(uci -q -P /var/state get wireless._${phy}.md5) if [ "${NEWAPLIST}" != "${OLDAPLIST}" ]; then mac80211_vap_cleanup hostapd "${OLDAPLIST}" - [ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap || return fi + [ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap local add_ap=0 local primary_ap=${NEWAPLIST%% *} [ -n "$hostapd_ctrl" ] && { @@ -966,7 +970,11 @@ drv_mac80211_setup() { no_reload=$? if [ "$no_reload" != "0" ]; then mac80211_vap_cleanup hostapd "${OLDAPLIST}" - [ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap || return + mac80211_vap_cleanup wpa_supplicant "$(uci -q -P /var/state get wireless._${phy}.splist)" + mac80211_vap_cleanup none "$(uci -q -P /var/state get wireless._${phy}.umlist)" + sleep 2 + mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap + for_each_interface "sta adhoc mesh monitor" mac80211_prepare_vif fi } fi @@ -1031,12 +1039,10 @@ list_phy_interfaces() { drv_mac80211_teardown() { wireless_process_kill_all - json_select data - json_get_vars phy - json_select .. - - mac80211_interface_cleanup "$phy" - uci -q -P /var/state revert wireless._${phy} + for phy in `ls /sys/class/ieee80211/`; do + mac80211_interface_cleanup "$phy" + uci -q -P /var/state revert wireless._${phy} + done } add_driver mac80211 diff --git a/package/network/services/hostapd/files/wpa_supplicant-basic.config b/package/network/services/hostapd/files/wpa_supplicant-basic.config index a9da65dee..db3f7c7a1 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-basic.config +++ b/package/network/services/hostapd/files/wpa_supplicant-basic.config @@ -264,7 +264,7 @@ CONFIG_BACKEND=file # configuration can still be changed, the changes are just not going to be # persistent over restarts. This option can be used to reduce code size by # about 3.5 kB. -#CONFIG_NO_CONFIG_WRITE=y +CONFIG_NO_CONFIG_WRITE=y # Remove support for configuration blobs to reduce code size by about 1.5 kB. #CONFIG_NO_CONFIG_BLOBS=y diff --git a/package/network/services/hostapd/files/wpa_supplicant-mini.config b/package/network/services/hostapd/files/wpa_supplicant-mini.config index 850d22feb..c1e0141ed 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-mini.config +++ b/package/network/services/hostapd/files/wpa_supplicant-mini.config @@ -264,7 +264,7 @@ CONFIG_BACKEND=file # configuration can still be changed, the changes are just not going to be # persistent over restarts. This option can be used to reduce code size by # about 3.5 kB. -#CONFIG_NO_CONFIG_WRITE=y +CONFIG_NO_CONFIG_WRITE=y # Remove support for configuration blobs to reduce code size by about 1.5 kB. #CONFIG_NO_CONFIG_BLOBS=y diff --git a/package/network/services/hostapd/patches/090-wolfssl-fix-crypto_bignum_sum.patch b/package/network/services/hostapd/patches/090-wolfssl-fix-crypto_bignum_sum.patch new file mode 100644 index 000000000..7cc0dec3f --- /dev/null +++ b/package/network/services/hostapd/patches/090-wolfssl-fix-crypto_bignum_sum.patch @@ -0,0 +1,26 @@ +From 1766e608ba1114220f3b3598e77aa53b50c38a6e Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Mon, 14 Oct 2019 19:27:47 +0300 +Subject: [PATCH] wolfSSL: Fix crypto_bignum_sub() + +The initial crypto wrapper implementation for wolfSSL seems to have +included a copy-paste error in crypto_bignum_sub() implementation that +was identical to crypto_bignum_add() while mp_sub() should have been +used instead of mp_add(). + +Signed-off-by: Jouni Malinen +--- + src/crypto/crypto_wolfssl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/crypto/crypto_wolfssl.c ++++ b/src/crypto/crypto_wolfssl.c +@@ -1151,7 +1151,7 @@ int crypto_bignum_sub(const struct crypt + if (TEST_FAIL()) + return -1; + +- return mp_add((mp_int *) a, (mp_int *) b, ++ return mp_sub((mp_int *) a, (mp_int *) b, + (mp_int *) r) == MP_OKAY ? 0 : -1; + } + diff --git a/target/linux/ipq40xx/Makefile b/target/linux/ipq40xx/Makefile index 3b6496859..e99d40f1f 100644 --- a/target/linux/ipq40xx/Makefile +++ b/target/linux/ipq40xx/Makefile @@ -9,7 +9,7 @@ CPU_SUBTYPE:=neon-vfpv4 MAINTAINER:=John Crispin # TODO: drop kmod-usb-dwc3-of-simple when migrating to 4.19 -KERNEL_PATCHVER:=4.19 +KERNEL_PATCHVER:=4.14 KERNELNAME:=zImage Image dtbs