diff --git a/kernel/mm-board-config/Makefile b/kernel/mm-board-config/Makefile index b3554af..d96a0c1 100644 --- a/kernel/mm-board-config/Makefile +++ b/kernel/mm-board-config/Makefile @@ -13,11 +13,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=morse-board-config PKG_RELEASE=6 -PKG_VERSION:=rel_1_12_4_2024_Jun_11 +PKG_VERSION:=rel_1_14_1_2024_Dec_05 -PKG_SOURCE:=morsemicro-bcf-rel_1_12_4_2024_Jun_11.tar -PKG_SOURCE_URL:=https://github.com/MorseMicro/bcf_binaries/releases/download/v1.12.4/ -PKG_HASH:=e403764730aa149e78874135da154bab2a24574308d3f2df88c9b4c125766ae3 +PKG_SOURCE:=morsemicro-bcf-rel_1_14_1_2024_Dec_05.tar +PKG_SOURCE_URL:=https://github.com/MorseMicro/bcf_binaries/releases/download/v1.14.1/ +PKG_HASH:=ea90cfa1b7d6111c681bde013e51f88d54274548704ffdf14f6ddaa555150144 PKG_MAINTAINER:=Morse Micro PKG_BUILD_PARALLEL:=1 diff --git a/kernel/mm-board-config/files/lib/firmware/morse/bcf_failsafe.bin b/kernel/mm-board-config/files/lib/firmware/morse/bcf_failsafe.bin index b473291..a266bad 100644 Binary files a/kernel/mm-board-config/files/lib/firmware/morse/bcf_failsafe.bin and b/kernel/mm-board-config/files/lib/firmware/morse/bcf_failsafe.bin differ diff --git a/kernel/morse-fw/Makefile b/kernel/morse-fw/Makefile index 838e9aa..591f183 100644 --- a/kernel/morse-fw/Makefile +++ b/kernel/morse-fw/Makefile @@ -13,11 +13,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=morse-fw PKG_RELEASE=2 -PKG_VERSION:=rel_1_12_4_2024_Jun_11 +PKG_VERSION:=rel_1_14_1_2024_Dec_05 -PKG_SOURCE:=morsemicro-fw-rel_1_12_4_2024_Jun_11.tar -PKG_SOURCE_URL:=https://github.com/MorseMicro/firmware_binaries/releases/download/v1.12.4/ -PKG_HASH:=1510550a13409c5614fe9d3c3c432eb288427ebdb755d242a1360d684839c174 +PKG_SOURCE:=morsemicro-fw-rel_1_14_1_2024_Dec_05.tar +PKG_SOURCE_URL:=https://github.com/MorseMicro/firmware_binaries/releases/download/v1.14.1/ +PKG_HASH:=56e7cd3ec6a5f1321b9be3d3551c965b7762d4f180fa415a38a365ddb2f43cd1 PKG_MAINTAINER:=Morse Micro PKG_BUILD_PARALLEL:=1 @@ -27,6 +27,8 @@ RSTRIP:=: include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/package.mk +TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS) + define Package/morse-fw SECTION:=firmware CATEGORY:=Firmware @@ -35,7 +37,19 @@ define Package/morse-fw PROVIDES:=morse-fw endef -TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS) +define Package/morse-fw-tlm + SECTION:=firmware + CATEGORY:=Firmware + URL:=$(PKG_SOURCE_URL) + TITLE:=Morse Micro WIFI HaLow Thin LMAC firmware + PROVIDES:=morse-fw-tlm + DEPENDS:=morse-fw +endef + +define Package/morse-fw-tlm/description + This Firmware reduces the per-station table size in the chip to + allow a large number of associations in AP mode. +endef define Build/Compile @@ -43,6 +57,7 @@ endef define Package/morse-fw/install $(INSTALL_DIR) $(1)/lib/firmware/morse/. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/firmware/morse/mm8108b2-rl.bin $(1)/lib/firmware/morse/ if [ -e ./files/lib/firmware/morse/mm6108.bin ]; then \ $(INSTALL_DATA) ./files/lib/firmware/morse/mm6108.bin $(1)/lib/firmware/morse/; \ else \ @@ -50,4 +65,14 @@ define Package/morse-fw/install fi endef +define Package/morse-fw-tlm/install + $(INSTALL_DIR) $(1)/lib/firmware/morse/. + if [ -e ./files/lib/firmware/morse/mm6108-tlm.bin ]; then \ + $(INSTALL_DATA) ./files/lib/firmware/morse/mm6108-tlm.bin $(1)/lib/firmware/morse/; \ + else \ + $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/firmware/morse/mm6108-tlm.bin $(1)/lib/firmware/morse/; \ + fi +endef + $(eval $(call BuildPackage,morse-fw)) +$(eval $(call BuildPackage,morse-fw-tlm)) diff --git a/kernel/morse_driver/Makefile b/kernel/morse_driver/Makefile index 0bbc999..98edff3 100644 --- a/kernel/morse_driver/Makefile +++ b/kernel/morse_driver/Makefile @@ -9,14 +9,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=morse_driver PKG_RELEASE=3 -PKG_VERSION:=1.12.4 +PKG_VERSION:=1.14.1 PKG_LICENSE:=GPLv2 PKG_LICENSE_FILES:=LICENSE PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_URL:=https://github.com/MorseMicro/morse_driver.git -PKG_HASH:=159d018a92e0cf742795ed49bd94fb6ed324163012bb91c2a2e4e0f6037bbf23 +PKG_HASH:=9eed1c0bc39cf9c1e3c8e109c3e014e6016cc85314630c890e49dd4fccd06b2b PKG_SOURCE_PROTO:=git PKG_MAINTAINER:=Morse Micro diff --git a/kernel/morse_driver/patches/009-SW-12601-add-retries-for-the-health-check.patch b/kernel/morse_driver/patches/009-SW-12601-add-retries-for-the-health-check.patch deleted file mode 100644 index 06b221b..0000000 --- a/kernel/morse_driver/patches/009-SW-12601-add-retries-for-the-health-check.patch +++ /dev/null @@ -1,67 +0,0 @@ -From eabda6db495e0493ea71cb5b25e1c600a2002f1e Mon Sep 17 00:00:00 2001 -From: Nev Young -Date: Thu, 29 Aug 2024 22:47:41 +0000 -Subject: [PATCH] Merged in - SW-12601-add-retries-for-the-health-check-command-before-resetting-the-chip - (pull request #1278) - -Retry the health check command once in the health monitor before resetting the chip - -Approved-by: Andrew Pope -Approved-by: Adam Baumann -Approved-by: Sagar Bussa -Approved-by: Ria Thomas -Approved-by: James Herbert -Approved-by: Josh Wilkinson ---- - command.c | 2 +- - mac.c | 8 +++++++- - 2 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/command.c b/command.c -index 9f285ac0..d73fe7a4 100644 ---- a/command.c -+++ b/command.c -@@ -33,7 +33,7 @@ - */ - #define MM_CMD_DEFAULT_TIMEOUT_MS 600 - #define MM_CMD_POWERSAVE_TIMEOUT_MS 2000 --#define MM_CMD_HEALTH_CHECK_TIMEOUT_MS 2000 -+#define MM_CMD_HEALTH_CHECK_TIMEOUT_MS 1000 - - enum morse_interface_type { - MORSE_INTERFACE_TYPE_INVALID = 0, -diff --git a/mac.c b/mac.c -index 8b985752..2ce6fa8b 100644 ---- a/mac.c -+++ b/mac.c -@@ -95,6 +95,8 @@ - #define MORSE_ECSA_WARN(_m, _f, _a...) morse_warn(FEATURE_ID_ECSA, _m, _f, ##_a) - #define MORSE_ECSA_ERR(_m, _f, _a...) morse_err(FEATURE_ID_ECSA, _m, _f, ##_a) - -+#define MORSE_HEALTH_CHECK_RETRIES 1 -+ - enum dot11ah_powersave_mode { - POWERSAVE_MODE_DISABLED = 0x00, - POWERSAVE_MODE_PROTOCOL_ENABLED = 0x01, -@@ -6092,12 +6094,16 @@ static void morse_mac_restart_work(struct work_struct *work) - static void morse_health_check_work(struct work_struct *work) - { - int ret; -+ int retries = 0; - struct morse *mors = container_of(work, struct morse, health_check); - - if (!mors->started) - return; - -- ret = morse_cmd_health_check(mors); -+ do { -+ ret = morse_cmd_health_check(mors); -+ } while (ret && retries++ < MORSE_HEALTH_CHECK_RETRIES); -+ - if (ret) { - MORSE_ERR(mors, "%s: Failed health check (errno=%d)\n", __func__, ret); - --- -2.25.1 - diff --git a/utils/hostapd_s1g/Makefile b/utils/hostapd_s1g/Makefile index ecf9caf..df9ff98 100644 --- a/utils/hostapd_s1g/Makefile +++ b/utils/hostapd_s1g/Makefile @@ -10,13 +10,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=hostapd_s1g PKG_RELEASE=2 -PKG_VERSION:=1.12.4 +PKG_VERSION:=1.14.1 PKG_LICENSE:=BSD-3-Clause PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_URL:=https://github.com/MorseMicro/hostap.git -PKG_HASH:=a2f17ce3d2fe25d45cc2d6869e9ea644bcac441ec9b541972034768d4fc63608 +PKG_HASH:=2e06594bf51db31556a9efc8ffbee11181777de05aeba7414a1e70d7be2dfddb PKG_SOURCE_PROTO:=git PKG_MAINTAINER:=Morse Micro @@ -38,7 +38,7 @@ PKG_CONFIG_DEPENDS:= \ include $(INCLUDE_DIR)/package.mk MAKE_FLAGS += \ - MORSEHOSTAPD_VERSION_STRING=$(PKG_VERSION) + MORSE_VERSION=$(PKG_VERSION) MMHOSTAPD_CONFIG_ENABLE = \ CONFIG_INTERNAL_LIBTOMMATH \ @@ -145,7 +145,7 @@ TARGET_LDFLAGS_C += -lrt define Build/RunMake CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ - $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(1) \ + $(MAKE) $(MAKE_FLAGS) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(1) \ $(TARGET_CONFIGURE_OPTS) \ $(DRIVER_MAKEOPTS) \ LIBS="$(TARGET_LDFLAGS)" \ diff --git a/utils/hostapd_s1g/patches/0001-APP-2573-Emit-a-DPP-PB_STATUS-event-when-push-button.patch b/utils/hostapd_s1g/patches/0001-APP-2573-Emit-a-DPP-PB_STATUS-event-when-push-button.patch deleted file mode 100644 index 998ba0a..0000000 --- a/utils/hostapd_s1g/patches/0001-APP-2573-Emit-a-DPP-PB_STATUS-event-when-push-button.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 5433351ed5ab62c2d4fbd15a2c4d8c4aeacb93dc Mon Sep 17 00:00:00 2001 -From: Evan Benn -Date: Thu, 29 Feb 2024 11:09:38 +1100 -Subject: [PATCH] APP-2573: Emit a DPP PB_STATUS event when push button starts - ---- - src/ap/dpp_hostapd.c | 1 + - wpa_supplicant/dpp_supplicant.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/src/ap/dpp_hostapd.c b/src/ap/dpp_hostapd.c -index b7cca47c714b..3025eef204d2 100644 ---- a/src/ap/dpp_hostapd.c -+++ b/src/ap/dpp_hostapd.c -@@ -3960,6 +3960,7 @@ int hostapd_dpp_push_button(struct hostapd_data *hapd, const char *cmd) - eloop_register_timeout(100, 0, hostapd_dpp_push_button_expire, - hapd, NULL); - -+ wpa_msg(hapd->msg_ctx, MSG_INFO, DPP_EVENT_PB_STATUS "started"); - return 0; - } - -diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c -index ab06ff8d32c1..24e4bb3c444d 100644 ---- a/wpa_supplicant/dpp_supplicant.c -+++ b/wpa_supplicant/dpp_supplicant.c -@@ -5676,6 +5676,7 @@ static int wpas_dpp_push_button_configurator(struct wpa_supplicant *wpa_s, - eloop_register_timeout(100, 0, wpas_dpp_push_button_expire, - wpa_s, NULL); - -+ wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_PB_STATUS "started"); - return 0; - } - -@@ -5749,6 +5750,7 @@ int wpas_dpp_push_button(struct wpa_supplicant *wpa_s, const char *cmd) - wpa_supplicant_req_scan(wpa_s, 0, 0); - - res = 0; -+ wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_PB_STATUS "started"); - out: - - /* If push button mode failed to start, restart the chirp forever timer */ --- -2.42.0.530.g692be87cbba5 - diff --git a/utils/hostapd_s1g/patches/0002-SW-11943-dpp-does-not-associate-in-us-regd.patch b/utils/hostapd_s1g/patches/0002-SW-11943-dpp-does-not-associate-in-us-regd.patch deleted file mode 100644 index 8f4805e..0000000 --- a/utils/hostapd_s1g/patches/0002-SW-11943-dpp-does-not-associate-in-us-regd.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 25631fa387af430b8d7f03302218c66dc161cc6f Mon Sep 17 00:00:00 2001 -From: Andrew Pope -Date: Tue, 4 Jun 2024 23:12:37 +0000 -Subject: [PATCH] Merged in SW-11943-dpp-does-not-associate-in-us-regdom (pull - request #213) - -SW-11943: DPP does not associate in US regdom - -Two problems contributed to the originally reported issue: - -1. The DPP-PB state machine function will unconditionally cancel any pending off-channel actions - even if the DPP PB discovery phase is over. To fix this, avoid unconditionally completing offchannel actions from DPP-PB state machine function if DPP PB discovery phase is over. - -2. Logic around PKEX retries will manually attempt to complete the exchange on adjacent non-S1G channels. These retries inevitably fail, leading to a quicker collapse of the PKEX exchange attempts and eventual downgrade from v2 to v1 (bad). To fix this, remove non-S1G frequency hopping logic from DPP PB discovery and PKEX exchange phases. - -Approved-by: Neville Young -Approved-by: Simon Wadsworth -Approved-by: Ayman Grais -Approved-by: James Herbert ---- - src/ap/dpp_hostapd.c | 6 ++++++ - wpa_supplicant/dpp_supplicant.c | 17 +++++++++++++++-- - 2 files changed, 21 insertions(+), 2 deletions(-) - -diff --git a/src/ap/dpp_hostapd.c b/src/ap/dpp_hostapd.c -index b7cca47c7..282581fe5 100644 ---- a/src/ap/dpp_hostapd.c -+++ b/src/ap/dpp_hostapd.c -@@ -260,6 +260,12 @@ static int hostapd_dpp_allow_ir(struct hostapd_data *hapd, unsigned int freq) - static int hostapd_dpp_pkex_next_channel(struct hostapd_data *hapd, - struct dpp_pkex *pkex) - { -+ /* Following logic is not S1G compatible. Attempting PKEX on non-adjacent S1G channels -+ * results in guaranteed failure. -+ */ -+ if (hapd->iconf->ieee80211ah) -+ return -1; -+ - if (pkex->freq == 2437) - pkex->freq = 5745; - else if (pkex->freq == 5745) -diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c -index ab06ff8d3..e90e4a163 100644 ---- a/wpa_supplicant/dpp_supplicant.c -+++ b/wpa_supplicant/dpp_supplicant.c -@@ -2840,6 +2840,12 @@ static int wpas_dpp_allow_ir(struct wpa_supplicant *wpa_s, unsigned int freq) - static int wpas_dpp_pkex_next_channel(struct wpa_supplicant *wpa_s, - struct dpp_pkex *pkex) - { -+#if defined(CONFIG_IEEE80211AH) -+ /* Following logic is not S1G compatible. Attempting PKEX on non-adjacent S1G channels -+ * results in guaranteed failure. -+ */ -+ return -1; -+#endif - if (pkex->freq == 2437) - pkex->freq = 5745; - else if (pkex->freq == 5745) -@@ -5113,10 +5119,16 @@ static int * wpas_dpp_presence_ann_channels(struct wpa_supplicant *wpa_s, - - if (chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_RADAR)) - continue; -+#if defined(CONFIG_IEEE80211AH) -+ /* Adding channels 44 and 149 at end of scan list is not required -+ * for HaLow -+ */ -+#else - if (chan->freq == 5220) - chan44 = 1; - if (chan->freq == 5745) - chan149 = 1; -+#endif - - /* Morse - All 5GHz channels that are mapped to 1 MHz and 2 MHz. - * Channels that aren't relevant to a regulatory domain will be -@@ -5573,9 +5585,10 @@ static void wpas_dpp_pb_next(void *eloop_ctx, void *timeout_ctx) - if (!wpa_s->dpp_pb_freqs) - return; - -- os_get_reltime(&now); -- offchannel_send_action_done(wpa_s); -+ if (!wpa_s->dpp_pb_discovery_done) -+ offchannel_send_action_done(wpa_s); - -+ os_get_reltime(&now); - if (os_reltime_expired(&now, &wpa_s->dpp_pb_time, 100)) { - wpa_printf(MSG_DEBUG, "DPP: Push button wait time expired"); - wpas_dpp_push_button_stop(wpa_s); --- -2.25.1 - diff --git a/utils/hostapd_s1g/patches/0003-Hack-out-channels-1-2-50-and-typo-for-51.patch b/utils/hostapd_s1g/patches/0003-Hack-out-channels-1-2-50-and-typo-for-51.patch deleted file mode 100644 index ee5c0f2..0000000 --- a/utils/hostapd_s1g/patches/0003-Hack-out-channels-1-2-50-and-typo-for-51.patch +++ /dev/null @@ -1,40 +0,0 @@ -From c2b6ece1375affba47f7d94d0303dc83087ff8b7 Mon Sep 17 00:00:00 2001 -From: James Haggerty -Date: Fri, 26 Jul 2024 09:55:03 +1000 -Subject: [PATCH] Hack out channels 1/2/50 (and typo for 51) - -If we use these channels on a board with those channels disabled -in the BCF, the DPP presence announcement fails and the whole -DPP process aborts. - -This is true of most of our currently shipping devices -(i.e. Bailey V13 US and Artini's Azurewave HW593 module). - -This is rubbish: see SW-12450 ---- - wpa_supplicant/dpp_supplicant.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c -index 09f8ceb07..6993338ea 100644 ---- a/wpa_supplicant/dpp_supplicant.c -+++ b/wpa_supplicant/dpp_supplicant.c -@@ -5199,12 +5199,12 @@ static int * wpas_dpp_presence_ann_channels(struct wpa_supplicant *wpa_s, - static const int s1g_chirp_channels[] = { - /* 2MHz channels */ - 5190, 5230, 5270, 5310, 5510, 5550, -- 5630, 5670, 5755, 5795, 5835, 5875, -+ 5630, 5755, 5795, 5835, - /* 1MHz channels */ -- 5660, 5680, 5180, 5200, 5240, 5260, -+ 5680, 5180, 5200, 5240, 5260, - 5280, 5300, 5320, 5500, 5520, 5540, - 5560, 5580, 5600, 5620, 5640, 5765, -- 5785, 5805, 5825, 5845, 5865, 5855 -+ 5785, 5805, 5825, 5845, 5865 - }; - - if (chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_RADAR)) --- -2.25.1 - diff --git a/utils/morse-dppd/Makefile b/utils/morse-dppd/Makefile index f132fb5..4335768 100644 --- a/utils/morse-dppd/Makefile +++ b/utils/morse-dppd/Makefile @@ -10,13 +10,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=morse-dppd PKG_RELEASE:=1 -PKG_VERSION:=1.12.4 +PKG_VERSION:=1.14.1 PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_URL:=https://github.com/MorseMicro/dpp-daemon.git -PKG_MIRROR_HASH:=fd2011465ab94d22575189b943ca285d6be96ae7e0b5e204fb8d18d1277fbf6e PKG_SOURCE_PROTO:=git -PKG_HASH:=dd8b39752a632f052ec6706661a93bb4e9d3a8f22a1bad5355ee71fe1996b680 +PKG_HASH:=e3151c07d9a87f1812fe83ccff54078f91fe31d58b5c8b432f41bca0f43e25b4 MAKE_PATH:=daemon @@ -57,12 +56,15 @@ TARGET_CFLAGS += \ -DCONFIG_IPV6 \ -DNEED_AP_MLME +# Add CFLAGS to suppress warnings about the usage of deprecated OpenSSL APIs. +TARGET_CFLAGS += -Wno-deprecated-declarations + define Package/morse-dppd SECTION:=Utilities CATEGORY:=Utilities TITLE:=MorseMicro 802.11ah DPP Daemon MAINTAINER:=Morse Micro - DEPENDS:=dppd-creds +libnl +libnl-genl +libopenssl +libncurses +libmicrohttpd-ssl +avahi-utils + DEPENDS:=dppd-creds +libnl +libnl-genl +libopenssl +libncurses +libmicrohttpd-ssl +avahi-utils +libwpa_client_s1g endef define Package/morse-dppd/description @@ -72,7 +74,7 @@ endef define Package/morse-dppd/install $(INSTALL_DIR) $(1)/usr/bin/ $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/build/dppd $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/build/$(ARCH)/dppd $(1)/usr/bin/ $(INSTALL_BIN) ./files/etc/init.d/dppd $(1)/etc/init.d/ endef diff --git a/utils/morse-dppd/patches/001-find-hostapd_s1g.patch b/utils/morse-dppd/patches/001-find-hostapd_s1g.patch deleted file mode 100644 index bbaf621..0000000 --- a/utils/morse-dppd/patches/001-find-hostapd_s1g.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/daemon/dppd.c b/daemon/dppd.c -index a524bd2..3885bc4 100644 ---- a/daemon/dppd.c -+++ b/daemon/dppd.c -@@ -122,7 +122,7 @@ find_ctrl_if_path() - { - while ((dir_data = readdir(root_dir)) != NULL) - { -- if (strstr(dir_data->d_name, "hostapd")) -+ if (strstr(dir_data->d_name, "hostapd_s1g")) - { - - if (found) diff --git a/utils/morsecli/Makefile b/utils/morsecli/Makefile index 7a80591..0afc1e7 100644 --- a/utils/morsecli/Makefile +++ b/utils/morsecli/Makefile @@ -10,13 +10,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=morsecli PKG_RELEASE=5 -PKG_VERSION:=1.12.4 +PKG_VERSION:=1.14.1 PKG_LICENSE:=GPLv2 PKG_LICENSE_FILES:= PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_URL:=https://github.com/MorseMicro/morse_cli.git +PKG_MIRROR_HASH:=d7871f4d8f3e10b1413995c3668e1b079685a4ffd0b6be4c268befcab2304e8f PKG_HASH:=04c88a3aea99082a29eb1f84a9b62dcbb85980fa040e0e34901c1826f33ae74c PKG_SOURCE_PROTO:=git @@ -29,7 +30,7 @@ define Package/morsecli SECTION:=utils CATEGORY:=Network TITLE:=Morse Micro WIFI HaLow driver command line tool - DEPENDS:= +kmod-morse +libnl + DEPENDS:= +kmod-morse +libnl +libusb-1.0 FILES:=\ $(PKG_BUILD_DIR)/morse_cli PROVIDES:=morsectrl diff --git a/utils/smart-manager/Makefile b/utils/smart-manager/Makefile index 9a59056..897cad1 100644 --- a/utils/smart-manager/Makefile +++ b/utils/smart-manager/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2023 Morse Microi +# Copyright (C) 2023 Morse Micro # # This is free software, licensed under the Apache License, Version 2.0 # @@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk PKG_NAME:=smart_manager PKG_RELEASE:=1 -PKG_VERSION:=rel_1_12_4_2024_Jun_11 +PKG_VERSION:=rel_1_14_1_2024_Dec_05 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.xz -PKG_SOURCE_URL:=https://github.com/MorseMicro/smart-manager/releases/download/1.12.4/ -PKG_HASH:=a47268778460242cf7d67c9e6959d2945e43f9afac0204a5b870b237958be018 +PKG_SOURCE_URL:=https://github.com/MorseMicro/smart-manager/releases/download/1.14.1/ +PKG_HASH:=e873fb663612071c6550cf77371fe12d6686e324551d601d5ac63b299d5a0c33 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION) include $(INCLUDE_DIR)/package.mk @@ -36,9 +36,13 @@ endef define Package/smart_manager/install $(INSTALL_DIR) $(1)/etc $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_DIR) $(1)/usr/share/smart_manager $(INSTALL_DIR) $(1)/sbin - install -m 755 $(PKG_BUILD_DIR)/$(CONFIG_TARGET_ARCH_PACKAGES)/etc/init.d/smart_manager $(1)/etc/init.d/smart_manager - install -m 755 $(PKG_BUILD_DIR)/$(CONFIG_TARGET_ARCH_PACKAGES)/sbin/smart_manager $(1)/sbin/smart_manager + $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(CONFIG_TARGET_ARCH_PACKAGES)/etc/init.d/smart_manager $(1)/etc/init.d/smart_manager + $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(CONFIG_TARGET_ARCH_PACKAGES)/etc/uci-defaults/50-smart_manager $(1)/etc/uci-defaults/50-smart_manager + $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(CONFIG_TARGET_ARCH_PACKAGES)/sbin/smart_manager $(1)/sbin/smart_manager + $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(CONFIG_TARGET_ARCH_PACKAGES)/usr/share/smart_manager/dcs.mmext $(1)/usr/share/smart_manager/dcs.mmext endef $(eval $(call BuildPackage,smart_manager)) diff --git a/utils/wpa_event_listener/Makefile b/utils/wpa_event_listener/Makefile index 9d3aae1..d88d953 100644 --- a/utils/wpa_event_listener/Makefile +++ b/utils/wpa_event_listener/Makefile @@ -17,7 +17,7 @@ define Package/wpa_event_listener CATEGORY:=Base system TITLE:= WPA supplicant s1g event listener MAINTAINER:=Morse Micro - DEPENDS:= wpa_supplicant_s1g +libwpa_client + DEPENDS:= wpa_supplicant_s1g +libwpa_client_s1g endef define Package/wpa_event_listener/description diff --git a/utils/wpa_event_listener/src/Makefile b/utils/wpa_event_listener/src/Makefile index 32f949f..5f82eff 100644 --- a/utils/wpa_event_listener/src/Makefile +++ b/utils/wpa_event_listener/src/Makefile @@ -3,7 +3,7 @@ # APP=wpa_event_listener -LDFLAGS+=-lwpa_client -lubox +LDFLAGS+=-lwpa_client_s1g -lubox ODIR=build diff --git a/utils/wpa_supplicant_s1g/Makefile b/utils/wpa_supplicant_s1g/Makefile index 70a8b52..b575454 100644 --- a/utils/wpa_supplicant_s1g/Makefile +++ b/utils/wpa_supplicant_s1g/Makefile @@ -10,13 +10,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wpa_supplicant_s1g PKG_RELEASE=2 -PKG_VERSION:=1.12.4 +PKG_VERSION:=1.14.1 PKG_LICENSE:=BSD-3-Clause PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_URL:=https://github.com/MorseMicro/hostap.git -PKG_HASH:=c342d1489d03363b79b5b4e185ccbceca53aab9e634daefb81180ad1012b77b7 +PKG_HASH:=5ad24b655857051690dcab437377efbdfcfeb82c185dc7e36b3bc905554b3da8 PKG_SOURCE_PROTO:=git PKG_MAINTAINER:=Morse Micro @@ -25,7 +25,7 @@ PKG_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/package.mk MAKE_FLAGS += \ - MORSEWPA_SUPPLICANT_VERSION_STRING=$(PKG_VERSION) + MORSE_VERSION=$(PKG_VERSION) # Add support for simple background scan MMWPA_SUPPLICANT_CONFIG_SET = \ @@ -64,6 +64,8 @@ MMWPA_SUPPLICANT_CONFIG_ENABLE = \ CONFIG_IBSS_RSN \ CONFIG_OWE \ CONFIG_DPP \ + CONFIG_DPP2 \ + CONFIG_DPP3 \ CONFIG_SAE \ CONFIG_SAE_PK \ CONFIG_TESTING_OPTIONS \ @@ -108,15 +110,15 @@ define Package/wpa_supplicant_s1g PROVIDES:=wpa_supplicant_s1g endef -define Package/libwpa_client +define Package/libwpa_client_s1g SECTION:=net CATEGORY:=Network SUBMENU:=WirelessAPD - TITLE:=libwpa_client + TITLE:=libwpa_client_s1g DEPENDS:=wpa_supplicant_s1g endef -define Package/libwpa_client/description +define Package/libwpa_client_s1g/description wpa_supplicant_s1g client library endef @@ -143,6 +145,8 @@ TARGET_CPPFLAGS := \ -DCONFIG_LIBNL20 \ -D_GNU_SOURCE +TARGET_CFLAGS += -Wno-deprecated-declarations + TARGET_LDFLAGS += -lnl-3 -lnl-genl-3 -lnl-route-3 TARGET_LDFLAGS += -lm -lpthread -lcrypto -lssl ifeq ($(CONFIG_MORSE_WPA_SUPPLICANT_S1G_DBUS),y) @@ -151,7 +155,7 @@ endif define Build/RunMake CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ - $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(1) \ + $(MAKE) $(MAKE_FLAGS) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(1) \ $(TARGET_CONFIGURE_OPTS) \ $(DRIVER_MAKEOPTS) \ LIBS="$(TARGET_LDFLAGS)" \ @@ -165,7 +169,7 @@ define Build/Compile +$(call Build/RunMake,wpa_supplicant, \ wpa_supplicant_s1g wpa_cli_s1g \ ) - +$(call Build/RunMake,wpa_supplicant, libwpa_client.so) + +$(call Build/RunMake,wpa_supplicant, libwpa_client_s1g.so) endef define Package/wpa_supplicant_s1g/install @@ -179,17 +183,17 @@ ifeq ($(CONFIG_MORSE_WPA_SUPPLICANT_S1G_DBUS),y) endif endef -define Package/libwpa_client/install +define Package/libwpa_client_s1g/install $(INSTALL_DIR) $(1)/usr/lib/ - $(INSTALL_BIN) $(PKG_BUILD_DIR)/wpa_supplicant/libwpa_client.so $(1)/usr/lib/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/wpa_supplicant/libwpa_client_s1g.so $(1)/usr/lib/ endef define Build/InstallDev $(INSTALL_DIR) $(1)/usr/lib/ $(INSTALL_DIR) $(1)/usr/include/ - $(CP) $(PKG_BUILD_DIR)/wpa_supplicant/libwpa_client.so $(1)/usr/lib/ + $(CP) $(PKG_BUILD_DIR)/wpa_supplicant/libwpa_client_s1g.so $(1)/usr/lib/ $(CP) $(PKG_BUILD_DIR)/src/common/wpa_ctrl.h $(1)/usr/include/wpa_ctrl.h endef $(eval $(call BuildPackage,wpa_supplicant_s1g)) -$(eval $(call BuildPackage,libwpa_client)) +$(eval $(call BuildPackage,libwpa_client_s1g)) diff --git a/utils/wpa_supplicant_s1g/patches/0001-APP-2573-Emit-a-DPP-PB_STATUS-event-when-push-button.patch b/utils/wpa_supplicant_s1g/patches/0001-APP-2573-Emit-a-DPP-PB_STATUS-event-when-push-button.patch deleted file mode 100644 index 998ba0a..0000000 --- a/utils/wpa_supplicant_s1g/patches/0001-APP-2573-Emit-a-DPP-PB_STATUS-event-when-push-button.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 5433351ed5ab62c2d4fbd15a2c4d8c4aeacb93dc Mon Sep 17 00:00:00 2001 -From: Evan Benn -Date: Thu, 29 Feb 2024 11:09:38 +1100 -Subject: [PATCH] APP-2573: Emit a DPP PB_STATUS event when push button starts - ---- - src/ap/dpp_hostapd.c | 1 + - wpa_supplicant/dpp_supplicant.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/src/ap/dpp_hostapd.c b/src/ap/dpp_hostapd.c -index b7cca47c714b..3025eef204d2 100644 ---- a/src/ap/dpp_hostapd.c -+++ b/src/ap/dpp_hostapd.c -@@ -3960,6 +3960,7 @@ int hostapd_dpp_push_button(struct hostapd_data *hapd, const char *cmd) - eloop_register_timeout(100, 0, hostapd_dpp_push_button_expire, - hapd, NULL); - -+ wpa_msg(hapd->msg_ctx, MSG_INFO, DPP_EVENT_PB_STATUS "started"); - return 0; - } - -diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c -index ab06ff8d32c1..24e4bb3c444d 100644 ---- a/wpa_supplicant/dpp_supplicant.c -+++ b/wpa_supplicant/dpp_supplicant.c -@@ -5676,6 +5676,7 @@ static int wpas_dpp_push_button_configurator(struct wpa_supplicant *wpa_s, - eloop_register_timeout(100, 0, wpas_dpp_push_button_expire, - wpa_s, NULL); - -+ wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_PB_STATUS "started"); - return 0; - } - -@@ -5749,6 +5750,7 @@ int wpas_dpp_push_button(struct wpa_supplicant *wpa_s, const char *cmd) - wpa_supplicant_req_scan(wpa_s, 0, 0); - - res = 0; -+ wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_PB_STATUS "started"); - out: - - /* If push button mode failed to start, restart the chirp forever timer */ --- -2.42.0.530.g692be87cbba5 - diff --git a/utils/wpa_supplicant_s1g/patches/0002-SW-11943-dpp-does-not-associate-in-us-regd.patch b/utils/wpa_supplicant_s1g/patches/0002-SW-11943-dpp-does-not-associate-in-us-regd.patch deleted file mode 100644 index 8f4805e..0000000 --- a/utils/wpa_supplicant_s1g/patches/0002-SW-11943-dpp-does-not-associate-in-us-regd.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 25631fa387af430b8d7f03302218c66dc161cc6f Mon Sep 17 00:00:00 2001 -From: Andrew Pope -Date: Tue, 4 Jun 2024 23:12:37 +0000 -Subject: [PATCH] Merged in SW-11943-dpp-does-not-associate-in-us-regdom (pull - request #213) - -SW-11943: DPP does not associate in US regdom - -Two problems contributed to the originally reported issue: - -1. The DPP-PB state machine function will unconditionally cancel any pending off-channel actions - even if the DPP PB discovery phase is over. To fix this, avoid unconditionally completing offchannel actions from DPP-PB state machine function if DPP PB discovery phase is over. - -2. Logic around PKEX retries will manually attempt to complete the exchange on adjacent non-S1G channels. These retries inevitably fail, leading to a quicker collapse of the PKEX exchange attempts and eventual downgrade from v2 to v1 (bad). To fix this, remove non-S1G frequency hopping logic from DPP PB discovery and PKEX exchange phases. - -Approved-by: Neville Young -Approved-by: Simon Wadsworth -Approved-by: Ayman Grais -Approved-by: James Herbert ---- - src/ap/dpp_hostapd.c | 6 ++++++ - wpa_supplicant/dpp_supplicant.c | 17 +++++++++++++++-- - 2 files changed, 21 insertions(+), 2 deletions(-) - -diff --git a/src/ap/dpp_hostapd.c b/src/ap/dpp_hostapd.c -index b7cca47c7..282581fe5 100644 ---- a/src/ap/dpp_hostapd.c -+++ b/src/ap/dpp_hostapd.c -@@ -260,6 +260,12 @@ static int hostapd_dpp_allow_ir(struct hostapd_data *hapd, unsigned int freq) - static int hostapd_dpp_pkex_next_channel(struct hostapd_data *hapd, - struct dpp_pkex *pkex) - { -+ /* Following logic is not S1G compatible. Attempting PKEX on non-adjacent S1G channels -+ * results in guaranteed failure. -+ */ -+ if (hapd->iconf->ieee80211ah) -+ return -1; -+ - if (pkex->freq == 2437) - pkex->freq = 5745; - else if (pkex->freq == 5745) -diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c -index ab06ff8d3..e90e4a163 100644 ---- a/wpa_supplicant/dpp_supplicant.c -+++ b/wpa_supplicant/dpp_supplicant.c -@@ -2840,6 +2840,12 @@ static int wpas_dpp_allow_ir(struct wpa_supplicant *wpa_s, unsigned int freq) - static int wpas_dpp_pkex_next_channel(struct wpa_supplicant *wpa_s, - struct dpp_pkex *pkex) - { -+#if defined(CONFIG_IEEE80211AH) -+ /* Following logic is not S1G compatible. Attempting PKEX on non-adjacent S1G channels -+ * results in guaranteed failure. -+ */ -+ return -1; -+#endif - if (pkex->freq == 2437) - pkex->freq = 5745; - else if (pkex->freq == 5745) -@@ -5113,10 +5119,16 @@ static int * wpas_dpp_presence_ann_channels(struct wpa_supplicant *wpa_s, - - if (chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_RADAR)) - continue; -+#if defined(CONFIG_IEEE80211AH) -+ /* Adding channels 44 and 149 at end of scan list is not required -+ * for HaLow -+ */ -+#else - if (chan->freq == 5220) - chan44 = 1; - if (chan->freq == 5745) - chan149 = 1; -+#endif - - /* Morse - All 5GHz channels that are mapped to 1 MHz and 2 MHz. - * Channels that aren't relevant to a regulatory domain will be -@@ -5573,9 +5585,10 @@ static void wpas_dpp_pb_next(void *eloop_ctx, void *timeout_ctx) - if (!wpa_s->dpp_pb_freqs) - return; - -- os_get_reltime(&now); -- offchannel_send_action_done(wpa_s); -+ if (!wpa_s->dpp_pb_discovery_done) -+ offchannel_send_action_done(wpa_s); - -+ os_get_reltime(&now); - if (os_reltime_expired(&now, &wpa_s->dpp_pb_time, 100)) { - wpa_printf(MSG_DEBUG, "DPP: Push button wait time expired"); - wpas_dpp_push_button_stop(wpa_s); --- -2.25.1 - diff --git a/utils/wpa_supplicant_s1g/patches/0003-Hack-out-channels-1-2-50-and-typo-for-51.patch b/utils/wpa_supplicant_s1g/patches/0003-Hack-out-channels-1-2-50-and-typo-for-51.patch deleted file mode 100644 index ee5c0f2..0000000 --- a/utils/wpa_supplicant_s1g/patches/0003-Hack-out-channels-1-2-50-and-typo-for-51.patch +++ /dev/null @@ -1,40 +0,0 @@ -From c2b6ece1375affba47f7d94d0303dc83087ff8b7 Mon Sep 17 00:00:00 2001 -From: James Haggerty -Date: Fri, 26 Jul 2024 09:55:03 +1000 -Subject: [PATCH] Hack out channels 1/2/50 (and typo for 51) - -If we use these channels on a board with those channels disabled -in the BCF, the DPP presence announcement fails and the whole -DPP process aborts. - -This is true of most of our currently shipping devices -(i.e. Bailey V13 US and Artini's Azurewave HW593 module). - -This is rubbish: see SW-12450 ---- - wpa_supplicant/dpp_supplicant.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c -index 09f8ceb07..6993338ea 100644 ---- a/wpa_supplicant/dpp_supplicant.c -+++ b/wpa_supplicant/dpp_supplicant.c -@@ -5199,12 +5199,12 @@ static int * wpas_dpp_presence_ann_channels(struct wpa_supplicant *wpa_s, - static const int s1g_chirp_channels[] = { - /* 2MHz channels */ - 5190, 5230, 5270, 5310, 5510, 5550, -- 5630, 5670, 5755, 5795, 5835, 5875, -+ 5630, 5755, 5795, 5835, - /* 1MHz channels */ -- 5660, 5680, 5180, 5200, 5240, 5260, -+ 5680, 5180, 5200, 5240, 5260, - 5280, 5300, 5320, 5500, 5520, 5540, - 5560, 5580, 5600, 5620, 5640, 5765, -- 5785, 5805, 5825, 5845, 5865, 5855 -+ 5785, 5805, 5825, 5845, 5865 - }; - - if (chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_RADAR)) --- -2.25.1 -