From 09e6ea31a56a6e3fdb1a49dd3bcd68d3fd3465c5 Mon Sep 17 00:00:00 2001 From: Tanya Singh Date: Thu, 19 Sep 2024 10:13:50 +0800 Subject: [PATCH 1/9] ipq53xx: Modify DTS for Edgecore EAP105 to read NOR flash correctly Fixes: WIFI-14146 Signed-off-by: Tanya Singh --- .../arch/arm64/boot/dts/qcom/ipq5332-edgecore-eap105.dts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/feeds/ipq95xx/ipq53xx/files/arch/arm64/boot/dts/qcom/ipq5332-edgecore-eap105.dts b/feeds/ipq95xx/ipq53xx/files/arch/arm64/boot/dts/qcom/ipq5332-edgecore-eap105.dts index cb0275285..e0ddea48a 100644 --- a/feeds/ipq95xx/ipq53xx/files/arch/arm64/boot/dts/qcom/ipq5332-edgecore-eap105.dts +++ b/feeds/ipq95xx/ipq53xx/files/arch/arm64/boot/dts/qcom/ipq5332-edgecore-eap105.dts @@ -152,7 +152,7 @@ bias-pull-down; }; };*/ - + spi_2_pins: spi-2-pins { pins = "gpio33", "gpio34", "gpio35", "gpio36"; function = "blsp2_spi0"; @@ -349,7 +349,7 @@ pinctrl-names = "default"; status = "ok"; }; - + spi@78b5000 { pinctrl-0 = <&spi_0_pins>; pinctrl-names = "default"; @@ -357,7 +357,7 @@ status = "ok"; m25p80@0 { - compatible = "mx25u12835f"; + compatible = "n25q128a11"; #address-cells = <1>; #size-cells = <1>; reg = <0>; From 207dba8af6e1b4155a05a4afcadc68d4529ae46e Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sun, 22 Sep 2024 13:45:23 +0200 Subject: [PATCH 2/9] hostapd: make patched hostapd available for all MTK based boards Signed-off-by: John Crispin --- feeds/{mediatek-sdk => hostapd}/hostapd/Config.in | 0 feeds/{mediatek-sdk => hostapd}/hostapd/Makefile | 0 feeds/{mediatek-sdk => hostapd}/hostapd/README.md | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/common.uc | 0 .../hostapd/files/dhcp-get-server.sh | 0 .../hostapd/files/hostapd-basic.config | 0 .../hostapd/files/hostapd-full.config | 0 .../hostapd/files/hostapd-mini.config | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/hostapd.sh | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/hostapd.uc | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/multicall.c | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/radius.clients | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/radius.config | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/radius.init | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/radius.users | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/wdev.uc | 0 .../hostapd/files/wpa_supplicant-basic.config | 0 .../hostapd/files/wpa_supplicant-full.config | 0 .../hostapd/files/wpa_supplicant-mini.config | 0 .../hostapd/files/wpa_supplicant-p2p.config | 0 .../hostapd/files/wpa_supplicant.uc | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/wpad.init | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/wpad.json | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/wpad_acl.json | 0 feeds/{mediatek-sdk => hostapd}/hostapd/files/wps-hotplug.sh | 0 .../hostapd/patches/001-wolfssl-init-RNG-with-ECC-key.patch | 0 ...esh-Allow-DFS-channels-to-be-selected-if-dfs-is-ena.patch | 0 ...11-mesh-use-deterministic-channel-on-channel-switch.patch | 0 .../patches/021-fix-sta-add-after-previous-connection.patch | 0 ...22-hostapd-fix-use-of-uninitialized-stack-variables.patch | 0 ...disc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch | 0 ...river_nl80211-rewrite-neigh-code-to-not-depend-on-l.patch | 0 ...esh-allow-processing-authentication-frames-in-block.patch | 0 .../hostapd/patches/050-build_fix.patch | 0 .../patches/110-mbedtls-TLS-crypto-option-initial-port.patch | 0 .../hostapd/patches/120-mbedtls-fips186_2_prf.patch | 0 ...130-mbedtls-annotate-with-TEST_FAIL-for-hwsim-tests.patch | 0 .../140-tests-Makefile-make-run-tests-with-CONFIG_TLS.patch | 0 .../150-add-NULL-checks-encountered-during-tests-hwsim.patch | 0 .../patches/160-dpp_pkex-EC-point-mul-w-value-prime.patch | 0 .../170-hostapd-update-cfs0-and-cfs1-for-160MHz.patch | 0 ...river_nl80211-fix-setting-QoS-map-on-secondary-BSSs.patch | 0 ...river_nl80211-update-drv-ifindex-on-removing-the-fi.patch | 0 ...l80211-move-nl80211_put_freq_params-call-outside-of.patch | 0 ...ostapd-cancel-channel_list_update_timeout-in-hostap.patch | 0 .../hostapd/patches/200-multicall.patch | 0 .../hostapd/patches/300-noscan.patch | 0 .../hostapd/patches/301-mesh-noscan.patch | 0 .../hostapd/patches/310-rescan_immediately.patch | 0 .../hostapd/patches/320-optional_rfkill.patch | 0 .../hostapd/patches/330-nl80211_fix_set_freq.patch | 0 .../hostapd/patches/341-mesh-ctrl-iface-channel-switch.patch | 0 .../hostapd/patches/350-nl80211_del_beacon_bss.patch | 0 .../hostapd/patches/380-disable_ctrl_iface_mib.patch | 0 .../hostapd/patches/381-hostapd_cli_UNKNOWN-COMMAND.patch | 0 .../hostapd/patches/390-wpa_ie_cap_workaround.patch | 0 .../hostapd/patches/400-wps_single_auth_enc_type.patch | 0 .../hostapd/patches/410-limit_debug_messages.patch | 0 .../hostapd/patches/420-indicate-features.patch | 0 .../hostapd/patches/430-hostapd_cli_ifdef.patch | 0 .../hostapd/patches/431-wpa_cli_ifdef.patch | 0 ...pa_supplicant-add-new-config-params-to-be-used-with.patch | 0 .../hostapd/patches/463-add-mcast_rate-to-11s.patch | 0 .../hostapd/patches/464-fix-mesh-obss-check.patch | 0 .../465-hostapd-config-support-random-BSS-color.patch | 0 .../hostapd/patches/470-survey_data_fallback.patch | 0 .../hostapd/patches/500-lto-jobserver-support.patch | 0 .../hostapd/patches/590-rrm-wnm-statistics.patch | 0 .../hostapd/patches/599-wpa_supplicant-fix-warnings.patch | 0 .../hostapd/patches/600-ubus_support.patch | 0 .../hostapd/patches/601-ucode_support.patch | 0 .../hostapd/patches/610-hostapd_cli_ujail_permission.patch | 0 .../hostapd/patches/701-reload_config_inline.patch | 0 .../hostapd/patches/710-vlan_no_bridge.patch | 0 .../hostapd/patches/711-wds_bridge_force.patch | 0 .../hostapd/patches/720-iface_max_num_sta.patch | 0 .../hostapd/patches/730-ft_iface.patch | 0 .../hostapd/patches/740-snoop_iface.patch | 0 .../patches/750-qos_map_set_without_interworking.patch | 0 .../hostapd/patches/750-wispr.patch | 0 .../patches/751-qos_map_ignore_when_unsupported.patch | 0 .../hostapd/patches/751-wispr-ft.patch | 0 .../hostapd/patches/760-acs_exclude_dfs.patch | 0 .../hostapd/patches/760-dynamic_own_ip.patch | 0 .../hostapd/patches/761-shared_das_port.patch | 0 .../hostapd/patches/770-radius_server.patch | 0 .../hostapd/patches/780-maxassoc.patch | 0 .../hostapd/patches/790-wired-dynamic-vlan.patch | 0 .../patches/800-fix-ap-sta-channel-setup-failed.patch | 0 .../{mediatek-sdk => hostapd}/hostapd/patches/900-coa.patch | 0 .../hostapd/patches/901-cfg-section.patch | 0 .../hostapd/patches/901-coa-ubus.patch | 0 ...0-ctrl-make-WNM_AP-functions-dependant-on-CONFIG_AP.patch | 0 .../hostapd/patches/991-Fix-OpenWrt-13156.patch | 0 .../hostapd/patches/999-das-proxy-state.patch | 0 .../hostapd/patches/999-ft-anonce.patch | 0 .../hostapd/patches/999-probe-request.patch | 0 .../hostapd/patches/999-re-assoc-event.patch | 0 .../hostapd/patches/999-s8-u8.patch | 0 .../hostapd/patches/999-ssi_signal.patch | 0 .../hostapd/patches/t00-010-ft_refresh.patch | 0 .../hostapd/patches/t00-011-owe_ssid_update.patch | 0 .../patches/t00-012-hostapd-Fix-DVLAN-802.1x-issue.patch | 0 .../hostapd/patches/zzz-radius-extended-avp.patch | 0 .../hostapd/patches/zzz-roaming-key.patch | 0 feeds/{mediatek-sdk => hostapd}/hostapd/src/hostapd/radius.c | 0 feeds/{mediatek-sdk => hostapd}/hostapd/src/src/ap/ubus.c | 0 feeds/{mediatek-sdk => hostapd}/hostapd/src/src/ap/ubus.h | 0 feeds/{mediatek-sdk => hostapd}/hostapd/src/src/ap/ucode.c | 0 feeds/{mediatek-sdk => hostapd}/hostapd/src/src/ap/ucode.h | 0 .../hostapd/src/src/utils/build_features.h | 0 .../{mediatek-sdk => hostapd}/hostapd/src/src/utils/ucode.c | 0 .../{mediatek-sdk => hostapd}/hostapd/src/src/utils/ucode.h | 0 .../hostapd/src/wpa_supplicant/ubus.c | 0 .../hostapd/src/wpa_supplicant/ubus.h | 0 .../hostapd/src/wpa_supplicant/ucode.c | 0 .../hostapd/src/wpa_supplicant/ucode.h | 0 profiles/edgecore_eap111.yml | 1 + profiles/hostapd.yml | 5 +++++ profiles/indio_um-305ax.yml | 1 + profiles/yuncore_ax820.yml | 1 + profiles/yuncore_fap640.yml | 1 + 122 files changed, 9 insertions(+) rename feeds/{mediatek-sdk => hostapd}/hostapd/Config.in (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/Makefile (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/README.md (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/common.uc (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/dhcp-get-server.sh (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/hostapd-basic.config (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/hostapd-full.config (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/hostapd-mini.config (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/hostapd.sh (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/hostapd.uc (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/multicall.c (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/radius.clients (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/radius.config (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/radius.init (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/radius.users (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/wdev.uc (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/wpa_supplicant-basic.config (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/wpa_supplicant-full.config (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/wpa_supplicant-mini.config (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/wpa_supplicant-p2p.config (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/wpa_supplicant.uc (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/wpad.init (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/wpad.json (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/wpad_acl.json (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/files/wps-hotplug.sh (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/001-wolfssl-init-RNG-with-ECC-key.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/010-mesh-Allow-DFS-channels-to-be-selected-if-dfs-is-ena.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/011-mesh-use-deterministic-channel-on-channel-switch.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/021-fix-sta-add-after-previous-connection.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/022-hostapd-fix-use-of-uninitialized-stack-variables.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/030-driver_nl80211-rewrite-neigh-code-to-not-depend-on-l.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/040-mesh-allow-processing-authentication-frames-in-block.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/050-build_fix.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/110-mbedtls-TLS-crypto-option-initial-port.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/120-mbedtls-fips186_2_prf.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/130-mbedtls-annotate-with-TEST_FAIL-for-hwsim-tests.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/140-tests-Makefile-make-run-tests-with-CONFIG_TLS.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/150-add-NULL-checks-encountered-during-tests-hwsim.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/160-dpp_pkex-EC-point-mul-w-value-prime.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/170-hostapd-update-cfs0-and-cfs1-for-160MHz.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/180-driver_nl80211-fix-setting-QoS-map-on-secondary-BSSs.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/181-driver_nl80211-update-drv-ifindex-on-removing-the-fi.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/182-nl80211-move-nl80211_put_freq_params-call-outside-of.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/183-hostapd-cancel-channel_list_update_timeout-in-hostap.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/200-multicall.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/300-noscan.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/301-mesh-noscan.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/310-rescan_immediately.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/320-optional_rfkill.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/330-nl80211_fix_set_freq.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/341-mesh-ctrl-iface-channel-switch.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/350-nl80211_del_beacon_bss.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/380-disable_ctrl_iface_mib.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/381-hostapd_cli_UNKNOWN-COMMAND.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/390-wpa_ie_cap_workaround.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/400-wps_single_auth_enc_type.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/410-limit_debug_messages.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/420-indicate-features.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/430-hostapd_cli_ifdef.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/431-wpa_cli_ifdef.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/463-add-mcast_rate-to-11s.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/464-fix-mesh-obss-check.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/465-hostapd-config-support-random-BSS-color.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/470-survey_data_fallback.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/500-lto-jobserver-support.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/590-rrm-wnm-statistics.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/599-wpa_supplicant-fix-warnings.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/600-ubus_support.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/601-ucode_support.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/610-hostapd_cli_ujail_permission.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/701-reload_config_inline.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/710-vlan_no_bridge.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/711-wds_bridge_force.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/720-iface_max_num_sta.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/730-ft_iface.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/740-snoop_iface.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/750-qos_map_set_without_interworking.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/750-wispr.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/751-qos_map_ignore_when_unsupported.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/751-wispr-ft.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/760-acs_exclude_dfs.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/760-dynamic_own_ip.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/761-shared_das_port.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/770-radius_server.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/780-maxassoc.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/790-wired-dynamic-vlan.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/800-fix-ap-sta-channel-setup-failed.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/900-coa.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/901-cfg-section.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/901-coa-ubus.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/990-ctrl-make-WNM_AP-functions-dependant-on-CONFIG_AP.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/991-Fix-OpenWrt-13156.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/999-das-proxy-state.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/999-ft-anonce.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/999-probe-request.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/999-re-assoc-event.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/999-s8-u8.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/999-ssi_signal.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/t00-010-ft_refresh.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/t00-011-owe_ssid_update.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/t00-012-hostapd-Fix-DVLAN-802.1x-issue.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/zzz-radius-extended-avp.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/patches/zzz-roaming-key.patch (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/hostapd/radius.c (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/src/ap/ubus.c (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/src/ap/ubus.h (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/src/ap/ucode.c (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/src/ap/ucode.h (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/src/utils/build_features.h (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/src/utils/ucode.c (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/src/utils/ucode.h (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/wpa_supplicant/ubus.c (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/wpa_supplicant/ubus.h (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/wpa_supplicant/ucode.c (100%) rename feeds/{mediatek-sdk => hostapd}/hostapd/src/wpa_supplicant/ucode.h (100%) create mode 100644 profiles/hostapd.yml diff --git a/feeds/mediatek-sdk/hostapd/Config.in b/feeds/hostapd/hostapd/Config.in similarity index 100% rename from feeds/mediatek-sdk/hostapd/Config.in rename to feeds/hostapd/hostapd/Config.in diff --git a/feeds/mediatek-sdk/hostapd/Makefile b/feeds/hostapd/hostapd/Makefile similarity index 100% rename from feeds/mediatek-sdk/hostapd/Makefile rename to feeds/hostapd/hostapd/Makefile diff --git a/feeds/mediatek-sdk/hostapd/README.md b/feeds/hostapd/hostapd/README.md similarity index 100% rename from feeds/mediatek-sdk/hostapd/README.md rename to feeds/hostapd/hostapd/README.md diff --git a/feeds/mediatek-sdk/hostapd/files/common.uc b/feeds/hostapd/hostapd/files/common.uc similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/common.uc rename to feeds/hostapd/hostapd/files/common.uc diff --git a/feeds/mediatek-sdk/hostapd/files/dhcp-get-server.sh b/feeds/hostapd/hostapd/files/dhcp-get-server.sh similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/dhcp-get-server.sh rename to feeds/hostapd/hostapd/files/dhcp-get-server.sh diff --git a/feeds/mediatek-sdk/hostapd/files/hostapd-basic.config b/feeds/hostapd/hostapd/files/hostapd-basic.config similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/hostapd-basic.config rename to feeds/hostapd/hostapd/files/hostapd-basic.config diff --git a/feeds/mediatek-sdk/hostapd/files/hostapd-full.config b/feeds/hostapd/hostapd/files/hostapd-full.config similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/hostapd-full.config rename to feeds/hostapd/hostapd/files/hostapd-full.config diff --git a/feeds/mediatek-sdk/hostapd/files/hostapd-mini.config b/feeds/hostapd/hostapd/files/hostapd-mini.config similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/hostapd-mini.config rename to feeds/hostapd/hostapd/files/hostapd-mini.config diff --git a/feeds/mediatek-sdk/hostapd/files/hostapd.sh b/feeds/hostapd/hostapd/files/hostapd.sh similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/hostapd.sh rename to feeds/hostapd/hostapd/files/hostapd.sh diff --git a/feeds/mediatek-sdk/hostapd/files/hostapd.uc b/feeds/hostapd/hostapd/files/hostapd.uc similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/hostapd.uc rename to feeds/hostapd/hostapd/files/hostapd.uc diff --git a/feeds/mediatek-sdk/hostapd/files/multicall.c b/feeds/hostapd/hostapd/files/multicall.c similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/multicall.c rename to feeds/hostapd/hostapd/files/multicall.c diff --git a/feeds/mediatek-sdk/hostapd/files/radius.clients b/feeds/hostapd/hostapd/files/radius.clients similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/radius.clients rename to feeds/hostapd/hostapd/files/radius.clients diff --git a/feeds/mediatek-sdk/hostapd/files/radius.config b/feeds/hostapd/hostapd/files/radius.config similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/radius.config rename to feeds/hostapd/hostapd/files/radius.config diff --git a/feeds/mediatek-sdk/hostapd/files/radius.init b/feeds/hostapd/hostapd/files/radius.init similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/radius.init rename to feeds/hostapd/hostapd/files/radius.init diff --git a/feeds/mediatek-sdk/hostapd/files/radius.users b/feeds/hostapd/hostapd/files/radius.users similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/radius.users rename to feeds/hostapd/hostapd/files/radius.users diff --git a/feeds/mediatek-sdk/hostapd/files/wdev.uc b/feeds/hostapd/hostapd/files/wdev.uc similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/wdev.uc rename to feeds/hostapd/hostapd/files/wdev.uc diff --git a/feeds/mediatek-sdk/hostapd/files/wpa_supplicant-basic.config b/feeds/hostapd/hostapd/files/wpa_supplicant-basic.config similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/wpa_supplicant-basic.config rename to feeds/hostapd/hostapd/files/wpa_supplicant-basic.config diff --git a/feeds/mediatek-sdk/hostapd/files/wpa_supplicant-full.config b/feeds/hostapd/hostapd/files/wpa_supplicant-full.config similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/wpa_supplicant-full.config rename to feeds/hostapd/hostapd/files/wpa_supplicant-full.config diff --git a/feeds/mediatek-sdk/hostapd/files/wpa_supplicant-mini.config b/feeds/hostapd/hostapd/files/wpa_supplicant-mini.config similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/wpa_supplicant-mini.config rename to feeds/hostapd/hostapd/files/wpa_supplicant-mini.config diff --git a/feeds/mediatek-sdk/hostapd/files/wpa_supplicant-p2p.config b/feeds/hostapd/hostapd/files/wpa_supplicant-p2p.config similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/wpa_supplicant-p2p.config rename to feeds/hostapd/hostapd/files/wpa_supplicant-p2p.config diff --git a/feeds/mediatek-sdk/hostapd/files/wpa_supplicant.uc b/feeds/hostapd/hostapd/files/wpa_supplicant.uc similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/wpa_supplicant.uc rename to feeds/hostapd/hostapd/files/wpa_supplicant.uc diff --git a/feeds/mediatek-sdk/hostapd/files/wpad.init b/feeds/hostapd/hostapd/files/wpad.init similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/wpad.init rename to feeds/hostapd/hostapd/files/wpad.init diff --git a/feeds/mediatek-sdk/hostapd/files/wpad.json b/feeds/hostapd/hostapd/files/wpad.json similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/wpad.json rename to feeds/hostapd/hostapd/files/wpad.json diff --git a/feeds/mediatek-sdk/hostapd/files/wpad_acl.json b/feeds/hostapd/hostapd/files/wpad_acl.json similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/wpad_acl.json rename to feeds/hostapd/hostapd/files/wpad_acl.json diff --git a/feeds/mediatek-sdk/hostapd/files/wps-hotplug.sh b/feeds/hostapd/hostapd/files/wps-hotplug.sh similarity index 100% rename from feeds/mediatek-sdk/hostapd/files/wps-hotplug.sh rename to feeds/hostapd/hostapd/files/wps-hotplug.sh diff --git a/feeds/mediatek-sdk/hostapd/patches/001-wolfssl-init-RNG-with-ECC-key.patch b/feeds/hostapd/hostapd/patches/001-wolfssl-init-RNG-with-ECC-key.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/001-wolfssl-init-RNG-with-ECC-key.patch rename to feeds/hostapd/hostapd/patches/001-wolfssl-init-RNG-with-ECC-key.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/010-mesh-Allow-DFS-channels-to-be-selected-if-dfs-is-ena.patch b/feeds/hostapd/hostapd/patches/010-mesh-Allow-DFS-channels-to-be-selected-if-dfs-is-ena.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/010-mesh-Allow-DFS-channels-to-be-selected-if-dfs-is-ena.patch rename to feeds/hostapd/hostapd/patches/010-mesh-Allow-DFS-channels-to-be-selected-if-dfs-is-ena.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/011-mesh-use-deterministic-channel-on-channel-switch.patch b/feeds/hostapd/hostapd/patches/011-mesh-use-deterministic-channel-on-channel-switch.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/011-mesh-use-deterministic-channel-on-channel-switch.patch rename to feeds/hostapd/hostapd/patches/011-mesh-use-deterministic-channel-on-channel-switch.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/021-fix-sta-add-after-previous-connection.patch b/feeds/hostapd/hostapd/patches/021-fix-sta-add-after-previous-connection.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/021-fix-sta-add-after-previous-connection.patch rename to feeds/hostapd/hostapd/patches/021-fix-sta-add-after-previous-connection.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/022-hostapd-fix-use-of-uninitialized-stack-variables.patch b/feeds/hostapd/hostapd/patches/022-hostapd-fix-use-of-uninitialized-stack-variables.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/022-hostapd-fix-use-of-uninitialized-stack-variables.patch rename to feeds/hostapd/hostapd/patches/022-hostapd-fix-use-of-uninitialized-stack-variables.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch b/feeds/hostapd/hostapd/patches/023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch rename to feeds/hostapd/hostapd/patches/023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/030-driver_nl80211-rewrite-neigh-code-to-not-depend-on-l.patch b/feeds/hostapd/hostapd/patches/030-driver_nl80211-rewrite-neigh-code-to-not-depend-on-l.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/030-driver_nl80211-rewrite-neigh-code-to-not-depend-on-l.patch rename to feeds/hostapd/hostapd/patches/030-driver_nl80211-rewrite-neigh-code-to-not-depend-on-l.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/040-mesh-allow-processing-authentication-frames-in-block.patch b/feeds/hostapd/hostapd/patches/040-mesh-allow-processing-authentication-frames-in-block.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/040-mesh-allow-processing-authentication-frames-in-block.patch rename to feeds/hostapd/hostapd/patches/040-mesh-allow-processing-authentication-frames-in-block.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/050-build_fix.patch b/feeds/hostapd/hostapd/patches/050-build_fix.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/050-build_fix.patch rename to feeds/hostapd/hostapd/patches/050-build_fix.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/110-mbedtls-TLS-crypto-option-initial-port.patch b/feeds/hostapd/hostapd/patches/110-mbedtls-TLS-crypto-option-initial-port.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/110-mbedtls-TLS-crypto-option-initial-port.patch rename to feeds/hostapd/hostapd/patches/110-mbedtls-TLS-crypto-option-initial-port.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/120-mbedtls-fips186_2_prf.patch b/feeds/hostapd/hostapd/patches/120-mbedtls-fips186_2_prf.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/120-mbedtls-fips186_2_prf.patch rename to feeds/hostapd/hostapd/patches/120-mbedtls-fips186_2_prf.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/130-mbedtls-annotate-with-TEST_FAIL-for-hwsim-tests.patch b/feeds/hostapd/hostapd/patches/130-mbedtls-annotate-with-TEST_FAIL-for-hwsim-tests.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/130-mbedtls-annotate-with-TEST_FAIL-for-hwsim-tests.patch rename to feeds/hostapd/hostapd/patches/130-mbedtls-annotate-with-TEST_FAIL-for-hwsim-tests.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/140-tests-Makefile-make-run-tests-with-CONFIG_TLS.patch b/feeds/hostapd/hostapd/patches/140-tests-Makefile-make-run-tests-with-CONFIG_TLS.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/140-tests-Makefile-make-run-tests-with-CONFIG_TLS.patch rename to feeds/hostapd/hostapd/patches/140-tests-Makefile-make-run-tests-with-CONFIG_TLS.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/150-add-NULL-checks-encountered-during-tests-hwsim.patch b/feeds/hostapd/hostapd/patches/150-add-NULL-checks-encountered-during-tests-hwsim.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/150-add-NULL-checks-encountered-during-tests-hwsim.patch rename to feeds/hostapd/hostapd/patches/150-add-NULL-checks-encountered-during-tests-hwsim.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/160-dpp_pkex-EC-point-mul-w-value-prime.patch b/feeds/hostapd/hostapd/patches/160-dpp_pkex-EC-point-mul-w-value-prime.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/160-dpp_pkex-EC-point-mul-w-value-prime.patch rename to feeds/hostapd/hostapd/patches/160-dpp_pkex-EC-point-mul-w-value-prime.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/170-hostapd-update-cfs0-and-cfs1-for-160MHz.patch b/feeds/hostapd/hostapd/patches/170-hostapd-update-cfs0-and-cfs1-for-160MHz.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/170-hostapd-update-cfs0-and-cfs1-for-160MHz.patch rename to feeds/hostapd/hostapd/patches/170-hostapd-update-cfs0-and-cfs1-for-160MHz.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/180-driver_nl80211-fix-setting-QoS-map-on-secondary-BSSs.patch b/feeds/hostapd/hostapd/patches/180-driver_nl80211-fix-setting-QoS-map-on-secondary-BSSs.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/180-driver_nl80211-fix-setting-QoS-map-on-secondary-BSSs.patch rename to feeds/hostapd/hostapd/patches/180-driver_nl80211-fix-setting-QoS-map-on-secondary-BSSs.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/181-driver_nl80211-update-drv-ifindex-on-removing-the-fi.patch b/feeds/hostapd/hostapd/patches/181-driver_nl80211-update-drv-ifindex-on-removing-the-fi.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/181-driver_nl80211-update-drv-ifindex-on-removing-the-fi.patch rename to feeds/hostapd/hostapd/patches/181-driver_nl80211-update-drv-ifindex-on-removing-the-fi.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/182-nl80211-move-nl80211_put_freq_params-call-outside-of.patch b/feeds/hostapd/hostapd/patches/182-nl80211-move-nl80211_put_freq_params-call-outside-of.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/182-nl80211-move-nl80211_put_freq_params-call-outside-of.patch rename to feeds/hostapd/hostapd/patches/182-nl80211-move-nl80211_put_freq_params-call-outside-of.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/183-hostapd-cancel-channel_list_update_timeout-in-hostap.patch b/feeds/hostapd/hostapd/patches/183-hostapd-cancel-channel_list_update_timeout-in-hostap.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/183-hostapd-cancel-channel_list_update_timeout-in-hostap.patch rename to feeds/hostapd/hostapd/patches/183-hostapd-cancel-channel_list_update_timeout-in-hostap.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/200-multicall.patch b/feeds/hostapd/hostapd/patches/200-multicall.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/200-multicall.patch rename to feeds/hostapd/hostapd/patches/200-multicall.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/300-noscan.patch b/feeds/hostapd/hostapd/patches/300-noscan.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/300-noscan.patch rename to feeds/hostapd/hostapd/patches/300-noscan.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/301-mesh-noscan.patch b/feeds/hostapd/hostapd/patches/301-mesh-noscan.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/301-mesh-noscan.patch rename to feeds/hostapd/hostapd/patches/301-mesh-noscan.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/310-rescan_immediately.patch b/feeds/hostapd/hostapd/patches/310-rescan_immediately.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/310-rescan_immediately.patch rename to feeds/hostapd/hostapd/patches/310-rescan_immediately.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/320-optional_rfkill.patch b/feeds/hostapd/hostapd/patches/320-optional_rfkill.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/320-optional_rfkill.patch rename to feeds/hostapd/hostapd/patches/320-optional_rfkill.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/330-nl80211_fix_set_freq.patch b/feeds/hostapd/hostapd/patches/330-nl80211_fix_set_freq.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/330-nl80211_fix_set_freq.patch rename to feeds/hostapd/hostapd/patches/330-nl80211_fix_set_freq.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/341-mesh-ctrl-iface-channel-switch.patch b/feeds/hostapd/hostapd/patches/341-mesh-ctrl-iface-channel-switch.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/341-mesh-ctrl-iface-channel-switch.patch rename to feeds/hostapd/hostapd/patches/341-mesh-ctrl-iface-channel-switch.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/350-nl80211_del_beacon_bss.patch b/feeds/hostapd/hostapd/patches/350-nl80211_del_beacon_bss.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/350-nl80211_del_beacon_bss.patch rename to feeds/hostapd/hostapd/patches/350-nl80211_del_beacon_bss.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/380-disable_ctrl_iface_mib.patch b/feeds/hostapd/hostapd/patches/380-disable_ctrl_iface_mib.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/380-disable_ctrl_iface_mib.patch rename to feeds/hostapd/hostapd/patches/380-disable_ctrl_iface_mib.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/381-hostapd_cli_UNKNOWN-COMMAND.patch b/feeds/hostapd/hostapd/patches/381-hostapd_cli_UNKNOWN-COMMAND.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/381-hostapd_cli_UNKNOWN-COMMAND.patch rename to feeds/hostapd/hostapd/patches/381-hostapd_cli_UNKNOWN-COMMAND.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/390-wpa_ie_cap_workaround.patch b/feeds/hostapd/hostapd/patches/390-wpa_ie_cap_workaround.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/390-wpa_ie_cap_workaround.patch rename to feeds/hostapd/hostapd/patches/390-wpa_ie_cap_workaround.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/400-wps_single_auth_enc_type.patch b/feeds/hostapd/hostapd/patches/400-wps_single_auth_enc_type.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/400-wps_single_auth_enc_type.patch rename to feeds/hostapd/hostapd/patches/400-wps_single_auth_enc_type.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/410-limit_debug_messages.patch b/feeds/hostapd/hostapd/patches/410-limit_debug_messages.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/410-limit_debug_messages.patch rename to feeds/hostapd/hostapd/patches/410-limit_debug_messages.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/420-indicate-features.patch b/feeds/hostapd/hostapd/patches/420-indicate-features.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/420-indicate-features.patch rename to feeds/hostapd/hostapd/patches/420-indicate-features.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/430-hostapd_cli_ifdef.patch b/feeds/hostapd/hostapd/patches/430-hostapd_cli_ifdef.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/430-hostapd_cli_ifdef.patch rename to feeds/hostapd/hostapd/patches/430-hostapd_cli_ifdef.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/431-wpa_cli_ifdef.patch b/feeds/hostapd/hostapd/patches/431-wpa_cli_ifdef.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/431-wpa_cli_ifdef.patch rename to feeds/hostapd/hostapd/patches/431-wpa_cli_ifdef.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch b/feeds/hostapd/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch rename to feeds/hostapd/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/463-add-mcast_rate-to-11s.patch b/feeds/hostapd/hostapd/patches/463-add-mcast_rate-to-11s.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/463-add-mcast_rate-to-11s.patch rename to feeds/hostapd/hostapd/patches/463-add-mcast_rate-to-11s.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/464-fix-mesh-obss-check.patch b/feeds/hostapd/hostapd/patches/464-fix-mesh-obss-check.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/464-fix-mesh-obss-check.patch rename to feeds/hostapd/hostapd/patches/464-fix-mesh-obss-check.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/465-hostapd-config-support-random-BSS-color.patch b/feeds/hostapd/hostapd/patches/465-hostapd-config-support-random-BSS-color.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/465-hostapd-config-support-random-BSS-color.patch rename to feeds/hostapd/hostapd/patches/465-hostapd-config-support-random-BSS-color.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/470-survey_data_fallback.patch b/feeds/hostapd/hostapd/patches/470-survey_data_fallback.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/470-survey_data_fallback.patch rename to feeds/hostapd/hostapd/patches/470-survey_data_fallback.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/500-lto-jobserver-support.patch b/feeds/hostapd/hostapd/patches/500-lto-jobserver-support.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/500-lto-jobserver-support.patch rename to feeds/hostapd/hostapd/patches/500-lto-jobserver-support.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/590-rrm-wnm-statistics.patch b/feeds/hostapd/hostapd/patches/590-rrm-wnm-statistics.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/590-rrm-wnm-statistics.patch rename to feeds/hostapd/hostapd/patches/590-rrm-wnm-statistics.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/599-wpa_supplicant-fix-warnings.patch b/feeds/hostapd/hostapd/patches/599-wpa_supplicant-fix-warnings.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/599-wpa_supplicant-fix-warnings.patch rename to feeds/hostapd/hostapd/patches/599-wpa_supplicant-fix-warnings.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/600-ubus_support.patch b/feeds/hostapd/hostapd/patches/600-ubus_support.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/600-ubus_support.patch rename to feeds/hostapd/hostapd/patches/600-ubus_support.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/601-ucode_support.patch b/feeds/hostapd/hostapd/patches/601-ucode_support.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/601-ucode_support.patch rename to feeds/hostapd/hostapd/patches/601-ucode_support.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/610-hostapd_cli_ujail_permission.patch b/feeds/hostapd/hostapd/patches/610-hostapd_cli_ujail_permission.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/610-hostapd_cli_ujail_permission.patch rename to feeds/hostapd/hostapd/patches/610-hostapd_cli_ujail_permission.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/701-reload_config_inline.patch b/feeds/hostapd/hostapd/patches/701-reload_config_inline.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/701-reload_config_inline.patch rename to feeds/hostapd/hostapd/patches/701-reload_config_inline.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/710-vlan_no_bridge.patch b/feeds/hostapd/hostapd/patches/710-vlan_no_bridge.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/710-vlan_no_bridge.patch rename to feeds/hostapd/hostapd/patches/710-vlan_no_bridge.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/711-wds_bridge_force.patch b/feeds/hostapd/hostapd/patches/711-wds_bridge_force.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/711-wds_bridge_force.patch rename to feeds/hostapd/hostapd/patches/711-wds_bridge_force.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/720-iface_max_num_sta.patch b/feeds/hostapd/hostapd/patches/720-iface_max_num_sta.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/720-iface_max_num_sta.patch rename to feeds/hostapd/hostapd/patches/720-iface_max_num_sta.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/730-ft_iface.patch b/feeds/hostapd/hostapd/patches/730-ft_iface.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/730-ft_iface.patch rename to feeds/hostapd/hostapd/patches/730-ft_iface.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/740-snoop_iface.patch b/feeds/hostapd/hostapd/patches/740-snoop_iface.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/740-snoop_iface.patch rename to feeds/hostapd/hostapd/patches/740-snoop_iface.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/750-qos_map_set_without_interworking.patch b/feeds/hostapd/hostapd/patches/750-qos_map_set_without_interworking.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/750-qos_map_set_without_interworking.patch rename to feeds/hostapd/hostapd/patches/750-qos_map_set_without_interworking.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/750-wispr.patch b/feeds/hostapd/hostapd/patches/750-wispr.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/750-wispr.patch rename to feeds/hostapd/hostapd/patches/750-wispr.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/751-qos_map_ignore_when_unsupported.patch b/feeds/hostapd/hostapd/patches/751-qos_map_ignore_when_unsupported.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/751-qos_map_ignore_when_unsupported.patch rename to feeds/hostapd/hostapd/patches/751-qos_map_ignore_when_unsupported.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/751-wispr-ft.patch b/feeds/hostapd/hostapd/patches/751-wispr-ft.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/751-wispr-ft.patch rename to feeds/hostapd/hostapd/patches/751-wispr-ft.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/760-acs_exclude_dfs.patch b/feeds/hostapd/hostapd/patches/760-acs_exclude_dfs.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/760-acs_exclude_dfs.patch rename to feeds/hostapd/hostapd/patches/760-acs_exclude_dfs.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/760-dynamic_own_ip.patch b/feeds/hostapd/hostapd/patches/760-dynamic_own_ip.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/760-dynamic_own_ip.patch rename to feeds/hostapd/hostapd/patches/760-dynamic_own_ip.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/761-shared_das_port.patch b/feeds/hostapd/hostapd/patches/761-shared_das_port.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/761-shared_das_port.patch rename to feeds/hostapd/hostapd/patches/761-shared_das_port.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/770-radius_server.patch b/feeds/hostapd/hostapd/patches/770-radius_server.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/770-radius_server.patch rename to feeds/hostapd/hostapd/patches/770-radius_server.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/780-maxassoc.patch b/feeds/hostapd/hostapd/patches/780-maxassoc.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/780-maxassoc.patch rename to feeds/hostapd/hostapd/patches/780-maxassoc.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/790-wired-dynamic-vlan.patch b/feeds/hostapd/hostapd/patches/790-wired-dynamic-vlan.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/790-wired-dynamic-vlan.patch rename to feeds/hostapd/hostapd/patches/790-wired-dynamic-vlan.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/800-fix-ap-sta-channel-setup-failed.patch b/feeds/hostapd/hostapd/patches/800-fix-ap-sta-channel-setup-failed.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/800-fix-ap-sta-channel-setup-failed.patch rename to feeds/hostapd/hostapd/patches/800-fix-ap-sta-channel-setup-failed.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/900-coa.patch b/feeds/hostapd/hostapd/patches/900-coa.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/900-coa.patch rename to feeds/hostapd/hostapd/patches/900-coa.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/901-cfg-section.patch b/feeds/hostapd/hostapd/patches/901-cfg-section.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/901-cfg-section.patch rename to feeds/hostapd/hostapd/patches/901-cfg-section.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/901-coa-ubus.patch b/feeds/hostapd/hostapd/patches/901-coa-ubus.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/901-coa-ubus.patch rename to feeds/hostapd/hostapd/patches/901-coa-ubus.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/990-ctrl-make-WNM_AP-functions-dependant-on-CONFIG_AP.patch b/feeds/hostapd/hostapd/patches/990-ctrl-make-WNM_AP-functions-dependant-on-CONFIG_AP.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/990-ctrl-make-WNM_AP-functions-dependant-on-CONFIG_AP.patch rename to feeds/hostapd/hostapd/patches/990-ctrl-make-WNM_AP-functions-dependant-on-CONFIG_AP.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/991-Fix-OpenWrt-13156.patch b/feeds/hostapd/hostapd/patches/991-Fix-OpenWrt-13156.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/991-Fix-OpenWrt-13156.patch rename to feeds/hostapd/hostapd/patches/991-Fix-OpenWrt-13156.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/999-das-proxy-state.patch b/feeds/hostapd/hostapd/patches/999-das-proxy-state.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/999-das-proxy-state.patch rename to feeds/hostapd/hostapd/patches/999-das-proxy-state.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/999-ft-anonce.patch b/feeds/hostapd/hostapd/patches/999-ft-anonce.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/999-ft-anonce.patch rename to feeds/hostapd/hostapd/patches/999-ft-anonce.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/999-probe-request.patch b/feeds/hostapd/hostapd/patches/999-probe-request.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/999-probe-request.patch rename to feeds/hostapd/hostapd/patches/999-probe-request.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/999-re-assoc-event.patch b/feeds/hostapd/hostapd/patches/999-re-assoc-event.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/999-re-assoc-event.patch rename to feeds/hostapd/hostapd/patches/999-re-assoc-event.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/999-s8-u8.patch b/feeds/hostapd/hostapd/patches/999-s8-u8.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/999-s8-u8.patch rename to feeds/hostapd/hostapd/patches/999-s8-u8.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/999-ssi_signal.patch b/feeds/hostapd/hostapd/patches/999-ssi_signal.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/999-ssi_signal.patch rename to feeds/hostapd/hostapd/patches/999-ssi_signal.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/t00-010-ft_refresh.patch b/feeds/hostapd/hostapd/patches/t00-010-ft_refresh.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/t00-010-ft_refresh.patch rename to feeds/hostapd/hostapd/patches/t00-010-ft_refresh.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/t00-011-owe_ssid_update.patch b/feeds/hostapd/hostapd/patches/t00-011-owe_ssid_update.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/t00-011-owe_ssid_update.patch rename to feeds/hostapd/hostapd/patches/t00-011-owe_ssid_update.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/t00-012-hostapd-Fix-DVLAN-802.1x-issue.patch b/feeds/hostapd/hostapd/patches/t00-012-hostapd-Fix-DVLAN-802.1x-issue.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/t00-012-hostapd-Fix-DVLAN-802.1x-issue.patch rename to feeds/hostapd/hostapd/patches/t00-012-hostapd-Fix-DVLAN-802.1x-issue.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/zzz-radius-extended-avp.patch b/feeds/hostapd/hostapd/patches/zzz-radius-extended-avp.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/zzz-radius-extended-avp.patch rename to feeds/hostapd/hostapd/patches/zzz-radius-extended-avp.patch diff --git a/feeds/mediatek-sdk/hostapd/patches/zzz-roaming-key.patch b/feeds/hostapd/hostapd/patches/zzz-roaming-key.patch similarity index 100% rename from feeds/mediatek-sdk/hostapd/patches/zzz-roaming-key.patch rename to feeds/hostapd/hostapd/patches/zzz-roaming-key.patch diff --git a/feeds/mediatek-sdk/hostapd/src/hostapd/radius.c b/feeds/hostapd/hostapd/src/hostapd/radius.c similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/hostapd/radius.c rename to feeds/hostapd/hostapd/src/hostapd/radius.c diff --git a/feeds/mediatek-sdk/hostapd/src/src/ap/ubus.c b/feeds/hostapd/hostapd/src/src/ap/ubus.c similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/src/ap/ubus.c rename to feeds/hostapd/hostapd/src/src/ap/ubus.c diff --git a/feeds/mediatek-sdk/hostapd/src/src/ap/ubus.h b/feeds/hostapd/hostapd/src/src/ap/ubus.h similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/src/ap/ubus.h rename to feeds/hostapd/hostapd/src/src/ap/ubus.h diff --git a/feeds/mediatek-sdk/hostapd/src/src/ap/ucode.c b/feeds/hostapd/hostapd/src/src/ap/ucode.c similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/src/ap/ucode.c rename to feeds/hostapd/hostapd/src/src/ap/ucode.c diff --git a/feeds/mediatek-sdk/hostapd/src/src/ap/ucode.h b/feeds/hostapd/hostapd/src/src/ap/ucode.h similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/src/ap/ucode.h rename to feeds/hostapd/hostapd/src/src/ap/ucode.h diff --git a/feeds/mediatek-sdk/hostapd/src/src/utils/build_features.h b/feeds/hostapd/hostapd/src/src/utils/build_features.h similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/src/utils/build_features.h rename to feeds/hostapd/hostapd/src/src/utils/build_features.h diff --git a/feeds/mediatek-sdk/hostapd/src/src/utils/ucode.c b/feeds/hostapd/hostapd/src/src/utils/ucode.c similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/src/utils/ucode.c rename to feeds/hostapd/hostapd/src/src/utils/ucode.c diff --git a/feeds/mediatek-sdk/hostapd/src/src/utils/ucode.h b/feeds/hostapd/hostapd/src/src/utils/ucode.h similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/src/utils/ucode.h rename to feeds/hostapd/hostapd/src/src/utils/ucode.h diff --git a/feeds/mediatek-sdk/hostapd/src/wpa_supplicant/ubus.c b/feeds/hostapd/hostapd/src/wpa_supplicant/ubus.c similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/wpa_supplicant/ubus.c rename to feeds/hostapd/hostapd/src/wpa_supplicant/ubus.c diff --git a/feeds/mediatek-sdk/hostapd/src/wpa_supplicant/ubus.h b/feeds/hostapd/hostapd/src/wpa_supplicant/ubus.h similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/wpa_supplicant/ubus.h rename to feeds/hostapd/hostapd/src/wpa_supplicant/ubus.h diff --git a/feeds/mediatek-sdk/hostapd/src/wpa_supplicant/ucode.c b/feeds/hostapd/hostapd/src/wpa_supplicant/ucode.c similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/wpa_supplicant/ucode.c rename to feeds/hostapd/hostapd/src/wpa_supplicant/ucode.c diff --git a/feeds/mediatek-sdk/hostapd/src/wpa_supplicant/ucode.h b/feeds/hostapd/hostapd/src/wpa_supplicant/ucode.h similarity index 100% rename from feeds/mediatek-sdk/hostapd/src/wpa_supplicant/ucode.h rename to feeds/hostapd/hostapd/src/wpa_supplicant/ucode.h diff --git a/profiles/edgecore_eap111.yml b/profiles/edgecore_eap111.yml index 626f61a81..b4c36639e 100644 --- a/profiles/edgecore_eap111.yml +++ b/profiles/edgecore_eap111.yml @@ -11,6 +11,7 @@ packages: - mediatek include: - ucentral-ap + - hostapd diffconfig: | # CONFIG_PACKAGE_kmod-nft-offload is not set # CONFIG_PACKAGE_procd-ujail is not set diff --git a/profiles/hostapd.yml b/profiles/hostapd.yml new file mode 100644 index 000000000..57e0f8e84 --- /dev/null +++ b/profiles/hostapd.yml @@ -0,0 +1,5 @@ +--- +description: Add patched hostapd +feeds: + - name: hostapd + path: ../../feeds/hostapd diff --git a/profiles/indio_um-305ax.yml b/profiles/indio_um-305ax.yml index ea6bce23b..acfee0644 100644 --- a/profiles/indio_um-305ax.yml +++ b/profiles/indio_um-305ax.yml @@ -6,3 +6,4 @@ description: Build image for the Indio UM-305ax image: bin/targets/ramips/mt7621/openwrt-ramips-mt7621-indio_um-305ax-squashfs-sysupgrade.bin include: - ucentral-ap + - hostapd diff --git a/profiles/yuncore_ax820.yml b/profiles/yuncore_ax820.yml index 94fdcaad7..0eb0f4020 100644 --- a/profiles/yuncore_ax820.yml +++ b/profiles/yuncore_ax820.yml @@ -6,3 +6,4 @@ description: Build image for the Yuncore AX820 image: bin/targets/ramips/mt7621/openwrt-ramips-mt7621-yuncore_ax820-squashfs-sysupgrade.bin include: - ucentral-ap + - hostapd diff --git a/profiles/yuncore_fap640.yml b/profiles/yuncore_fap640.yml index 39b2de7a3..1816c25f7 100644 --- a/profiles/yuncore_fap640.yml +++ b/profiles/yuncore_fap640.yml @@ -6,3 +6,4 @@ description: Build image for the Yuncore FAP640 image: bin/targets/ramips/mt7621/openwrt-ramips-mt7621-yuncore_fap640-squashfs-sysupgrade.bin include: - ucentral-ap + - hostapd From 0d6245fbcf56aba6d7887cb352d38538e1605b35 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sun, 22 Sep 2024 14:05:10 +0200 Subject: [PATCH 3/9] ucode: improve hostpkg compile Signed-off-by: John Crispin --- .../0077-ucode-improve-hostpkg-compile.patch | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 patches/0077-ucode-improve-hostpkg-compile.patch diff --git a/patches/0077-ucode-improve-hostpkg-compile.patch b/patches/0077-ucode-improve-hostpkg-compile.patch new file mode 100644 index 000000000..155bb79f1 --- /dev/null +++ b/patches/0077-ucode-improve-hostpkg-compile.patch @@ -0,0 +1,42 @@ +From 86ed23223bec723c9280f329eb995762baac8b16 Mon Sep 17 00:00:00 2001 +From: John Crispin +Date: Sun, 22 Sep 2024 14:04:17 +0200 +Subject: [PATCH] ucode: improve hostpkg compile + +Signed-off-by: John Crispin +--- + package/utils/ucode/Makefile | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/package/utils/ucode/Makefile b/package/utils/ucode/Makefile +index e59691026d..493ef845a2 100644 +--- a/package/utils/ucode/Makefile ++++ b/package/utils/ucode/Makefile +@@ -24,16 +24,19 @@ include $(INCLUDE_DIR)/package.mk + include $(INCLUDE_DIR)/host-build.mk + include $(INCLUDE_DIR)/cmake.mk + +-CMAKE_OPTIONS += -DSOVERSION=$(PKG_ABI_VERSION) ++CMAKE_OPTIONS += \ ++ -DSOVERSION=$(PKG_ABI_VERSION) + +-ifeq ($(HOST_OS),Darwin) +- CMAKE_HOST_OPTIONS += \ ++CMAKE_HOST_OPTIONS += \ + -DCMAKE_SKIP_RPATH=FALSE \ +- -DCMAKE_MACOSX_RPATH=1 \ + -DCMAKE_INSTALL_RPATH="${STAGING_DIR_HOSTPKG}/lib" ++ ++ifeq ($(HOST_OS),Darwin) ++ CMAKE_HOST_OPTIONS += \ ++ -DCMAKE_MACOSX_RPATH=1 + else + CMAKE_HOST_OPTIONS += \ +- -DSOVERSION=$(PKG_ABI_VERSION) ++ -DUSE_RPATH="${STAGING_DIR_HOSTPKG}/lib" + endif + + CMAKE_HOST_OPTIONS += \ +-- +2.34.1 + From 34b04052380f70098e66b8999b29777c41c68a7e Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sun, 22 Sep 2024 14:14:32 +0200 Subject: [PATCH 4/9] ucentral-schema: update to latest HEAD 42e59d5 Add system-password to the schema 8b3701b ucentral-schema: add support for configuring snmpd service using ucentral. Signed-off-by: John Crispin --- feeds/ucentral/ucentral-schema/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/feeds/ucentral/ucentral-schema/Makefile b/feeds/ucentral/ucentral-schema/Makefile index d7dd2b207..7ad118a11 100644 --- a/feeds/ucentral/ucentral-schema/Makefile +++ b/feeds/ucentral/ucentral-schema/Makefile @@ -4,10 +4,10 @@ PKG_NAME:=ucentral-schema PKG_RELEASE:=1 PKG_SOURCE_URL=https://github.com/Telecominfraproject/wlan-ucentral-schema.git -PKG_MIRROR_HASH:=cc0327f033ffbd2a644bb17d5c32c7fe30c2f5c8ea60c3ca2c8995533432cb6c +PKG_MIRROR_HASH:=83801db064175bc72e864f9a7024e7bcb442c04cd91a17ff0d87a7e3f3da402c PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2024-07-03 -PKG_SOURCE_VERSION:=45e6c53480001b474f220f43f0ee1f7ac7c57f3f +PKG_SOURCE_VERSION:=42e59d55245628cd23ea92cc438b7db97da7de0f PKG_MAINTAINER:=John Crispin PKG_LICENSE:=BSD-3-Clause From b2e778221e656599e9705ca7e48deb2abd2ca6c0 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 23 Sep 2024 14:55:20 +0200 Subject: [PATCH 5/9] ucentral-schema: update to latest HEAD baeef76 Revert "ucentral-schema: add support for configuring snmpd service using ucentral." 684a1aa firewall: upon up NAT'ed port 53 for ipv6 83a30b4 enable reconf for mpsk interfaces Signed-off-by: John Crispin --- feeds/ucentral/ucentral-schema/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/feeds/ucentral/ucentral-schema/Makefile b/feeds/ucentral/ucentral-schema/Makefile index 7ad118a11..4d1cb15a8 100644 --- a/feeds/ucentral/ucentral-schema/Makefile +++ b/feeds/ucentral/ucentral-schema/Makefile @@ -4,10 +4,10 @@ PKG_NAME:=ucentral-schema PKG_RELEASE:=1 PKG_SOURCE_URL=https://github.com/Telecominfraproject/wlan-ucentral-schema.git -PKG_MIRROR_HASH:=83801db064175bc72e864f9a7024e7bcb442c04cd91a17ff0d87a7e3f3da402c +PKG_MIRROR_HASH:=802ef1c815e96f7151866c2fd2ef6c83a370e6c1159fb52f7261613dcdc449cc PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2024-07-03 -PKG_SOURCE_VERSION:=42e59d55245628cd23ea92cc438b7db97da7de0f +PKG_SOURCE_VERSION:=baeef766f40d6970105c20ec6767e8e09644c622 PKG_MAINTAINER:=John Crispin PKG_LICENSE:=BSD-3-Clause From 911da1bb417cfc143ee4bc86ec21e86ef5deda36 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 23 Sep 2024 14:57:21 +0200 Subject: [PATCH 6/9] mpskd: kick all 6G clients upon reload Signed-off-by: John Crispin --- feeds/ipq807x_v5.4/hostapd/files/mpskd | 30 ++++++++++++++++++++------ 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/feeds/ipq807x_v5.4/hostapd/files/mpskd b/feeds/ipq807x_v5.4/hostapd/files/mpskd index a03034b89..b95674041 100644 --- a/feeds/ipq807x_v5.4/hostapd/files/mpskd +++ b/feeds/ipq807x_v5.4/hostapd/files/mpskd @@ -9,8 +9,7 @@ let ubus = libubus.connect(); let interfaces = {}; let ssids = {}; let cache = {}; -let sub_6g = []; -let sub_6g_obj; +let subs_hapd = []; let reload_timer; let gc_timer; @@ -66,10 +65,9 @@ function event_cb(req) { } function create_6g_subscriber() { - for (let cur_sub in sub_6g) + for (let cur_sub in subs_hapd) cur_sub.remove(); - sub_6g = []; - + subs_hapd = []; for (let ifname, iface in interfaces) { let obj = 'hostapd.' + ifname; let cur_sub; @@ -78,7 +76,7 @@ function create_6g_subscriber() { else cur_sub = ubus.subscriber((req) => event_cb(req)); cur_sub.subscribe(obj); - push(sub_6g, cur_sub); + push(subs_hapd, cur_sub); printf(`subscribe ${ifname}\n`); ubus.call(obj, 'notify_response', { notify_response: 1 }); } @@ -314,12 +312,30 @@ let ubus_methods = { return { interfaces, ssids, - cache + cache, }; }, args: { } }, + flush: { + call: function() { + for (let ssid, data in ssids) { + let band = '6g'; + let iface = data.bands[band]; + if (!iface) + continue; + let clients = ubus.call('hostapd.' + iface, 'get_clients'); + for (let addr, client in clients.clients) { + if (!cache[ssid]) + continue; + delete cache[ssid][addr]; + ubus.call('hostapd.' + iface, 'del_client', { addr }); + } + } + }, + args: {} + }, }; reload_timer = uloop.timer(-1, () => { netifd_reload(); }); From d518e5988d3820d106a7d143d5a5d8392185dbfc Mon Sep 17 00:00:00 2001 From: Steven Lin Date: Fri, 27 Sep 2024 15:41:28 +0200 Subject: [PATCH 7/9] mediatek: Add SENAO IAP4300M Specifications: SoC: MediaTek MT7986A RF Chipset: MT7976G @2.4GHz 4T4R MT7976A @5ghz 4T4R RAM: 1GB DDR4 RAM (2x 512MB) Flash: SPI-NAND 256 MiB Ethernet: 1x 2.5GbE PHY Reset Button Power Source: DC IN 12v, Standard PoE 802.3af/at LED Indicator: 4 x single color LED (GPIO Control) Fixes: WIFI-13983 Signed-off-by: Steven Lin --- .../keys/senao_iap4300m/bl2_private_key.pem | 27 + .../keys/senao_iap4300m/fip_private_key.pem | 27 + .../mediatek/keys/senao_iap4300m/fit_key.crt | 21 + .../mediatek/keys/senao_iap4300m/fit_key.key | 27 + .../dts/mediatek/mt7986a-senao-iap4300m.dts | 413 +++++++++++++++ .../include/dt-bindings/clock/mt7986-clk.h | 2 + feeds/mediatek-sdk/mediatek/image/mt7986.mk | 47 ++ .../mt7986/base-files/etc/board.d/01_leds | 18 + .../mt7986/base-files/etc/board.d/02_network | 14 + .../etc/hotplug.d/ieee80211/11_fix_wifi_mac | 18 + .../etc/uci-defaults/30_uboot-envtools | 24 + .../mt7986/base-files/lib/upgrade/nand.sh | 487 ++++++++++++++++++ .../mt7986/base-files/lib/upgrade/platform.sh | 27 + feeds/mediatek-sdk/mediatek/mt7986/config-5.4 | 5 + patches/0075-Add-secure-boot-patch.patch | 235 +++++++++ profiles/senao_iap4300m.yml | 13 + 16 files changed, 1405 insertions(+) create mode 100644 feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/bl2_private_key.pem create mode 100644 feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fip_private_key.pem create mode 100644 feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fit_key.crt create mode 100644 feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fit_key.key create mode 100644 feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-senao-iap4300m.dts create mode 100755 feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/board.d/01_leds create mode 100644 feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac create mode 100644 feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/uci-defaults/30_uboot-envtools create mode 100644 feeds/mediatek-sdk/mediatek/mt7986/base-files/lib/upgrade/nand.sh create mode 100644 patches/0075-Add-secure-boot-patch.patch create mode 100644 profiles/senao_iap4300m.yml diff --git a/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/bl2_private_key.pem b/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/bl2_private_key.pem new file mode 100644 index 000000000..893cad039 --- /dev/null +++ b/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/bl2_private_key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAylkhSz5UGwJnJjIchwS8KeJEmf2apWM40/z3ukTZHvnzR6cH +Wvx0uahlMaHdnXlt1+a1ZjEr9VIehFsnad1MmF0p3evHSdW95q4KXn7QXD0kfTrs +yiBbUbrzG+VSokpTY0xoUaqxSJWZyf0cytnnB+HYHVdjj5zshNHzJRCH494hB50m +wzw3jyB15DAQzCrd3nhRpb/SwdaMV80M9AzhxfvL6vMpWn+GcA9SPMEZupbFYPZv +7H/tDr6f+ZFQH8LCOuzA3wELbm6ML2pzRhR6iL8d8yft6k02uQ3C5mGXgz1LD7io +alEu3LrvkcUdcBmaaBlO3cdvvSygArZZXFsIFwIDAQABAoIBAQCBbgGd34Bsxly0 +Udltg9nX8KNw3IbOw2jWMDlFLES1S6wRaQWLbXA8UTppROA8mi9oqmndtBYqFRzw +DF5pmOQlkXH2QZp34ABYTXrUdslQNsvgTpCnuYqv/KUEcusoY+Jy4azYkBZWF1sH +mJ+SIU9l+1ABdKR6eCXRz3l3e9twJMCoNbC6Sjohw32+YnFhChBKYH4v2tIbKGed +L/xBli4a9JqGHDI3+wY/3bDy2pr88RL631ru3KWN0QfokKv1dMDFFxnes7bhIeTD +oOJeCMPKOx6QU1zsNOb2N2OYfsrOplSRRVCL8TVgtu5dI2TnVyDrcD0NpeB0MSRt +ZLTwbAwBAoGBAP09NKF2RcsbJ6yhnXcGIBqL9SJP4SYPf0AAy0w4PQdtDE5B1QFF +xoIiGKZ+JOGnYiuaRpk4+EJyQvCQyMxS+4H69D6PwaerzJtvAzYDnOOyMAgxAcoU +pQEgjuChwKkWy1qiIBUrl20fNbrNHxVrZhHvNSWtLicC1MK7gPn9iPhvAoGBAMyN +4xeSkBgnYbrJm0xdtzZ+xS88UAGR71Fi+o/3f3CFR355ffWKFtRDMP+sj6CtH2Xq +ukIYawKuhO7DsuSw1DVYDpkKYHqxSMsAd2wqwNxKpR0dTPKXZ5qPUiumIOlCt0sn +ekYk62KoJPessuqjzBsFfR9uh2ouUK3M0eO8a67ZAoGBAJcM0f7ZIEpE2UZkZBth +wPZ0svQTd3WPWtSfZKQDC4wJZIStSdNnfj+S/OcaaP9cKvddH203iQWBSCJcChmu +Caz/Nn62mslbdUDlV6H5R7SdTX8lVC7oX3+rnu2oLdXt7cAS4lYeWUVSj2bsAPVy +yUA7UZU2lkfYrXW2B/mVXATrAoGBAMr/LBSioFk4C+agWHvqrP1pxSnhQsysFMHB +5kKlLVVvDspWq0fXKFyx6ZhxmX+tDvHHhdw9+0SICOgiUhBd49qkbqg2AhUAhure +paU0sHxtn3pLL6e31VsvTC6BCTwzt07f+JpP3UDk+PrJ6iytLMrMIaXlvIEFQY+Z +KdpFjN/RAoGAZc16tSE3zAON5/cYrCMRGrU1uNG2r7sWvUWSRKUB74Cgqhic9PS3 +JQYHmfp7PN3EjLZvzSV08G9+qKatKUmuAErPviU+dEdUt1Yu3gws42I3fNYon02z +m7elGc61q6FXewd7KC4C4o7ZtkiZZK0E6JkLZLvwuSS6kNl2cg0Ak3s= +-----END RSA PRIVATE KEY----- diff --git a/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fip_private_key.pem b/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fip_private_key.pem new file mode 100644 index 000000000..fa9a779b6 --- /dev/null +++ b/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fip_private_key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAtxDPiHAgUZ/gQ4Go50eDuJ4URkhBZfIwIfwhZgGduW8x8fCY +kQjLthFY4rRX0kDTy+jg6Ov5jfXu3Gw4tjnNNQEzKhLv4eZfAgF9RCkXAyJnfDOJ +qKBLkvquiCiwPQrray5ZmUGecO6/L1LmTd1ktwJfgkbV3Pos6oFDEpJDvf5HKa6C +q2vqAs8GEP9RhqF4MTvqZkcxCwTp+f3neLVu1srK767Li7oEIpp0uhVAXLcBKo4N +j7SkZPLDsLN03IikpsTeqWF8b5RZKYy1vGXH/f72GTpVWg6J5qpluv6wR6nqM2P4 +cWcT9LPRTVKAcBoEwuDJUhAOaTAAObQw7LAzUQIDAQABAoIBAB6mrOjeRTsFdso2 +wm3+9loJ9cESxghotZBrI7htmtf6ezVUIGdgPqN8YhKLOY0Vl6CznDzDjeQsAlNb +t18jbG1shwGLbCi5pryyPSQVcSnwL72G74yRUjYIzQI1NdTyqBopB412hC3Ke65T +xgXRhNRzjERG0fYO2UhmXjGU1czQpuD2B9z9owAo4bN8MJ0rS/4ADFtnpblUF6aP +tknVHAV3UQY6JNkqlUHIYtkWLutUmsOzExN0/pX8wXaVN31qdSvh5REAszPAQuCA +cxCdYF6aFi/xs0ICG8xmfYmcTMMNHPXxhRK849wGWVTGSE/fh5MHFzMt6ZuVCl3M +26nrlmUCgYEA2cen+S2TNs54xsOaC6TxV8Lf4UtAlnD8O6MrkNt458D0Iy3Tpsl0 +4kwX2bKFPBQAkIoDZJtZ3l5y4pSBwq5Ive4je/vJ2M33Mqfqp9VD0Uodkwrj5wGU +T9VBIqF3utZHXLV0NQuYlssN8K83ZmU4IWjrtc/Qncix6L4fTJMExYsCgYEA1zGG +S9R1hkCWgFZ5N8Ix0HjnWpwoPiU/jbtdjUl49K0aLybe98tztlkeqyO4nFw6Rohg +InfRQ/wEMlBeEWYgTHqMOfJCCWLeY8bGh3lU2MVSE2IkPlbb7/XIH5DXLpHi9fBh +3rARGv34J2vWuDFhbDcoI+dJkfQ1cX5aRrb13hMCgYBHGw9XJnBIlsWMcFUdtC8w +rmoWz1E5TY6tkispUt95G+Eak13luSU2tg2bgNRLt2QvzUAqWybOmhv8quxrOih6 +CwT++EkBRs6NdZICVnmcHgzl88pRpIxePIzV186V7FzEgmJ851pc8dONYEhAYJAh +KHa9mCrPObYM/faOM/p83QKBgBE5t6ROR3INrX5sbZuXAeHMK8jHAzmmRaYUv3JV +1UbQrG3l0KdJM+P+0kOkwlxRzaBjvj5EFQ46GCPm5wDBighVLvBcggi6T07xVGb3 +wWDwupcunfQXg9d7dx9/upnRt7c0HMF0monslnahXTi1SzUcXSwykWMLh1OkZ5mN +f7TdAoGABh4DU0SB7bY8LnQ21jNlzi3qdj4EKMkfQyTVDiT84hXi42OhGN23jKuI +2tl6KMqdsN/GLNCPGy5VMfbQCFyyn3g2gHc2Cl90LRf/PsQ4v4HD/c+bjEPJUrYe +W2sPfHJqK3UsUL68JVaVsHZZ49oM1wJr0bn82Pl/+kNe02Njs2U= +-----END RSA PRIVATE KEY----- diff --git a/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fit_key.crt b/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fit_key.crt new file mode 100644 index 000000000..862ced91c --- /dev/null +++ b/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fit_key.crt @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDazCCAlOgAwIBAgIUDRQDKYZevoXzVn+I8sJA7oo0TWowDQYJKoZIhvcNAQEL +BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM +GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDA0MDIwNTIwMDhaFw0yNDA1 +MDIwNTIwMDhaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw +HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDDjDRntDuzUIXdSe3E21pEcuxOahgVU+BJnNuNR0xi +hAhgaFmRHHQKOgVkzld288+ofsxo2O+N22lDv/Vkk1FnRXrY6j1xeaRcoEEDkCvD +YxZsn7qrVWuzR7zowGjep8jYGvRY6zkWhz1c1FqHdW7TOqijK66+h8tnXM88C8Jb +OFAxRWxDreNNK+lvqRutLk1iEqChk1bRp0Dy8du3cbPTaCnMF8J0FPXuDmwJnPO0 +6Hh6lBuNoN8arCKrZHlX4WUo+u+ghVPw3VygjTAYDHItjF+rCNTAQUnUAG14asIC +s4Px+/spq6XnSj1Cl/+LxF9azXoILLkHze7Hdm0Tw8ObAgMBAAGjUzBRMB0GA1Ud +DgQWBBSklcF1xTKDDwQDJ2y7O776Cqr7czAfBgNVHSMEGDAWgBSklcF1xTKDDwQD +J2y7O776Cqr7czAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAZ +XRrrtzpdZ+Rm9q8jUdUYguI+5t9Rw8RZbo1Uv9C4XAU6UqATGkD/wt073sEZCd/1 +/BX83pyBaFROJzXSILH9lkyNyTy2Q45i8RG8Y8xk4iCUIMkrTZl3q42ZGgVKgHDz +q5m8Gn+VrkeVtPPfM77FFlPVqTbfFpwccanki8Qbd6w95ttx2/OCNkTJJokNA1E8 +5FHF9eFiB/T9LqHKuT1W6/sPfETF+IIhIhTSpBP31tPfMgZYqqDmaY1cJotinI5t +7WopbjdXKZUfF+wUwChR7Hsuo0zQ8W6Jc+X4hzDTE7bmE/5YZ6Do0q0L1I84vEof +MBzUGXqXXFL7fFvjMQ6j +-----END CERTIFICATE----- diff --git a/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fit_key.key b/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fit_key.key new file mode 100644 index 000000000..2188b5a2f --- /dev/null +++ b/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/keys/senao_iap4300m/fit_key.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAw4w0Z7Q7s1CF3UntxNtaRHLsTmoYFVPgSZzbjUdMYoQIYGhZ +kRx0CjoFZM5XdvPPqH7MaNjvjdtpQ7/1ZJNRZ0V62Oo9cXmkXKBBA5Arw2MWbJ+6 +q1Vrs0e86MBo3qfI2Br0WOs5Foc9XNRah3Vu0zqooyuuvofLZ1zPPAvCWzhQMUVs +Q63jTSvpb6kbrS5NYhKgoZNW0adA8vHbt3Gz02gpzBfCdBT17g5sCZzztOh4epQb +jaDfGqwiq2R5V+FlKPrvoIVT8N1coI0wGAxyLYxfqwjUwEFJ1ABteGrCArOD8fv7 +Kaul50o9Qpf/i8RfWs16CCy5B83ux3ZtE8PDmwIDAQABAoIBAAwDPuzn+4rmdXLE +qeCgAQmXbcDbb6NPxcV/51TkfmLG7aTOhEIP12kRa2dn7aOXEritIW2Hdh/mzK6m +yjJlgmivsf5FVYT1Dg3KonPPlYCpQ6VkopkH5FfdHlPGDisvb30nGr+jo5worrJX +MUCFDEvZnKZ5doCp4ur0np53snbcAQrTAJX8BqiHKiFhxszjgClelz2cuh1EqBG9 +UylxK8q26uAOG1+fzbLqLEqpHxwjunU98/P8H+kTOCRg3eSlDK5gJP7psG6siPdd +d/vDKfxglUzf7FozBY1MkTnPE6dQqUuofd1kMYaLqC61IZf+c7Rpqu7dTanIt+T7 +xhI68sECgYEA/hOGDIyGrVFOpN4rmplGtWzgBkXOf5Dj7l4CaKSvxEcUTfTLWvY4 +OsIehari2w3eUl+dfmYXBZ+Q0QtEuWjdxv0biE3PFgBmHJbvJEoZNs5b57gnP4hm +C/vwwn3gV+mVnhwpkv0AUXLZLkwpA2RdybRC4xfiylOfqPrPmCw+TbECgYEAxQc8 +KyFN1Kk2gG6mkdKEto0fO9sSToq6lvnShhm7HflFIfqXF2O3gytvwnRBrX4JWQpH +CeRCQfDssiz3zM8pLUcple2xUuZbjJovkulYu3bvP8XItL/YNIo5OF8dlpV46kQY +QWTgTYpeEDYQWUzp+UyrcSJhTH0XJcVL9npXfQsCgYEAvS2SSPO1L4VztiRKeTEZ +SerIH0OIzsj2Pby3tGyzBsUZ5DWZ2J+uHGn/Se2EPjBkUhcpcDzZdXFq5YurXxYq +04gQIPw2bh5b6XukkfOuNHWQTsd6Sb7opJGxoU8SZMLiiThU6EIDI6IM/YDtpL3t +a0sR5n8ZeSasoagmPBrtRPECgYEAiui/7fSMB/vI9iGNBFA0yvOR6sRYEtHSHXFC +kNMBTm+Y4wzmi1H9Ztgv8hu+1k9+zazmSr4ITK9MYY48osQHVunOEutC0pygPO/T +zLMBoSGIKiEKkQyUpO4yy2Cb3rfBSQD7TNePIHwGN022lw8YAnCgiqHfkWq78CA6 +nyrAFeMCgYBDciC+Haz5Z38qzUrHYeTpFnUzKn6JW9RezCD61+LGHnhSaIm+9SsR +gtyzSr8K1btoMxKjZeGc0zbYvgtbZFviUtb1ixevqI2K58IT/vPELxlE4AYq5pZQ +/1/lITNjBLuAfZG7TCQK2JCPVGkTKpk9ewRXnfncfP2sFxVdYOFALQ== +-----END RSA PRIVATE KEY----- diff --git a/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-senao-iap4300m.dts b/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-senao-iap4300m.dts new file mode 100644 index 000000000..b4a8f381f --- /dev/null +++ b/feeds/mediatek-sdk/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-senao-iap4300m.dts @@ -0,0 +1,413 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright (C) 2021 MediaTek Inc. + * Author: Sam.Shih + */ + +/dts-v1/; +#include "mt7986a.dtsi" +#include +#include +/ { + model = "SENAO IAP4300M"; + compatible = "senao,iap4300m", "mediatek,mt7986a"; + + aliases { + led-boot = &led_green; + led-failsafe = &led_green; + led-running = &led_green; + led-upgrade = &led_green; + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + memory { + reg = <0 0x40000000 0 0x40000000>; + }; + + reg_1p8v: regulator-1p8v { + compatible = "regulator-fixed"; + regulator-name = "fixed-1.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + reg_3p3v: regulator-3p3v { + compatible = "regulator-fixed"; + regulator-name = "fixed-3.3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + reg_5v: regulator-5v { + compatible = "regulator-fixed"; + regulator-name = "fixed-5V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-boot-on; + regulator-always-on; + }; + + gpio-keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&pio 9 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_green: led@0 { + label = "green:power"; + gpios = <&pio 10 GPIO_ACTIVE_LOW>; + }; + + led@1 { + label = "wan"; + gpios = <&pio 15 GPIO_ACTIVE_LOW>; + }; + + led@2 { + label = "wifi5"; + gpios = <&pio 14 GPIO_ACTIVE_LOW>; + }; + led@3 { + label = "wifi2"; + gpios = <&pio 13 GPIO_ACTIVE_LOW>; + }; + }; +}; + +ð { + status = "okay"; + + gmac1: mac@1 { + compatible = "mediatek,eth-mac"; + reg = <1>; + phy-mode = "2500base-x"; + }; + + mdio: mdio-bus { + #address-cells = <1>; + #size-cells = <0>; + }; +}; + +&watchdog { + status = "okay"; +}; + +&wbsys { + status = "okay"; + mediatek,mtd-eeprom = <&factory 0x0000>; + pinctrl-names = "default", "dbdc"; + pinctrl-0 = <&wf_2g_5g_pins>; + pinctrl-1 = <&wf_dbdc_pins>; + clocks = <&topckgen CLK_TOP_CONN_MCUSYS_SEL>, + <&topckgen CLK_TOP_AP2CNN_HOST_SEL>; + clock-names = "mcu", "ap2conn"; + +}; + +&mdio { + phy6: phy@6 { + compatible = "ethernet-phy-ieee802.3-c45"; + reg = <6>; + reset-gpios = <&pio 6 1>; + reset-deassert-us = <20000>; + }; +}; + +&crypto { + status = "okay"; +}; + +&mmc0 { + pinctrl-names = "default", "state_uhs"; + pinctrl-0 = <&mmc0_pins_default>; + pinctrl-1 = <&mmc0_pins_uhs>; + bus-width = <8>; + max-frequency = <200000000>; + cap-mmc-highspeed; + mmc-hs200-1_8v; + mmc-hs400-1_8v; + hs400-ds-delay = <0x14014>; + vmmc-supply = <®_3p3v>; + vqmmc-supply = <®_1p8v>; + non-removable; + no-sd; + no-sdio; + status = "okay"; +}; + +&pcie0 { + pinctrl-names = "default"; + pinctrl-0 = <&pcie_pins>; + status = "okay"; +}; + +&pio { + mmc0_pins_default: mmc0-pins { + mux { + function = "emmc"; + groups = "emmc_51"; + }; + conf-cmd-dat { + pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2", + "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5", + "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD"; + input-enable; + drive-strength = <4>; + mediatek,pull-up-adv = <1>; /* pull-up 10K */ + }; + conf-clk { + pins = "EMMC_CK"; + drive-strength = <6>; + mediatek,pull-down-adv = <2>; /* pull-down 50K */ + }; + conf-ds { + pins = "EMMC_DSL"; + mediatek,pull-down-adv = <2>; /* pull-down 50K */ + }; + conf-rst { + pins = "EMMC_RSTB"; + drive-strength = <4>; + mediatek,pull-up-adv = <1>; /* pull-up 10K */ + }; + }; + + mmc0_pins_uhs: mmc0-uhs-pins { + mux { + function = "emmc"; + groups = "emmc_51"; + }; + conf-cmd-dat { + pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2", + "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5", + "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD"; + input-enable; + drive-strength = <4>; + mediatek,pull-up-adv = <1>; /* pull-up 10K */ + }; + conf-clk { + pins = "EMMC_CK"; + drive-strength = <6>; + mediatek,pull-down-adv = <2>; /* pull-down 50K */ + }; + conf-ds { + pins = "EMMC_DSL"; + mediatek,pull-down-adv = <2>; /* pull-down 50K */ + }; + conf-rst { + pins = "EMMC_RSTB"; + drive-strength = <4>; + mediatek,pull-up-adv = <1>; /* pull-up 10K */ + }; + }; + + pcie_pins: pcie0-pins-9-10-41 { + mux { + function = "pcie"; + groups = "pcie_clk", "pcie_wake", "pcie_pereset"; + }; + }; + + spic_pins_g2: spic-pins-29-to-32 { + mux { + function = "spi"; + groups = "spi1_2"; + }; + }; + + spi_flash_pins: spi-flash-pins-33-to-38 { + mux { + function = "spi"; + groups = "spi0", "spi0_wp_hold"; + }; + conf-pu { + pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP"; + drive-strength = <8>; + mediatek,pull-up-adv = <0>; /* bias-disable */ + }; + conf-pd { + pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO"; + drive-strength = <8>; + mediatek,pull-down-adv = <0>; /* bias-disable */ + }; + }; + + uart1_pins: uart1-pins { + mux { + function = "uart"; + groups = "uart1"; + }; + }; + + uart2_pins: uart2-pins { + mux { + function = "uart"; + groups = "uart2"; + }; + }; + + wf_2g_5g_pins: wf_2g_5g-pins { + mux { + function = "wifi"; + groups = "wf_2g", "wf_5g"; + }; + conf { + pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", + "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", + "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", + "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", + "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", + "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", + "WF1_TOP_CLK", "WF1_TOP_DATA"; + drive-strength = ; + }; + }; + + wf_dbdc_pins: wf_dbdc-pins { + mux { + function = "wifi"; + groups = "wf_dbdc"; + }; + conf { + pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", + "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", + "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", + "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", + "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", + "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", + "WF1_TOP_CLK", "WF1_TOP_DATA"; + drive-strength = ; + }; + }; +}; + +&spi0 { + pinctrl-names = "default"; + pinctrl-0 = <&spi_flash_pins>; + cs-gpios = <0>, <0>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; +}; + +&spi0 { + status = "okay"; + + spi_nand: spi_nand@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spi-nand"; + reg = <1>; + spi-max-frequency = <10000000>; + spi-tx-buswidth = <4>; + spi-rx-buswidth = <4>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "BL2"; //1024KB + reg = <0x00000 0x0100000>; + read-only; + }; + + partition@100000 { + label = "u-boot-env"; //512KB + reg = <0x0100000 0x0080000>; + }; + + factory: partition@180000 { + label = "Factory"; //2048KB + reg = <0x180000 0x0200000>; + }; + + partition@380000 { + label = "FIP"; //2048KB + reg = <0x380000 0x0200000>; + }; + + partition@580000 { + label = "ubi"; //110MB + reg = <0x580000 0x6E00000>; + }; + + partition@7380000 { + label = "ubi_1"; //110MB + reg = <0x7380000 0x6E00000>; + }; + + partition@E180000 { + label = "cert"; //384KB + reg = <0xE180000 0x0060000>; + }; + + partition@E1E0000 { + label = "userconfig"; //640KB + reg = <0xE1E0000 0x00a0000>; + }; + + partition@E280000 { + label = "crashdump"; //384KB + reg = <0xE280000 0x0060000>; + }; + + }; + }; +}; + +&spi1 { + pinctrl-names = "default"; + pinctrl-0 = <&spic_pins_g2>; + status = "okay"; + + proslic_spi: proslic_spi@0 { + compatible = "silabs,proslic_spi"; + reg = <0>; + spi-max-frequency = <10000000>; + spi-cpha = <1>; + spi-cpol = <1>; + channel_count = <1>; + debug_level = <4>; /* 1 = TRC, 2 = DBG, 4 = ERR */ + reset_gpio = <&pio 7 0>; + ig,enable-spi = <1>; /* 1: Enable, 0: Disable */ + }; +}; + +&gmac1 { + phy-mode = "2500base-x"; + phy-connection-type = "2500base-x"; + phy-handle = <&phy6>; +}; + +&uart0 { + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; + status = "okay"; +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2_pins>; + status = "okay"; +}; diff --git a/feeds/mediatek-sdk/mediatek/files-5.4/include/dt-bindings/clock/mt7986-clk.h b/feeds/mediatek-sdk/mediatek/files-5.4/include/dt-bindings/clock/mt7986-clk.h index 284b0bdcf..dcb3bdca5 100644 --- a/feeds/mediatek-sdk/mediatek/files-5.4/include/dt-bindings/clock/mt7986-clk.h +++ b/feeds/mediatek-sdk/mediatek/files-5.4/include/dt-bindings/clock/mt7986-clk.h @@ -109,6 +109,7 @@ #define CK_TOP_F26M 48 #define CK_TOP_AUD_L 49 #define CK_TOP_A_TUNER 50 +#define CLK_TOP_CONN_MCUSYS_SEL 50 #define CK_TOP_U2U3_REF 51 #define CK_TOP_U2U3_SYS 52 #define CK_TOP_U2U3_XHCI 53 @@ -121,6 +122,7 @@ #define CK_TOP_PWM_SEL 60 #define CK_TOP_I2C_SEL 61 #define CK_TOP_PEXTP_TL_SEL 62 +#define CLK_TOP_AP2CNN_HOST_SEL 62 #define CK_TOP_EMMC_250M_SEL 63 #define CK_TOP_EMMC_416M_SEL 64 #define CK_TOP_F_26M_ADC_SEL 65 diff --git a/feeds/mediatek-sdk/mediatek/image/mt7986.mk b/feeds/mediatek-sdk/mediatek/image/mt7986.mk index 0c62ce559..c1f741c3b 100644 --- a/feeds/mediatek-sdk/mediatek/image/mt7986.mk +++ b/feeds/mediatek-sdk/mediatek/image/mt7986.mk @@ -1,5 +1,27 @@ KERNEL_LOADADDR := 0x48080000 +define Build/fit-sign + $(TOPDIR)/scripts/mkits-secure_boot.sh \ + -D $(DEVICE_NAME) \ + -o $@.its \ + -k $@ \ + $(if $(word 2,$(1)),-d $(word 2,$(1))) -C $(word 1,$(1)) \ + -a $(KERNEL_LOADADDR) \ + -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + -c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config-1") \ + -A $(LINUX_KARCH) \ + -v $(LINUX_VERSION) \ + $(if $(FIT_KEY_NAME),-S $(FIT_KEY_NAME)) \ + $(if $(FW_AR_VER),-r $(FW_AR_VER)) \ + $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),-R $(ROOTFS/squashfs/$(DEVICE_NAME))) + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage \ + -f $@.its \ + $(if $(FIT_KEY_DIR),-k $(FIT_KEY_DIR)) \ + -r \ + $@.new + @mv $@.new $@ +endef + define Device/mt7986a-ax6000-spim-nor-rfb DEVICE_VENDOR := MediaTek DEVICE_MODEL := mt7986a-ax6000-spim-nor-rfb @@ -413,3 +435,28 @@ define Device/mediatek_mt7986-fpga-ubi IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata endef TARGET_DEVICES += mediatek_mt7986-fpga-ubi + +define Device/senao_iap4300m + DEVICE_VENDOR := SENAO + DEVICE_MODEL := IAP4300M + DEVICE_DTS := mt7986a-senao-iap4300m + DEVICE_PACKAGES := kmod-mt7986-firmware kmod-crypto-hw-safexcel kmod-mt7915e wpad-basic-mbedtls uboot-envtools -procd-ujail + DEVICE_DTS_DIR := $(DTS_DIR)/mediatek + SUPPORTED_DEVICES := senao,iap4300m + UBINIZE_OPTS := -E 5 + BLOCKSIZE := 128k + PAGESIZE := 2048 + IMAGE_SIZE := 65536k + KERNEL_IN_UBI := 1 + FIT_KEY_DIR := $(DTS_DIR)/mediatek/keys/senao_iap4300m + FIT_KEY_NAME := fit_key + IMAGES += factory.bin + IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE) + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + KERNEL = kernel-bin | lzma | \ + fit-sign lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb + KERNEL_INITRAMFS = kernel-bin | lzma | \ + fit-sign lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd +endef +TARGET_DEVICES += senao_iap4300m +DEFAULT_DEVICE_VARS += FIT_KEY_DIR FIT_KEY_NAME diff --git a/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/board.d/01_leds b/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/board.d/01_leds new file mode 100755 index 000000000..7d09edbf9 --- /dev/null +++ b/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/board.d/01_leds @@ -0,0 +1,18 @@ +. /lib/functions/leds.sh +. /lib/functions/uci-defaults.sh + +board=$(board_name) + +board_config_update + +case $board in + senao,iap4300m) + ucidef_set_led_wlan "wlan5g" "WLAN5G" "wifi5" "phy1tpt" + ucidef_set_led_wlan "wlan2g" "WLAN2G" "wifi2" "phy0tpt" + ucidef_set_led_netdev "poe" "poe" "wan" "eth0" + ;; +esac + +board_config_flush + +exit 0 diff --git a/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/board.d/02_network b/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/board.d/02_network index 0b61e5000..aeb853805 100755 --- a/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/board.d/02_network +++ b/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/board.d/02_network @@ -19,6 +19,9 @@ mediatek_setup_interfaces() ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "6u@eth0" ;; + senao,iap4300m) + ucidef_set_interface_wan "eth0" + ;; *) ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3 lan4 lan5" eth1 ;; @@ -35,6 +38,9 @@ mediatek_setup_macs() local wan_mac_offset="" case $board in + senao,iap4300m) + up_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) + ;; *) lan_mac_offset="0x2A" wan_mac_offset="0x24" @@ -59,6 +65,14 @@ mediatek_setup_macs() [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" "$wan_mac" ;; esac + + case "$up_mac" in + 00:00:00:00:00:00);; + ff:ff:ff:ff:ff:ff);; + *) + [ -n "$up_mac" ] && ucidef_set_interface_macaddr "up" "$up_mac" + ;; + esac } board_config_update diff --git a/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac b/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac new file mode 100644 index 000000000..ce8eeec5a --- /dev/null +++ b/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac @@ -0,0 +1,18 @@ +[ "$ACTION" == "add" ] || exit 0 + +PHYNBR=${DEVPATH##*/phy} + +[ -n $PHYNBR ] || exit 0 + +. /lib/functions.sh +. /lib/functions/system.sh + +board=$(board_name) + +case "$board" in + senao,iap4300m) + hw_mac_addr=$(mtd_get_mac_ascii u-boot-env ethaddr) + [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress + [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress + ;; +esac diff --git a/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/uci-defaults/30_uboot-envtools b/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/uci-defaults/30_uboot-envtools new file mode 100644 index 000000000..8598fd708 --- /dev/null +++ b/feeds/mediatek-sdk/mediatek/mt7986/base-files/etc/uci-defaults/30_uboot-envtools @@ -0,0 +1,24 @@ +# +# Copyright (C) 2021 OpenWrt.org +# + +[ -e /etc/config/ubootenv ] && exit 0 + +touch /etc/config/ubootenv + +. /lib/uboot-envtools.sh +. /lib/functions.sh + +board=$(board_name) + +case "$board" in + senao,iap4300m) + local envdev=/dev/mtd$(find_mtd_index "u-boot-env") + ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" + ;; +esac + +config_load ubootenv +config_foreach ubootenv_add_app_config + +exit 0 diff --git a/feeds/mediatek-sdk/mediatek/mt7986/base-files/lib/upgrade/nand.sh b/feeds/mediatek-sdk/mediatek/mt7986/base-files/lib/upgrade/nand.sh new file mode 100644 index 000000000..f16cedc30 --- /dev/null +++ b/feeds/mediatek-sdk/mediatek/mt7986/base-files/lib/upgrade/nand.sh @@ -0,0 +1,487 @@ +# Copyright (C) 2014 OpenWrt.org +# + +. /lib/functions.sh + +# 'kernel' partition or UBI volume on NAND contains the kernel +CI_KERNPART="${CI_KERNPART:-kernel}" + +# 'ubi' partition on NAND contains UBI +# There are also CI_KERN_UBIPART and CI_ROOT_UBIPART if kernel +# and rootfs are on separated UBIs. +CI_UBIPART="${CI_UBIPART:-ubi}" + +# 'rootfs' UBI volume on NAND contains the rootfs +CI_ROOTPART="${CI_ROOTPART:-rootfs}" + +# update uboot-env if upgrade suceeded +CI_FWSETENV= + +ubi_mknod() { + local dir="$1" + local dev="/dev/$(basename $dir)" + + [ -e "$dev" ] && return 0 + + local devid="$(cat $dir/dev)" + local major="${devid%%:*}" + local minor="${devid##*:}" + mknod "$dev" c $major $minor +} + +nand_find_volume() { + local ubidevdir ubivoldir + ubidevdir="/sys/class/ubi/" + [ ! -d "$ubidevdir" ] && return 1 + for ubivoldir in $ubidevdir/${1}_*; do + [ ! -d "$ubivoldir" ] && continue + if [ "$( cat $ubivoldir/name )" = "$2" ]; then + basename $ubivoldir + ubi_mknod "$ubivoldir" + return 0 + fi + done +} + +nand_find_ubi() { + local ubidevdir ubidev mtdnum cmtdnum + mtdnum="$( find_mtd_index $1 )" + [ ! "$mtdnum" ] && return 1 + for ubidevdir in /sys/class/ubi/ubi*; do + [ ! -e "$ubidevdir/mtd_num" ] && continue + cmtdnum="$( cat $ubidevdir/mtd_num )" + if [ "$mtdnum" = "$cmtdnum" ]; then + ubidev=$( basename $ubidevdir ) + ubi_mknod "$ubidevdir" + echo $ubidev + return 0 + fi + done +} + +nand_get_magic_long() { + (${3}cat "$1" | dd bs=4 "skip=${2:-0}" count=1 | hexdump -v -n 4 -e '1/1 "%02x"') 2> /dev/null +} + +get_magic_long_tar() { + (tar xO${3}f "$1" "$2" | dd bs=4 count=1 | hexdump -v -n 4 -e '1/1 "%02x"') 2> /dev/null +} + +identify() { + identify_magic_long $(nand_get_magic_long "$@") +} + +identify_tar() { + identify_magic_long $(get_magic_long_tar "$@") +} + +identify_if_gzip() { + if [ "$(identify "$1")" = gzip ]; then echo -n z; fi +} + +nand_restore_config() { + local ubidev=$( nand_find_ubi "${CI_ROOT_UBIPART:-$CI_UBIPART}" ) + local ubivol="$( nand_find_volume $ubidev rootfs_data )" + if [ ! "$ubivol" ]; then + ubivol="$( nand_find_volume $ubidev "$CI_ROOTPART" )" + if [ ! "$ubivol" ]; then + echo "cannot find ubifs data volume" + return 1 + fi + fi + mkdir /tmp/new_root + if ! mount -t ubifs /dev/$ubivol /tmp/new_root; then + echo "cannot mount ubifs volume $ubivol" + rmdir /tmp/new_root + return 1 + fi + if mv "$1" "/tmp/new_root/$BACKUP_FILE"; then + if umount /tmp/new_root; then + echo "configuration saved" + rmdir /tmp/new_root + return 0 + fi + else + umount /tmp/new_root + fi + echo "could not save configuration to ubifs volume $ubivol" + rmdir /tmp/new_root + return 1 +} + +nand_remove_ubiblock() { + local ubivol="$1" + + local ubiblk="ubiblock${ubivol:3}" + if [ -e "/dev/$ubiblk" ]; then + umount "/dev/$ubiblk" && echo "unmounted /dev/$ubiblk" || : + if ! ubiblock -r "/dev/$ubivol"; then + echo "cannot remove $ubiblk" + return 1 + fi + fi +} + +nand_attach_ubi() { + local ubipart="$1" + local has_env="${2:-0}" + + local mtdnum="$( find_mtd_index "$ubipart" )" + if [ ! "$mtdnum" ]; then + >&2 echo "cannot find ubi mtd partition $ubipart" + return 1 + fi + + local ubidev="$( nand_find_ubi "$ubipart" )" + if [ ! "$ubidev" ]; then + >&2 ubiattach -m "$mtdnum" + ubidev="$( nand_find_ubi "$ubipart" )" + + if [ ! "$ubidev" ]; then + >&2 ubiformat /dev/mtd$mtdnum -y + >&2 ubiattach -m "$mtdnum" + ubidev="$( nand_find_ubi "$ubipart" )" + + if [ ! "$ubidev" ]; then + >&2 echo "cannot attach ubi mtd partition $ubipart" + return 1 + fi + + if [ "$has_env" -gt 0 ]; then + >&2 ubimkvol /dev/$ubidev -n 0 -N ubootenv -s 1MiB + >&2 ubimkvol /dev/$ubidev -n 1 -N ubootenv2 -s 1MiB + fi + fi + fi + + echo "$ubidev" + return 0 +} + +nand_detach_ubi() { + local ubipart="$1" + + local mtdnum="$( find_mtd_index "$ubipart" )" + if [ ! "$mtdnum" ]; then + echo "cannot find ubi mtd partition $ubipart" + return 1 + fi + + local ubidev="$( nand_find_ubi "$ubipart" )" + if [ "$ubidev" ]; then + for ubivol in $(find /dev -name "${ubidev}_*" -maxdepth 1 | sort); do + ubivol="${ubivol:5}" + nand_remove_ubiblock "$ubivol" || : + umount "/dev/$ubivol" && echo "unmounted /dev/$ubivol" || : + done + if ! ubidetach -m "$mtdnum"; then + echo "cannot detach ubi mtd partition $ubipart" + return 1 + fi + fi +} + +nand_upgrade_prepare_ubi() { + local rootfs_length="$1" + local rootfs_type="$2" + local rootfs_data_max="$(fw_printenv -n rootfs_data_max 2> /dev/null)" + [ -n "$rootfs_data_max" ] && rootfs_data_max=$((rootfs_data_max)) + + local kernel_length="$3" + local has_env="${4:-0}" + local kern_ubidev + local root_ubidev + + [ -n "$rootfs_length" -o -n "$kernel_length" ] || return 1 + + if [ -n "$CI_KERN_UBIPART" -a -n "$CI_ROOT_UBIPART" ]; then + kern_ubidev="$( nand_attach_ubi "$CI_KERN_UBIPART" "$has_env" )" + [ -n "$kern_ubidev" ] || return 1 + root_ubidev="$( nand_attach_ubi "$CI_ROOT_UBIPART" )" + [ -n "$root_ubidev" ] || return 1 + else + kern_ubidev="$( nand_attach_ubi "$CI_UBIPART" "$has_env" )" + [ -n "$kern_ubidev" ] || return 1 + root_ubidev="$kern_ubidev" + fi + + local kern_ubivol="$( nand_find_volume $kern_ubidev "$CI_KERNPART" )" + local root_ubivol="$( nand_find_volume $root_ubidev "$CI_ROOTPART" )" + local data_ubivol="$( nand_find_volume $root_ubidev rootfs_data )" + [ "$root_ubivol" = "$kern_ubivol" ] && root_ubivol= + + # remove ubiblocks + [ "$kern_ubivol" ] && { nand_remove_ubiblock $kern_ubivol || return 1; } + [ "$root_ubivol" ] && { nand_remove_ubiblock $root_ubivol || return 1; } + [ "$data_ubivol" ] && { nand_remove_ubiblock $data_ubivol || return 1; } + + # kill volumes + [ "$kern_ubivol" ] && ubirmvol /dev/$kern_ubidev -N "$CI_KERNPART" || : + [ "$root_ubivol" ] && ubirmvol /dev/$root_ubidev -N "$CI_ROOTPART" || : + [ "$data_ubivol" ] && ubirmvol /dev/$root_ubidev -N rootfs_data || : + + # create kernel vol + if [ -n "$kernel_length" ]; then + if ! ubimkvol /dev/$kern_ubidev -N "$CI_KERNPART" -s $kernel_length; then + echo "cannot create kernel volume" + return 1; + fi + fi + + # create rootfs vol + if [ -n "$rootfs_length" ]; then + local rootfs_size_param + if [ "$rootfs_type" = "ubifs" ]; then + rootfs_size_param="-m" + else + rootfs_size_param="-s $rootfs_length" + fi + if ! ubimkvol /dev/$root_ubidev -N "$CI_ROOTPART" $rootfs_size_param; then + echo "cannot create rootfs volume" + return 1; + fi + fi + + # create rootfs_data vol for non-ubifs rootfs + if [ "$rootfs_type" != "ubifs" ]; then + local rootfs_data_size_param="-m" + if [ -n "$rootfs_data_max" ]; then + rootfs_data_size_param="-s $rootfs_data_max" + fi + if ! ubimkvol /dev/$root_ubidev -N rootfs_data $rootfs_data_size_param; then + if ! ubimkvol /dev/$root_ubidev -N rootfs_data -m; then + echo "cannot initialize rootfs_data volume" + return 1 + fi + fi + fi + + return 0 +} + +# Write the UBI image to MTD ubi partition +nand_upgrade_ubinized() { + local ubi_file="$1" + local gz="$2" + + local ubi_length=$( (${gz}cat "$ubi_file" | wc -c) 2> /dev/null) + + nand_detach_ubi "$CI_UBIPART" || return 1 + + local mtdnum="$( find_mtd_index "$CI_UBIPART" )" + ${gz}cat "$ubi_file" | ubiformat "/dev/mtd$mtdnum" -S "$ubi_length" -y -f - && ubiattach -m "$mtdnum" +} + +# Write the UBIFS image to UBI rootfs volume +nand_upgrade_ubifs() { + local ubifs_file="$1" + local gz="$2" + + local ubifs_length=$( (${gz}cat "$ubifs_file" | wc -c) 2> /dev/null) + + nand_upgrade_prepare_ubi "$ubifs_length" "ubifs" "" "" || return 1 + + local ubidev="$( nand_find_ubi "$CI_UBIPART" )" + local root_ubivol="$(nand_find_volume $ubidev "$CI_ROOTPART")" + ${gz}cat "$ubifs_file" | ubiupdatevol /dev/$root_ubivol -s "$ubifs_length" - +} + +# Write the FIT image to UBI kernel volume +nand_upgrade_fit() { + local fit_file="$1" + local gz="$2" + + local fit_length=$( (${gz}cat "$fit_file" | wc -c) 2> /dev/null) + + nand_upgrade_prepare_ubi "" "" "$fit_length" "1" || return 1 + + local fit_ubidev="$(nand_find_ubi "$CI_UBIPART")" + local fit_ubivol="$(nand_find_volume $fit_ubidev "$CI_KERNPART")" + ${gz}cat "$fit_file" | ubiupdatevol /dev/$fit_ubivol -s "$fit_length" - +} + +# Write images in the TAR file to MTD partitions and/or UBI volumes as required +nand_upgrade_tar() { + local tar_file="$1" + local gz="$2" + local jffs2_markers="${CI_JFFS2_CLEAN_MARKERS:-0}" + + # WARNING: This fails if tar contains more than one 'sysupgrade-*' directory. + local board_dir="$(tar t${gz}f "$tar_file" | grep -m 1 '^sysupgrade-.*/$')" + board_dir="${board_dir%/}" + + local kernel_mtd kernel_length + if [ "$CI_KERNPART" != "none" ]; then + kernel_mtd="$(find_mtd_index "$CI_KERNPART")" + kernel_length=$( (tar xO${gz}f "$tar_file" "$board_dir/kernel" | wc -c) 2> /dev/null) + [ "$kernel_length" = 0 ] && kernel_length= + fi + local rootfs_length=$( (tar xO${gz}f "$tar_file" "$board_dir/root" | wc -c) 2> /dev/null) + [ "$rootfs_length" = 0 ] && rootfs_length= + local rootfs_type + [ "$rootfs_length" ] && rootfs_type="$(identify_tar "$tar_file" "$board_dir/root" "$gz")" + + local ubi_kernel_length + if [ "$kernel_length" ]; then + if [ "$kernel_mtd" ]; then + # On some devices, the raw kernel and ubi partitions overlap. + # These devices brick if the kernel partition is erased. + # Hence only invalidate kernel for now. + dd if=/dev/zero bs=4096 count=1 2> /dev/null | \ + mtd write - "$CI_KERNPART" + else + ubi_kernel_length="$kernel_length" + fi + fi + + local has_env=0 + nand_upgrade_prepare_ubi "$rootfs_length" "$rootfs_type" "$ubi_kernel_length" "$has_env" || return 1 + + if [ "$rootfs_length" ]; then + local ubidev="$( nand_find_ubi "${CI_ROOT_UBIPART:-$CI_UBIPART}" )" + local root_ubivol="$( nand_find_volume $ubidev "$CI_ROOTPART" )" + tar xO${gz}f "$tar_file" "$board_dir/root" | \ + ubiupdatevol /dev/$root_ubivol -s "$rootfs_length" - + fi + if [ "$kernel_length" ]; then + if [ "$kernel_mtd" ]; then + if [ "$jffs2_markers" = 1 ]; then + flash_erase -j "/dev/mtd${kernel_mtd}" 0 0 + tar xO${gz}f "$tar_file" "$board_dir/kernel" | \ + nandwrite "/dev/mtd${kernel_mtd}" - + else + tar xO${gz}f "$tar_file" "$board_dir/kernel" | \ + mtd write - "$CI_KERNPART" + fi + else + local ubidev="$( nand_find_ubi "${CI_KERN_UBIPART:-$CI_UBIPART}" )" + local kern_ubivol="$( nand_find_volume $ubidev "$CI_KERNPART" )" + tar xO${gz}f "$tar_file" "$board_dir/kernel" | \ + ubiupdatevol /dev/$kern_ubivol -s "$kernel_length" - + fi + fi + + return 0 +} + +nand_verify_if_gzip_file() { + local file="$1" + local gz="$2" + + if [ "$gz" = z ]; then + echo "verifying compressed sysupgrade file integrity" + if ! gzip -t "$file"; then + echo "corrupted compressed sysupgrade file" + return 1 + fi + fi +} + +nand_verify_tar_file() { + local file="$1" + local gz="$2" + + echo "verifying sysupgrade tar file integrity" + if ! tar xO${gz}f "$file" > /dev/null; then + echo "corrupted sysupgrade tar file" + return 1 + fi +} + +nand_do_flash_file() { + local file="$1" + + local gz="$(identify_if_gzip "$file")" + local file_type="$(identify "$file" "" "$gz")" + + [ ! "$(find_mtd_index "$CI_UBIPART")" ] && CI_UBIPART=rootfs + + case "$file_type" in + "fit") + nand_verify_if_gzip_file "$file" "$gz" || return 1 + nand_upgrade_fit "$file" "$gz" + ;; + "ubi") + nand_verify_if_gzip_file "$file" "$gz" || return 1 + nand_upgrade_ubinized "$file" "$gz" + ;; + "ubifs") + nand_verify_if_gzip_file "$file" "$gz" || return 1 + nand_upgrade_ubifs "$file" "$gz" + ;; + *) + nand_verify_tar_file "$file" "$gz" || return 1 + nand_upgrade_tar "$file" "$gz" + ;; + esac +} + +nand_do_restore_config() { + local conf_tar="/tmp/sysupgrade.tgz" + [ ! -f "$conf_tar" ] || nand_restore_config "$conf_tar" +} + +# Recognize type of passed file and start the upgrade process +nand_do_upgrade() { + local file="$1" + + sync + nand_do_flash_file "$file" && nand_do_upgrade_success + nand_do_upgrade_failed +} + +nand_do_upgrade_success() { + platform_post_upgrade_success + if nand_do_restore_config && sync; then + [ -n "$CI_FWSETENV" ] && fw_setenv $CI_FWSETENV + echo "sysupgrade successful" + umount -a + reboot -f + fi + nand_do_upgrade_failed +} + +nand_do_upgrade_failed() { + sync + echo "sysupgrade failed" + # Should we reboot or bring up some failsafe mode instead? + umount -a + reboot -f +} + +# Check if passed file is a valid one for NAND sysupgrade. +# Currently it accepts 4 types of files: +# 1) UBI: a ubinized image containing required UBI volumes. +# 2) UBIFS: a UBIFS rootfs volume image. +# 3) FIT: a FIT image containing kernel and rootfs. +# 4) TAR: an archive that includes directory "sysupgrade-${BOARD_NAME}" containing +# a non-empty "CONTROL" file and required partition and/or volume images. +# +# You usually want to call this function in platform_check_image. +# +# $(1): board name, used in case of passing TAR file +# $(2): file to be checked +nand_do_platform_check() { + local board_name="$1" + local file="$2" + + local gz="$(identify_if_gzip "$file")" + local file_type="$(identify "$file" "" "$gz")" + local control_length=$( (tar xO${gz}f "$file" "sysupgrade-${board_name//,/_}/CONTROL" | wc -c) 2> /dev/null) + + if [ "$control_length" = 0 ]; then + control_length=$( (tar xO${gz}f "$file" "sysupgrade-${board_name//_/,}/CONTROL" | wc -c) 2> /dev/null) + fi + + if [ "$control_length" != 0 ]; then + nand_verify_tar_file "$file" "$gz" || return 1 + else + nand_verify_if_gzip_file "$file" "$gz" || return 1 + if [ "$file_type" != "fit" -a "$file_type" != "ubi" -a "$file_type" != "ubifs" ]; then + echo "invalid sysupgrade file" + return 1 + fi + fi + + return 0 +} diff --git a/feeds/mediatek-sdk/mediatek/mt7986/base-files/lib/upgrade/platform.sh b/feeds/mediatek-sdk/mediatek/mt7986/base-files/lib/upgrade/platform.sh index 12aee089f..899b4771f 100644 --- a/feeds/mediatek-sdk/mediatek/mt7986/base-files/lib/upgrade/platform.sh +++ b/feeds/mediatek-sdk/mediatek/mt7986/base-files/lib/upgrade/platform.sh @@ -1,6 +1,18 @@ RAMFS_COPY_BIN='mkfs.f2fs blkid blockdev fw_printenv fw_setenv dmsetup' RAMFS_COPY_DATA="/etc/fw_env.config /var/lock/fw_printenv.lock" +senao_swap_active_fw() { + echo "Doing swap active_fw" > /dev/console + tmp_active_fw=$(fw_printenv -n active_fw) + if [ $tmp_active_fw == "0" ]; then + fw_setenv active_fw 1 + fw_setenv mtdparts nmbm0:1024k\(bl2\),512k\(u-boot-env\),2048k\(factory\),2048k\(fip\),112640k\(ubi_1\),112640k\(ubi\),384k\(cert\),640k\(userconfig\),384k\(crashdump\) + else + fw_setenv active_fw 0 + fw_setenv mtdparts nmbm0:1024k\(bl2\),512k\(u-boot-env\),2048k\(factory\),2048k\(fip\),112640k\(ubi\),112640k\(ubi_1\),384k\(cert\),640k\(userconfig\),384k\(crashdump\) + fi +} + platform_do_upgrade() { local board=$(board_name) @@ -11,6 +23,10 @@ platform_do_upgrade() { *emmc*) mtk_mmc_do_upgrade "$1" ;; + senao,iap4300m) + CI_UBIPART="ubi_1" + nand_do_upgrade "$1" + ;; *) default_do_upgrade "$1" ;; @@ -26,6 +42,7 @@ platform_check_image() { [ "$#" -gt 1 ] && return 1 case "$board" in + senao,iap4300m |\ *snand* |\ *emmc*) # tar magic `ustar` @@ -49,3 +66,13 @@ platform_check_image() { return 0 } + +platform_post_upgrade_success() { + local board=$(board_name) + + case "$board" in + senao,iap4300m) + senao_swap_active_fw + ;; + esac +} diff --git a/feeds/mediatek-sdk/mediatek/mt7986/config-5.4 b/feeds/mediatek-sdk/mediatek/mt7986/config-5.4 index 0fe4bcffc..4637a3a4e 100644 --- a/feeds/mediatek-sdk/mediatek/mt7986/config-5.4 +++ b/feeds/mediatek-sdk/mediatek/mt7986/config-5.4 @@ -568,3 +568,8 @@ CONFIG_WANT_DEV_COREDUMP=y CONFIG_VIRTIO_CONSOLE=n CONFIG_VIRTIO_NET=n CONFIG_VIRTIO_BLK=n +# CONFIG_NF_FLOW_TABLE_NETLINK is not set +# CONFIG_NET_DSA_TAG_AIROHA is not set +CONFIG_AN8855_GSW=y +# CONFIG_INIT_STACK_ALL is not set +# CONFIG_NET_DSA_AN8855 is not set diff --git a/patches/0075-Add-secure-boot-patch.patch b/patches/0075-Add-secure-boot-patch.patch new file mode 100644 index 000000000..382615595 --- /dev/null +++ b/patches/0075-Add-secure-boot-patch.patch @@ -0,0 +1,235 @@ +From 7206e3945d7ea71117c68401b2541578772758f8 Mon Sep 17 00:00:00 2001 +From: "steven.lin" +Date: Mon, 15 Jul 2024 11:36:04 +0800 +Subject: [PATCH] Add-secure-boot-patch.patch + +--- + scripts/mkits-secure_boot.sh | 212 +++++++++ + tools/Makefile | 1 + + tools/crc32sum/Makefile | 23 + + tools/crc32sum/src/Makefile | 18 + + tools/crc32sum/src/crc32sum.c | 282 ++++++++++++ + create mode 100755 scripts/mkits-secure_boot.sh + create mode 100644 tools/crc32sum/Makefile + create mode 100644 tools/crc32sum/src/Makefile + create mode 100644 tools/crc32sum/src/crc32sum.c + +diff --git a/scripts/mkits-secure_boot.sh b/scripts/mkits-secure_boot.sh +new file mode 100755 +index 0000000000..1c7f292618 +--- /dev/null ++++ b/scripts/mkits-secure_boot.sh +@@ -0,0 +1,212 @@ ++#!/bin/sh ++# ++# Licensed under the terms of the GNU GPL License version 2 or later. ++# ++# Author: Peter Tyser ++# ++# U-Boot firmware supports the booting of images in the Flattened Image ++# Tree (FIT) format. The FIT format uses a device tree structure to ++# describe a kernel image, device tree blob, ramdisk, etc. This script ++# creates an Image Tree Source (.its file) which can be passed to the ++# 'mkimage' utility to generate an Image Tree Blob (.itb file). The .itb ++# file can then be booted by U-Boot (or other bootloaders which support ++# FIT images). See doc/uImage.FIT/howto.txt in U-Boot source code for ++# additional information on FIT images. ++# ++ ++usage() { ++ printf "Usage: %s -A arch -C comp -a addr -e entry" "$(basename "$0")" ++ printf " -v version -k kernel [-D name -n address -d dtb] -o its_file" ++ printf " [-s script] [-S key_name_hint] [-r ar_ver] [-R rootfs]" ++ ++ printf "\n\t-A ==> set architecture to 'arch'" ++ printf "\n\t-C ==> set compression type 'comp'" ++ printf "\n\t-c ==> set config name 'config'" ++ printf "\n\t-a ==> set load address to 'addr' (hex)" ++ printf "\n\t-e ==> set entry point to 'entry' (hex)" ++ printf "\n\t-v ==> set kernel version to 'version'" ++ printf "\n\t-k ==> include kernel image 'kernel'" ++ printf "\n\t-D ==> human friendly Device Tree Blob 'name'" ++ printf "\n\t-n ==> fdt unit-address 'address'" ++ printf "\n\t-d ==> include Device Tree Blob 'dtb'" ++ printf "\n\t-o ==> create output file 'its_file'" ++ printf "\n\t-s ==> include u-boot script 'script'" ++ printf "\n\t-S ==> add signature at configurations and assign its key_name_hint by 'key_name_hint'" ++ printf "\n\t-r ==> set anti-rollback version to 'fw_ar_ver' (dec)" ++ printf "\n\t-R ==> specify rootfs file for embedding hash\n" ++ exit 1 ++} ++ ++FDTNUM=1 ++ ++while getopts ":A:a:c:C:D:d:e:k:n:o:v:s:S:r:R:" OPTION ++do ++ case $OPTION in ++ A ) ARCH=$OPTARG;; ++ a ) LOAD_ADDR=$OPTARG;; ++ c ) CONFIG=$OPTARG;; ++ C ) COMPRESS=$OPTARG;; ++ D ) DEVICE=$OPTARG;; ++ d ) DTB=$OPTARG;; ++ e ) ENTRY_ADDR=$OPTARG;; ++ k ) KERNEL=$OPTARG;; ++ n ) FDTNUM=$OPTARG;; ++ o ) OUTPUT=$OPTARG;; ++ v ) VERSION=$OPTARG;; ++ s ) UBOOT_SCRIPT=$OPTARG;; ++ S ) KEY_NAME_HINT=$OPTARG;; ++ r ) AR_VER=$OPTARG;; ++ R ) ROOTFS_FILE=$OPTARG;; ++ * ) echo "Invalid option passed to '$0' (options:$*)" ++ usage;; ++ esac ++done ++ ++# Make sure user entered all required parameters ++if [ -z "${ARCH}" ] || [ -z "${COMPRESS}" ] || [ -z "${LOAD_ADDR}" ] || \ ++ [ -z "${ENTRY_ADDR}" ] || [ -z "${VERSION}" ] || [ -z "${KERNEL}" ] || \ ++ [ -z "${OUTPUT}" ] || [ -z "${CONFIG}" ]; then ++ usage ++fi ++ ++ARCH_UPPER=$(echo "$ARCH" | tr '[:lower:]' '[:upper:]') ++ ++# Conditionally create fdt information ++if [ -n "${DTB}" ]; then ++ FDT_NODE=" ++ fdt-$FDTNUM { ++ description = \"${ARCH_UPPER} OpenWrt ${DEVICE} device tree blob\"; ++ data = /incbin/(\"${DTB}\"); ++ type = \"flat_dt\"; ++ arch = \"${ARCH}\"; ++ compression = \"none\"; ++ hash-1 { ++ algo = \"crc32\"; ++ }; ++ hash-2 { ++ algo = \"sha1\"; ++ }; ++ }; ++" ++ FDT_PROP="fdt = \"fdt-$FDTNUM\";" ++fi ++ ++# Conditionally create rootfs hash information ++if [ -f "${ROOTFS_FILE}" ]; then ++ ROOTFS_SIZE=$(stat -c %s ${ROOTFS_FILE}) ++ ++ ROOTFS_SHA1=$(sha1sum ${ROOTFS_FILE} | awk '{print "<0x"substr($0,1,8) " 0x"substr($0,9,8) " 0x"substr($0,17,8) " 0x"substr($0,25,8) " 0x"substr($0,33,8) ">"}') ++ ROOTFS_CRC32=$(crc32sum ${ROOTFS_FILE}) ++ ++ ROOTFS=" ++ rootfs { ++ size = <${ROOTFS_SIZE}>; ++ ++ hash-1 { ++ value = <0x${ROOTFS_CRC32}>; ++ algo = \"crc32\"; ++ }; ++ ++ hash-2 { ++ value = ${ROOTFS_SHA1}; ++ algo = \"sha1\"; ++ }; ++ }; ++" ++fi ++ ++# Conditionally create script information ++if [ -n "${UBOOT_SCRIPT}" ]; then ++ SCRIPT="\ ++ script-1 { ++ description = \"U-Boot Script\"; ++ data = /incbin/(\"${UBOOT_SCRIPT}\"); ++ type = \"script\"; ++ arch = \"${ARCH}\"; ++ os = \"linux\"; ++ load = <0>; ++ entry = <0>; ++ compression = \"none\"; ++ hash-1 { ++ algo = \"crc32\"; ++ }; ++ hash-2 { ++ algo = \"sha1\"; ++ }; ++ };\ ++" ++ LOADABLES="\ ++ loadables = \"script-1\";\ ++" ++ SIGN_IMAGES="\ ++ sign-images = \"fdt\", \"kernel\", \"loadables\";\ ++" ++else ++ SIGN_IMAGES="\ ++ sign-images = \"fdt\", \"kernel\";\ ++" ++fi ++ ++# Conditionally create signature information ++if [ -n "${KEY_NAME_HINT}" ]; then ++ SIGNATURE="\ ++ signature { ++ algo = \"sha1,rsa2048\"; ++ key-name-hint = \"${KEY_NAME_HINT}\"; ++${SIGN_IMAGES} ++ };\ ++" ++fi ++ ++# Conditionally create anti-rollback version information ++if [ -n "${AR_VER}" ]; then ++ FW_AR_VER="\ ++ fw_ar_ver = <${AR_VER}>;\ ++" ++fi ++ ++# Create a default, fully populated DTS file ++DATA="/dts-v1/; ++ ++/ { ++ description = \"${ARCH_UPPER} OpenWrt FIT (Flattened Image Tree)\"; ++ #address-cells = <1>; ++ ++ images { ++ kernel-1 { ++ description = \"${ARCH_UPPER} OpenWrt Linux-${VERSION}\"; ++ data = /incbin/(\"${KERNEL}\"); ++ type = \"kernel\"; ++ arch = \"${ARCH}\"; ++ os = \"linux\"; ++ compression = \"${COMPRESS}\"; ++ load = <${LOAD_ADDR}>; ++ entry = <${ENTRY_ADDR}>; ++ hash-1 { ++ algo = \"crc32\"; ++ }; ++ hash-2 { ++ algo = \"sha1\"; ++ }; ++ }; ++${FDT_NODE} ++${SCRIPT} ++ }; ++ ++${ROOTFS} ++ ++ configurations { ++ default = \"${CONFIG}\"; ++ ${CONFIG} { ++ description = \"OpenWrt\"; ++${FW_AR_VER} ++${LOADABLES} ++ kernel = \"kernel-1\"; ++ ${FDT_PROP} ++${SIGNATURE} ++ }; ++ }; ++};" ++ ++# Write .its file to disk ++echo "$DATA" > "${OUTPUT}" + diff --git a/profiles/senao_iap4300m.yml b/profiles/senao_iap4300m.yml new file mode 100644 index 000000000..bf3fb6b5d --- /dev/null +++ b/profiles/senao_iap4300m.yml @@ -0,0 +1,13 @@ +--- +profile: senao_iap4300m +target: mediatek +subtarget: mt7986 +description: Build image for the SENAO IAP4300M +image: bin/targets/mediatek/filogic/openwrt-mediatek-filogic-senao_iap4300m-squashfs-sysupgrade.bin +feeds: + - name: mediatek + path: ../../feeds/mediatek-sdk +packages: + - mediatek +include: + - ucentral-ap From 621e9a455156e761a662af630e81f299e5ab3530 Mon Sep 17 00:00:00 2001 From: jackcybertan Date: Mon, 23 Sep 2024 09:59:36 +0000 Subject: [PATCH 8/9] ipq50xx: RAP630 series support PWM-LED Fixes: WIFI-14153 Signed-off-by: jackcybertan --- .../ipq50xx/base-files/etc/board.d/01_leds | 4 + feeds/ipq807x_v5.4/ipq50xx/config-5.4 | 1 + .../dts/qcom/qcom-ipq5018-rap630c-311g.dts | 85 +++++++++---------- .../dts/qcom/qcom-ipq5018-rap630w-311g.dts | 61 +++++++------ .../402-pinctrl-ipq5018-pwm-group-add.patch | 69 +++++++++++++++ 5 files changed, 152 insertions(+), 68 deletions(-) mode change 100644 => 100755 feeds/ipq807x_v5.4/ipq50xx/config-5.4 mode change 100644 => 100755 feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630c-311g.dts mode change 100644 => 100755 feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630w-311g.dts create mode 100755 feeds/ipq807x_v5.4/ipq50xx/patches/402-pinctrl-ipq5018-pwm-group-add.patch diff --git a/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/01_leds b/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/01_leds index 85158088b..8c8ec1846 100755 --- a/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/01_leds +++ b/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/01_leds @@ -24,6 +24,10 @@ cybertan,eww631-a1|\ cybertan,eww631-b1) ucidef_set_led_default "power" "POWER" "sys:blue" "on" ;; +sonicfi,rap630c-311g|\ +sonicfi,rap630w-311g) + ucidef_set_led_default "power" "POWER" "pwm:blue" "on" + ;; edgecore,oap101|\ edgecore,oap101-6e|\ edgecore,oap101e|\ diff --git a/feeds/ipq807x_v5.4/ipq50xx/config-5.4 b/feeds/ipq807x_v5.4/ipq50xx/config-5.4 old mode 100644 new mode 100755 index fb34d99e0..0b3c034fa --- a/feeds/ipq807x_v5.4/ipq50xx/config-5.4 +++ b/feeds/ipq807x_v5.4/ipq50xx/config-5.4 @@ -1264,3 +1264,4 @@ CONFIG_PSTORE_PMSG=y CONFIG_PSTORE_RAM=y CONFIG_LEDS_TRIGGER_PATTERN=y CONFIG_RTL8367C_PHY=y +CONFIG_LEDS_PWM=y diff --git a/feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630c-311g.dts b/feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630c-311g.dts old mode 100644 new mode 100755 index 10cc3a416..790157404 --- a/feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630c-311g.dts +++ b/feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630c-311g.dts @@ -31,6 +31,8 @@ serial1 = &blsp1_uart2; ethernet0 = "/soc/dp1"; ethernet1 = "/soc/dp2"; + + /* led-boot = &led_blue; */ }; chosen { @@ -577,29 +579,59 @@ bias-pull-down; }; }; - leds_pins: leds_pinmux { - sys_blue { + pwm_pins: pwm_pinmux { + mux_1 { pins = "gpio30"; - function = "gpio"; + function = "pwm3"; drive-strength = <8>; - bias-pull-up; }; - sys_red { + mux_2 { pins = "gpio36"; - function = "gpio"; + function = "pwm1"; drive-strength = <8>; - bias-disable; }; - sys_green { + mux_3 { pins = "gpio37"; - function = "gpio"; + function = "pwm2"; drive-strength = <8>; - bias-disable; }; }; }; &soc { + pwm: pwm@0x1941010 { + used-pwm-indices = <0>, <1>, <1>, <1>; + pinctrl-0 = <&pwm_pins>; + pinctrl-names = "default"; + #pwm-cells = <2>; + status = "ok"; + }; + + /* Use PWM LED driver to control LED through PWM, make sure CONFIG_LEDS_PWM is enabled */ + pwmleds { + compatible = "pwm-leds"; + + red { + label = "pwm:red"; + pwms = <&pwm 1 1250000>; + max-brightness = <1>; + linux,default-trigger = "none"; + }; + + green { + label = "pwm:green"; + pwms = <&pwm 2 1250000>; + max-brightness = <1>; + linux,default-trigger = "none"; + }; + + led_blue: blue { + label = "pwm:blue"; + pwms = <&pwm 3 1250000>; + max-brightness = <1>; + linux,default-trigger = "timer"; + }; + }; gpio_keys { compatible = "gpio-keys"; pinctrl-0 = <&button_pins>; @@ -613,39 +645,6 @@ debounce-interval = <60>; }; }; - gpio_leds { - compatible = "gpio-leds"; - pinctrl-0 = <&leds_pins>; - pinctrl-names = "default"; - - led@30 { - label = "sys:blue"; - gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; /* GPIO_30 */ - default-state="on"; - /* linux,default-trigger = "timer"; - active-delay = <700>; - inactive-delay = <700>; - default-state="on"; */ - }; - led@36 { - label = "sys:red"; - gpios = <&tlmm 36 GPIO_ACTIVE_HIGH>; /* GPIO_36 */ - default-state="off"; - /* linux,default-trigger = "timer"; - active-delay = <700>; - inactive-delay = <700>; - default-state="on"; */ - }; - led@37 { - label = "sys:green"; - gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; /* GPIO_37 */ - default-state="off"; - /* linux,default-trigger = "timer"; - active-delay = <700>; - inactive-delay = <700>; - default-state="on"; */ - }; - }; }; diff --git a/feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630w-311g.dts b/feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630w-311g.dts old mode 100644 new mode 100755 index c2846f283..c05031724 --- a/feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630w-311g.dts +++ b/feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630w-311g.dts @@ -31,6 +31,8 @@ serial1 = &blsp1_uart2; ethernet0 = "/soc/dp1"; ethernet1 = "/soc/dp2"; + + /* led-boot = &led_blue; */ }; chosen { @@ -656,24 +658,21 @@ }; }; - leds_pins: leds_pinmux { - sys_green { + pwm_pins: pwm_pinmux { + mux_1 { pins = "gpio1"; - function = "gpio"; + function = "pwm1"; drive-strength = <8>; - bias-disable; }; - sys_blue { + mux_2 { pins = "gpio30"; - function = "gpio"; + function = "pwm3"; drive-strength = <8>; - bias-pull-up; }; - sys_red { + mux_3 { pins = "gpio46"; - function = "gpio"; + function = "pwm0"; drive-strength = <8>; - bias-disable; }; }; }; @@ -693,25 +692,37 @@ }; }; - gpio_leds { - compatible = "gpio-leds"; - pinctrl-0 = <&leds_pins>; + pwm: pwm@0x1941010 { + pinctrl-0 = <&pwm_pins>; pinctrl-names = "default"; + used-pwm-indices = <1>, <1>, <0>, <1>; + #pwm-cells = <2>; + status = "ok"; + }; - led@1 { - label = "sys:green"; - gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; /* GPIO_1/ATST_QP0 */ - default-state="off"; + /* Use PWM LED driver to control LED through PWM, make sure CONFIG_LEDS_PWM is enabled */ + pwmleds { + compatible = "pwm-leds"; + + led_blue: blue { + label = "pwm:blue"; + pwms = <&pwm 3 1250000>; + max-brightness = <1>; + linux,default-trigger = "timer"; }; - led@30 { - label = "sys:blue"; - gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; /* GPIO_30 */ - default-state="on"; + + red { + label = "pwm:red"; + pwms = <&pwm 0 1250000>; + max-brightness = <1>; + linux,default-trigger = "none"; }; - led@46 { - label = "sys:red"; - gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; /* GPIO_46 */ - default-state="off"; + + green { + label = "pwm:green"; + pwms = <&pwm 1 1250000>; + max-brightness = <1>; + linux,default-trigger = "none"; }; }; }; diff --git a/feeds/ipq807x_v5.4/ipq50xx/patches/402-pinctrl-ipq5018-pwm-group-add.patch b/feeds/ipq807x_v5.4/ipq50xx/patches/402-pinctrl-ipq5018-pwm-group-add.patch new file mode 100755 index 000000000..1ad07f126 --- /dev/null +++ b/feeds/ipq807x_v5.4/ipq50xx/patches/402-pinctrl-ipq5018-pwm-group-add.patch @@ -0,0 +1,69 @@ +diff -Naur linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d.orig/drivers/pinctrl/qcom/pinctrl-ipq5018.c linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/drivers/pinctrl/qcom/pinctrl-ipq5018.c +--- linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d.orig/drivers/pinctrl/qcom/pinctrl-ipq5018.c 2022-10-04 01:02:19.000000000 +0800 ++++ linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/drivers/pinctrl/qcom/pinctrl-ipq5018.c 2024-08-13 15:20:14.419427000 +0800 +@@ -485,25 +485,25 @@ + "gpio40", + }; + static const char * const pwm0_groups[] = { +- "gpio42", ++ "gpio42", "gpio46", + }; + static const char * const qdss_cti_trig_out_b0_groups[] = { + "gpio42", + }; + static const char * const pwm1_groups[] = { +- "gpio43", ++ "gpio43", "gpio36", "gpio1", + }; + static const char * const qdss_cti_trig_in_b0_groups[] = { + "gpio43", + }; + static const char * const pwm2_groups[] = { +- "gpio44", ++ "gpio44", "gpio37", + }; + static const char * const qdss_cti_trig_out_b1_groups[] = { + "gpio44", + }; + static const char * const pwm3_groups[] = { +- "gpio45", ++ "gpio45", "gpio30", + }; + static const char * const qdss_cti_trig_in_b1_groups[] = { + "gpio45", +@@ -613,7 +613,7 @@ + }; + static const struct msm_pingroup ipq5018_groups[] = { + PINGROUP(0, atest_char, _, qdss_cti_trig_out_a0, wci_txd, wci_rxd, xfem, _, _, _), +- PINGROUP(1, atest_char, _, qdss_cti_trig_in_a0, wci_txd, wci_rxd, xfem, _, _, _), ++ PINGROUP(1, atest_char, pwm1, qdss_cti_trig_in_a0, wci_txd, wci_rxd, xfem, _, _, _), + PINGROUP(2, atest_char, _, qdss_cti_trig_out_a1, wci_txd, wci_rxd, xfem, _, _, _), + PINGROUP(3, atest_char, _, qdss_cti_trig_in_a1, wci_txd, wci_rxd, xfem, _, _, _), + PINGROUP(4, sdc1_data, qspi_data, blsp1_spi1, btss, dbg_out, qdss_traceclk_a, _, burn0, _), +@@ -642,14 +642,14 @@ + PINGROUP(27, audio_txmclk, wsa_swrm, audio_txmclk, blsp2_spi, btss, _, qdss_tracedata_b, _, _), + PINGROUP(28, audio_txbclk, wsa_swrm, blsp0_uart1, btss, qdss_tracedata_b, _, _, _, _), + PINGROUP(29, audio_txfsync, _, blsp0_uart1, _, qdss_tracedata_b, _, _, _, _), +- PINGROUP(30, audio_txd, led2, led0, _, _, _, _, _, _), ++ PINGROUP(30, audio_txd, led2, led0, pwm3, _, _, _, _, _), + PINGROUP(31, blsp2_spi0, blsp1_uart1, _, qdss_tracedata_b, eud_gpio, _, _, _, _), + PINGROUP(32, blsp2_spi0, blsp1_uart1, _, qdss_tracedata_b, eud_gpio, _, _, _, _), + PINGROUP(33, blsp2_i2c0, blsp2_spi0, blsp1_uart1, _, qdss_tracedata_b, eud_gpio, _, _, _), + PINGROUP(34, blsp2_i2c0, blsp2_spi0, blsp1_uart1, _, qdss_tracedata_b, eud_gpio, _, _, _), + PINGROUP(35, _, qdss_tracedata_b, eud_gpio, _, _, _, _, _, _), +- PINGROUP(36, mdc, qdss_tracedata_b, _, wsi_clk3, _, _, _, _, _), +- PINGROUP(37, mdio, atest_char, qdss_tracedata_b, _, wsi_data3, _, _, _, _), ++ PINGROUP(36, mdc, qdss_tracedata_b, pwm1, wsi_clk3, _, _, _, _, _), ++ PINGROUP(37, mdio, atest_char, qdss_tracedata_b, pwm2, wsi_data3, _, _, _, _), + PINGROUP(38, qdss_tracedata_b, _, _, _, _, _, _, _, _), + PINGROUP(39, qdss_traceclk_b, _, _, _, _, _, _, _, _), + PINGROUP(40, reset_out, qdss_tracectl_b, _, _, _, _, _, _, _), +@@ -658,7 +658,7 @@ + PINGROUP(43, pwm1, qdss_cti_trig_in_b0, wci_txd, wci_rxd, xfem, _, _, _, _), + PINGROUP(44, pwm2, qdss_cti_trig_out_b1, wci_txd, wci_rxd, xfem, _, _, _, _), + PINGROUP(45, pwm3, qdss_cti_trig_in_b1, wci_txd, wci_rxd, xfem, _, _, _, _), +- PINGROUP(46, led0, _, _, _, _, _, _, _, _), ++ PINGROUP(46, led0, pwm0, _, _, _, _, _, _, _), + }; + + static const struct msm_pinctrl_soc_data ipq5018_pinctrl = { From d2b6fc73f7d5bd0b4ef338f254b524105a048b03 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 30 Sep 2024 15:36:46 +0200 Subject: [PATCH 9/9] wireguard: change download URL to a mirror server Signed-off-by: John Crispin --- feeds/ipq807x_v5.4/wireguard/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feeds/ipq807x_v5.4/wireguard/Makefile b/feeds/ipq807x_v5.4/wireguard/Makefile index 394483ddb..d908cafaa 100644 --- a/feeds/ipq807x_v5.4/wireguard/Makefile +++ b/feeds/ipq807x_v5.4/wireguard/Makefile @@ -15,7 +15,7 @@ PKG_VERSION:=1.0.20211208 PKG_RELEASE:=1 PKG_SOURCE:=wireguard-linux-compat-$(PKG_VERSION).tar.xz -PKG_SOURCE_URL:=https://git.zx2c4.com/wireguard-linux-compat/snapshot/ +PKG_SOURCE_URL:=https://ucentral.io/ PKG_HASH:=c0e607138a17daac656f508d8e63ea3737b5221fa5d9288191ddeb099f5a3b92 PKG_LICENSE:=GPL-2.0