Merge Official Source

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2023-09-25 22:42:28 +08:00
commit 3e7e2eb5df
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
17 changed files with 303 additions and 38 deletions

View File

@ -42,6 +42,7 @@ ALLWIFIBOARDS:= \
xiaomi_ax9000 \ xiaomi_ax9000 \
zte_mf269 \ zte_mf269 \
zte_mf289f \ zte_mf289f \
zte_mf287 \
zte_mf287plus \ zte_mf287plus \
zyxel_nbg7815 zyxel_nbg7815
@ -131,6 +132,7 @@ $(eval $(call generate-ipq-wifi-package,xiaomi_ax3600,Xiaomi AX3600))
$(eval $(call generate-ipq-wifi-package,xiaomi_ax9000,Xiaomi AX9000)) $(eval $(call generate-ipq-wifi-package,xiaomi_ax9000,Xiaomi AX9000))
$(eval $(call generate-ipq-wifi-package,zte_mf269,ZTE MF269)) $(eval $(call generate-ipq-wifi-package,zte_mf269,ZTE MF269))
$(eval $(call generate-ipq-wifi-package,zte_mf289f,ZTE MF289F)) $(eval $(call generate-ipq-wifi-package,zte_mf289f,ZTE MF289F))
$(eval $(call generate-ipq-wifi-package,zte_mf287,ZTE MF287))
$(eval $(call generate-ipq-wifi-package,zte_mf287plus,ZTE MF287Plus)) $(eval $(call generate-ipq-wifi-package,zte_mf287plus,ZTE MF287Plus))
$(eval $(call generate-ipq-wifi-package,zyxel_nbg7815,Zyxel NBG7815)) $(eval $(call generate-ipq-wifi-package,zyxel_nbg7815,Zyxel NBG7815))

View File

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=wireless-regdb PKG_NAME:=wireless-regdb
PKG_VERSION:=2023.05.03 PKG_VERSION:=2023.09.01
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/ PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/
PKG_HASH:=f254d08ab3765aeae2b856222e11a95d44aef519a6663877c71ef68fae4c8c12 PKG_HASH:=26d4c2a727cc59239b84735aad856b7c7d0b04e30aa5c235c4f7f47f5f053491
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=openssl PKG_NAME:=openssl
PKG_VERSION:=3.0.10 PKG_VERSION:=3.0.11
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_BUILD_FLAGS:=no-mips16 gc-sections no-lto PKG_BUILD_FLAGS:=no-mips16 gc-sections no-lto
@ -26,7 +26,7 @@ PKG_SOURCE_URL:= \
ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/ \ ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/ \
ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/old/$(PKG_BASE)/ ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/old/$(PKG_BASE)/
PKG_HASH:=1761d4f5b13a1028b9b6f3d4b8e17feb0cedc9370f6afe61d7193d2cdce83323 PKG_HASH:=b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE PKG_LICENSE_FILES:=LICENSE

View File

@ -107,14 +107,14 @@
hostapd_ubus_free_bss(hapd); hostapd_ubus_free_bss(hapd);
accounting_deinit(hapd); accounting_deinit(hapd);
hostapd_deinit_wpa(hapd); hostapd_deinit_wpa(hapd);
@@ -570,6 +573,7 @@ static void sta_track_deinit(struct host @@ -600,6 +603,7 @@ void hostapd_cleanup_iface_partial(struc
void hostapd_cleanup_iface_partial(struct hostapd_iface *iface) static void hostapd_cleanup_iface(struct hostapd_iface *iface)
{ {
wpa_printf(MSG_DEBUG, "%s(%p)", __func__, iface); wpa_printf(MSG_DEBUG, "%s(%p)", __func__, iface);
+ hostapd_ucode_free_iface(iface); + hostapd_ucode_free_iface(iface);
eloop_cancel_timeout(channel_list_update_timeout, iface, NULL); eloop_cancel_timeout(hostapd_interface_setup_failure_handler, iface,
#ifdef NEED_AP_MLME NULL);
hostapd_stop_setup_timers(iface);
@@ -1189,6 +1193,7 @@ static int hostapd_start_beacon(struct h @@ -1189,6 +1193,7 @@ static int hostapd_start_beacon(struct h
hapd->driver->set_operstate(hapd->drv_priv, 1); hapd->driver->set_operstate(hapd->drv_priv, 1);

View File

@ -136,6 +136,7 @@ static uc_value_t *
uc_wpas_add_iface(uc_vm_t *vm, size_t nargs) uc_wpas_add_iface(uc_vm_t *vm, size_t nargs)
{ {
uc_value_t *info = uc_fn_arg(0); uc_value_t *info = uc_fn_arg(0);
uc_value_t *driver = ucv_object_get(info, "driver", NULL);
uc_value_t *ifname = ucv_object_get(info, "iface", NULL); uc_value_t *ifname = ucv_object_get(info, "iface", NULL);
uc_value_t *bridge = ucv_object_get(info, "bridge", NULL); uc_value_t *bridge = ucv_object_get(info, "bridge", NULL);
uc_value_t *config = ucv_object_get(info, "config", NULL); uc_value_t *config = ucv_object_get(info, "config", NULL);
@ -154,6 +155,22 @@ uc_wpas_add_iface(uc_vm_t *vm, size_t nargs)
.ctrl_interface = ucv_string_get(ctrl), .ctrl_interface = ucv_string_get(ctrl),
}; };
if (driver) {
const char *drvname;
if (ucv_type(driver) != UC_STRING)
goto out;
iface.driver = NULL;
drvname = ucv_string_get(driver);
for (int i = 0; wpa_drivers[i]; i++) {
if (!strcmp(drvname, wpa_drivers[i]->name))
iface.driver = wpa_drivers[i]->name;
}
if (!iface.driver)
goto out;
}
if (!iface.ifname || !iface.confname) if (!iface.ifname || !iface.confname)
goto out; goto out;

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=procd PKG_NAME:=procd
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git

View File

@ -11,6 +11,7 @@
[ "eq", "DEVNAME", "null" ], [ "eq", "DEVNAME", "null" ],
[ [
[ "makedev", "/dev/%DEVNAME%", "0666" ], [ "makedev", "/dev/%DEVNAME%", "0666" ],
[ "exec", "/bin/ln", "-s", "/proc/self/fd", "/dev/fd" ],
[ "exec", "/bin/ln", "-s", "/proc/self/fd/0", "/dev/stdin" ], [ "exec", "/bin/ln", "-s", "/proc/self/fd/0", "/dev/stdin" ],
[ "exec", "/bin/ln", "-s", "/proc/self/fd/1", "/dev/stdout" ], [ "exec", "/bin/ln", "-s", "/proc/self/fd/1", "/dev/stdout" ],
[ "exec", "/bin/ln", "-s", "/proc/self/fd/2", "/dev/stderr" ], [ "exec", "/bin/ln", "-s", "/proc/self/fd/2", "/dev/stderr" ],

View File

@ -108,6 +108,7 @@ ipq40xx_setup_interfaces()
zte,mf286d) zte,mf286d)
ucidef_set_interfaces_lan_wan "lan2 lan3 lan4" "wan" ucidef_set_interfaces_lan_wan "lan2 lan3 lan4" "wan"
;; ;;
zte,mf287|\
zte,mf287plus|\ zte,mf287plus|\
zte,mf287pro) zte,mf287pro)
ucidef_set_interface_lan "lan1 lan2 lan3 lan4" ucidef_set_interface_lan "lan1 lan2 lan3 lan4"

View File

@ -27,6 +27,7 @@ EOF
;; ;;
zte,mf18a |\ zte,mf18a |\
zte,mf286d |\ zte,mf286d |\
zte,mf287|\
zte,mf287plus |\ zte,mf287plus |\
zte,mf287pro |\ zte,mf287pro |\
zte,mf289f) zte,mf289f)

View File

@ -0,0 +1,221 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
// Copyright (c) 2022, Pawel Dembicki <paweldembicki@gmail.com>.
// Copyright (c) 2022, Giammarco Marzano <stich86@gmail.com>.
// Copyright (c) 2023, Andreas Böhler <dev@aboehler.at>
#include "qcom-ipq4018-mf287_common.dtsi"
/ {
model = "ZTE MF287";
compatible = "zte,mf287";
};
&gpio_modem_reset {
gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
};
&key_reset {
gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
};
&key_wps {
gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
};
&led_status {
gpios = <&tlmm 0 GPIO_ACTIVE_LOW>;
};
&blsp1_spi1 {
pinctrl-0 = <&spi_0_pins>;
pinctrl-names = "default";
status = "okay";
cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>,
<&tlmm 59 GPIO_ACTIVE_HIGH>,
<&tlmm 1 GPIO_ACTIVE_HIGH>;
flash@0 {
compatible = "jedec,spi-nor";
#address-cells = <1>;
#size-cells = <1>;
reg = <0>;
spi-max-frequency = <24000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "0:SBL1";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "0:MIBIB";
reg = <0x40000 0x20000>;
read-only;
};
partition@60000 {
label = "0:QSEE";
reg = <0x60000 0x60000>;
read-only;
};
partition@c0000 {
label = "0:CDT";
reg = <0xc0000 0x10000>;
read-only;
};
partition@d0000 {
label = "0:DDRPARAMS";
reg = <0xd0000 0x10000>;
read-only;
};
partition@e0000 {
label = "0:APPSBLENV";
reg = <0xe0000 0x10000>;
read-only;
};
partition@f0000 {
label = "0:APPSBL";
reg = <0xf0000 0xc0000>;
read-only;
};
partition@1b0000 {
label = "0:reserved1";
reg = <0x1b0000 0x50000>;
read-only;
};
};
};
spi-nand@1 { /* flash@1 ? */
compatible = "spi-nand";
reg = <1>;
spi-max-frequency = <24000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "fota-flag";
reg = <0x0 0x140000>;
read-only;
};
partition@140000 {
label = "ART";
reg = <0x140000 0x140000>;
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
precal_art_1000: precal@1000 {
reg = <0x1000 0x2f20>;
};
precal_art_5000: precal@5000 {
reg = <0x5000 0x2f20>;
};
};
partition@280000 {
label = "mac";
reg = <0x280000 0x140000>;
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_mac_0: macaddr@0 {
reg = <0x0 0x6>;
};
};
partition@3c0000 {
label = "cfg-param";
reg = <0x3c0000 0x600000>;
read-only;
};
partition@9c0000 {
label = "oops";
reg = <0x9c0000 0x140000>;
};
partition@b00000 {
label = "web";
reg = <0xb00000 0x800000>;
};
partition@1300000 {
label = "rootfs";
reg = <0x1300000 0x2200000>;
};
partition@3500000 {
label = "data";
reg = <0x3500000 0x1900000>;
};
partition@4e00000 {
label = "fota";
reg = <0x4e00000 0x3200000>;
};
};
};
zigbee@2 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "silabs,em3581";
reg = <2>;
spi-max-frequency = <12000000>;
};
};
&tlmm {
serial_pins: serial_pinmux {
mux {
pins = "gpio60", "gpio61";
function = "blsp_uart0";
bias-disable;
};
};
spi_0_pins: spi_0_pinmux {
pinmux {
function = "blsp_spi0";
pins = "gpio55", "gpio56", "gpio57";
drive-strength = <12>;
bias-disable;
};
pinmux_cs {
function = "gpio";
pins = "gpio54", "gpio59", "gpio1";
drive-strength = <2>;
bias-disable;
output-high;
};
};
};
&wifi0 {
qcom,ath10k-calibration-variant = "zte,mf287";
};
&wifi1{
qcom,ath10k-calibration-variant = "zte,mf287";
};

View File

@ -35,6 +35,16 @@
}; };
}; };
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
gpio_modem_reset: modem {
gpio-export,name = "modem-reset";
gpio-export,output = <0>;
};
};
keys { keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
@ -171,7 +181,6 @@
status = "okay"; status = "okay";
nvmem-cell-names = "pre-calibration", "mac-address"; nvmem-cell-names = "pre-calibration", "mac-address";
nvmem-cells = <&precal_art_1000>, <&macaddr_mac_0>; nvmem-cells = <&precal_art_1000>, <&macaddr_mac_0>;
qcom,ath10k-calibration-variant = "zte,mf287plus";
}; };
&wifi1 { &wifi1 {
@ -179,5 +188,4 @@
nvmem-cell-names = "pre-calibration", "mac-address"; nvmem-cell-names = "pre-calibration", "mac-address";
nvmem-cells = <&precal_art_5000>, <&macaddr_mac_0>; nvmem-cells = <&precal_art_5000>, <&macaddr_mac_0>;
mac-address-increment = <1>; mac-address-increment = <1>;
qcom,ath10k-calibration-variant = "zte,mf287plus";
}; };

View File

@ -3,20 +3,15 @@
// Copyright (c) 2022, Giammarco Marzano <stich86@gmail.com>. // Copyright (c) 2022, Giammarco Marzano <stich86@gmail.com>.
// Copyright (c) 2023, Andreas Böhler <dev@aboehler.at> // Copyright (c) 2023, Andreas Böhler <dev@aboehler.at>
#include "qcom-ipq4018-mf287.dtsi" #include "qcom-ipq4018-mf287_common.dtsi"
/ { / {
model = "ZTE MF287Plus"; model = "ZTE MF287Plus";
compatible = "zte,mf287plus"; compatible = "zte,mf287plus";
};
/* &gpio_modem_reset {
* This node is used to restart modem module to avoid anomalous gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
* behaviours on initial communication.
*/
gpio-restart {
compatible = "gpio-restart";
gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
};
}; };
&key_reset { &key_reset {
@ -216,3 +211,11 @@
}; };
}; };
}; };
&wifi0 {
qcom,ath10k-calibration-variant = "zte,mf287plus";
};
&wifi1{
qcom,ath10k-calibration-variant = "zte,mf287plus";
};

View File

@ -3,23 +3,12 @@
// Copyright (c) 2022, Giammarco Marzano <stich86@gmail.com>. // Copyright (c) 2022, Giammarco Marzano <stich86@gmail.com>.
// Copyright (c) 2023, Andreas Böhler <dev@aboehler.at> // Copyright (c) 2023, Andreas Böhler <dev@aboehler.at>
#include "qcom-ipq4018-mf287.dtsi" #include "qcom-ipq4018-mf287_common.dtsi"
/ { / {
model = "ZTE MF287Pro"; model = "ZTE MF287Pro";
compatible = "zte,mf287pro"; compatible = "zte,mf287pro";
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
modem {
gpio-export,name = "modem-reset";
gpio-export,output = <0>;
gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>;
};
};
regulator-usb-vbus { regulator-usb-vbus {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "USB_VBUS"; regulator-name = "USB_VBUS";
@ -31,6 +20,10 @@
}; };
}; };
&gpio_modem_reset {
gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>;
};
&key_reset { &key_reset {
gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
}; };
@ -263,3 +256,13 @@
}; };
}; };
}; };
/* The MF287Plus and MF287Pro share the same board data file */
&wifi0 {
qcom,ath10k-calibration-variant = "zte,mf287plus";
};
/* The MF287Plus and MF287Pro share the same board data file */
&wifi1{
qcom,ath10k-calibration-variant = "zte,mf287plus";
};

View File

@ -1164,7 +1164,6 @@ TARGET_DEVICES += zte_mf286d
define Device/zte_mf287_common define Device/zte_mf287_common
$(call Device/zte_mf28x_common) $(call Device/zte_mf28x_common)
DEVICE_PACKAGES += ipq-wifi-zte_mf287plus
SOC := qcom-ipq4018 SOC := qcom-ipq4018
# The recovery image is used to return back to stock (an initramfs-based image # The recovery image is used to return back to stock (an initramfs-based image
# that can be flashed to the device via sysupgrade # that can be flashed to the device via sysupgrade
@ -1177,15 +1176,23 @@ endef
define Device/zte_mf287plus define Device/zte_mf287plus
$(call Device/zte_mf287_common) $(call Device/zte_mf287_common)
DEVICE_PACKAGES += ipq-wifi-zte_mf287plus
DEVICE_DTS_CONFIG := config@ap.dk01.1-c2 DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
DEVICE_MODEL := MF287Plus DEVICE_MODEL := MF287Plus
DEVICE_ALT0_VENDOR := ZTE
DEVICE_ALT0_MODEL := MF287
endef endef
TARGET_DEVICES += zte_mf287plus TARGET_DEVICES += zte_mf287plus
define Device/zte_mf287
$(call Device/zte_mf287_common)
DEVICE_PACKAGES += ipq-wifi-zte_mf287
DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
DEVICE_MODEL := MF287
endef
TARGET_DEVICES += zte_mf287
define Device/zte_mf287pro define Device/zte_mf287pro
$(call Device/zte_mf287_common) $(call Device/zte_mf287_common)
DEVICE_PACKAGES += ipq-wifi-zte_mf287plus
DEVICE_DTS_CONFIG := config@ap.dk04.1-c1 DEVICE_DTS_CONFIG := config@ap.dk04.1-c1
DEVICE_MODEL := MF287Pro DEVICE_MODEL := MF287Pro
endef endef

View File

@ -195,7 +195,7 @@ TARGET_DEVICES += cetron_ct3003-ubootmod
define Device/cmcc_rax3000m define Device/cmcc_rax3000m
DEVICE_VENDOR := CMCC DEVICE_VENDOR := CMCC
DEVICE_MODEL := RAX3000M DEVICE_MODEL := RAX3000M (OpenWrt U-Boot layout)
DEVICE_DTS := mt7981b-cmcc-rax3000m DEVICE_DTS := mt7981b-cmcc-rax3000m
DEVICE_DTS_OVERLAY := mt7981b-cmcc-rax3000m-emmc mt7981b-cmcc-rax3000m-nand DEVICE_DTS_OVERLAY := mt7981b-cmcc-rax3000m-emmc mt7981b-cmcc-rax3000m-nand
DEVICE_DTS_DIR := ../dts DEVICE_DTS_DIR := ../dts

View File

@ -72,6 +72,7 @@ CONFIG_PCIE_DW_HOST=y
CONFIG_PGTABLE_LEVELS=3 CONFIG_PGTABLE_LEVELS=3
CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_PHY_MVEBU_CP110_COMPHY=y CONFIG_PHY_MVEBU_CP110_COMPHY=y
CONFIG_PHY_MVEBU_CP110_UTMI=y
CONFIG_PINCTRL_ARMADA_37XX=y CONFIG_PINCTRL_ARMADA_37XX=y
CONFIG_PINCTRL_ARMADA_AP806=y CONFIG_PINCTRL_ARMADA_AP806=y
CONFIG_PINCTRL_ARMADA_CP110=y CONFIG_PINCTRL_ARMADA_CP110=y

View File

@ -21,7 +21,7 @@ CMAKE_HOST_OPTIONS += \
-DCMAKE_CXX_COMPILER_LAUNCHER="" \ -DCMAKE_CXX_COMPILER_LAUNCHER="" \
-DCMAKE_SKIP_RPATH=FALSE \ -DCMAKE_SKIP_RPATH=FALSE \
-DCMAKE_INSTALL_RPATH="${STAGING_DIR_HOST}/lib" \ -DCMAKE_INSTALL_RPATH="${STAGING_DIR_HOST}/lib" \
-DENABLE_DOCUMENTATION=OFF -DENABLE_DOCUMENTATION=OFF \
-DREDIS_STORAGE_BACKEND=OFF -DREDIS_STORAGE_BACKEND=OFF
$(eval $(call HostBuild)) $(eval $(call HostBuild))