treewide: Morse Micro package release update 1.14.1

Including patch removal and some generaly tidy of package Makefiles
This commit is contained in:
Morse Micro 2025-03-03 22:16:16 +11:00 committed by Arien Judge
parent eb8125e41d
commit 58d752b07c
19 changed files with 78 additions and 472 deletions

View File

@ -13,11 +13,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=morse-board-config PKG_NAME:=morse-board-config
PKG_RELEASE=6 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:=morsemicro-bcf-rel_1_14_1_2024_Dec_05.tar
PKG_SOURCE_URL:=https://github.com/MorseMicro/bcf_binaries/releases/download/v1.12.4/ PKG_SOURCE_URL:=https://github.com/MorseMicro/bcf_binaries/releases/download/v1.14.1/
PKG_HASH:=e403764730aa149e78874135da154bab2a24574308d3f2df88c9b4c125766ae3 PKG_HASH:=ea90cfa1b7d6111c681bde013e51f88d54274548704ffdf14f6ddaa555150144
PKG_MAINTAINER:=Morse Micro <info@morsemicro.com> PKG_MAINTAINER:=Morse Micro <info@morsemicro.com>
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1

View File

@ -13,11 +13,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=morse-fw PKG_NAME:=morse-fw
PKG_RELEASE=2 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:=morsemicro-fw-rel_1_14_1_2024_Dec_05.tar
PKG_SOURCE_URL:=https://github.com/MorseMicro/firmware_binaries/releases/download/v1.12.4/ PKG_SOURCE_URL:=https://github.com/MorseMicro/firmware_binaries/releases/download/v1.14.1/
PKG_HASH:=1510550a13409c5614fe9d3c3c432eb288427ebdb755d242a1360d684839c174 PKG_HASH:=56e7cd3ec6a5f1321b9be3d3551c965b7762d4f180fa415a38a365ddb2f43cd1
PKG_MAINTAINER:=Morse Micro <info@morsemicro.com> PKG_MAINTAINER:=Morse Micro <info@morsemicro.com>
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
@ -27,6 +27,8 @@ RSTRIP:=:
include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
define Package/morse-fw define Package/morse-fw
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
@ -35,7 +37,19 @@ define Package/morse-fw
PROVIDES:=morse-fw PROVIDES:=morse-fw
endef 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 define Build/Compile
@ -43,6 +57,7 @@ endef
define Package/morse-fw/install define Package/morse-fw/install
$(INSTALL_DIR) $(1)/lib/firmware/morse/. $(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 \ if [ -e ./files/lib/firmware/morse/mm6108.bin ]; then \
$(INSTALL_DATA) ./files/lib/firmware/morse/mm6108.bin $(1)/lib/firmware/morse/; \ $(INSTALL_DATA) ./files/lib/firmware/morse/mm6108.bin $(1)/lib/firmware/morse/; \
else \ else \
@ -50,4 +65,14 @@ define Package/morse-fw/install
fi fi
endef 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))
$(eval $(call BuildPackage,morse-fw-tlm))

View File

@ -9,14 +9,14 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=morse_driver PKG_NAME:=morse_driver
PKG_RELEASE=3 PKG_RELEASE=3
PKG_VERSION:=1.12.4 PKG_VERSION:=1.14.1
PKG_LICENSE:=GPLv2 PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_VERSION:=$(PKG_VERSION)
PKG_SOURCE_URL:=https://github.com/MorseMicro/morse_driver.git PKG_SOURCE_URL:=https://github.com/MorseMicro/morse_driver.git
PKG_HASH:=159d018a92e0cf742795ed49bd94fb6ed324163012bb91c2a2e4e0f6037bbf23 PKG_HASH:=9eed1c0bc39cf9c1e3c8e109c3e014e6016cc85314630c890e49dd4fccd06b2b
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_MAINTAINER:=Morse Micro PKG_MAINTAINER:=Morse Micro

View File

@ -1,67 +0,0 @@
From eabda6db495e0493ea71cb5b25e1c600a2002f1e Mon Sep 17 00:00:00 2001
From: Nev Young <neville.young@morsemicro.com>
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

View File

@ -10,13 +10,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=hostapd_s1g PKG_NAME:=hostapd_s1g
PKG_RELEASE=2 PKG_RELEASE=2
PKG_VERSION:=1.12.4 PKG_VERSION:=1.14.1
PKG_LICENSE:=BSD-3-Clause PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_VERSION:=$(PKG_VERSION)
PKG_SOURCE_URL:=https://github.com/MorseMicro/hostap.git PKG_SOURCE_URL:=https://github.com/MorseMicro/hostap.git
PKG_HASH:=a2f17ce3d2fe25d45cc2d6869e9ea644bcac441ec9b541972034768d4fc63608 PKG_HASH:=2e06594bf51db31556a9efc8ffbee11181777de05aeba7414a1e70d7be2dfddb
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_MAINTAINER:=Morse Micro <info@morsemicro.com> PKG_MAINTAINER:=Morse Micro <info@morsemicro.com>
@ -38,7 +38,7 @@ PKG_CONFIG_DEPENDS:= \
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
MAKE_FLAGS += \ MAKE_FLAGS += \
MORSEHOSTAPD_VERSION_STRING=$(PKG_VERSION) MORSE_VERSION=$(PKG_VERSION)
MMHOSTAPD_CONFIG_ENABLE = \ MMHOSTAPD_CONFIG_ENABLE = \
CONFIG_INTERNAL_LIBTOMMATH \ CONFIG_INTERNAL_LIBTOMMATH \
@ -145,7 +145,7 @@ TARGET_LDFLAGS_C += -lrt
define Build/RunMake define Build/RunMake
CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ 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) \ $(TARGET_CONFIGURE_OPTS) \
$(DRIVER_MAKEOPTS) \ $(DRIVER_MAKEOPTS) \
LIBS="$(TARGET_LDFLAGS)" \ LIBS="$(TARGET_LDFLAGS)" \

View File

@ -1,45 +0,0 @@
From 5433351ed5ab62c2d4fbd15a2c4d8c4aeacb93dc Mon Sep 17 00:00:00 2001
From: Evan Benn <evan.benn@morsemicro.com>
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

View File

@ -1,90 +0,0 @@
From 25631fa387af430b8d7f03302218c66dc161cc6f Mon Sep 17 00:00:00 2001
From: Andrew Pope <andrew.pope@morsemicro.com>
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

View File

@ -1,40 +0,0 @@
From c2b6ece1375affba47f7d94d0303dc83087ff8b7 Mon Sep 17 00:00:00 2001
From: James Haggerty <james.haggerty@morsemicro.com>
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

View File

@ -10,13 +10,12 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=morse-dppd PKG_NAME:=morse-dppd
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_VERSION:=1.12.4 PKG_VERSION:=1.14.1
PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_VERSION:=$(PKG_VERSION)
PKG_SOURCE_URL:=https://github.com/MorseMicro/dpp-daemon.git PKG_SOURCE_URL:=https://github.com/MorseMicro/dpp-daemon.git
PKG_MIRROR_HASH:=fd2011465ab94d22575189b943ca285d6be96ae7e0b5e204fb8d18d1277fbf6e
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_HASH:=dd8b39752a632f052ec6706661a93bb4e9d3a8f22a1bad5355ee71fe1996b680 PKG_HASH:=e3151c07d9a87f1812fe83ccff54078f91fe31d58b5c8b432f41bca0f43e25b4
MAKE_PATH:=daemon MAKE_PATH:=daemon
@ -57,12 +56,15 @@ TARGET_CFLAGS += \
-DCONFIG_IPV6 \ -DCONFIG_IPV6 \
-DNEED_AP_MLME -DNEED_AP_MLME
# Add CFLAGS to suppress warnings about the usage of deprecated OpenSSL APIs.
TARGET_CFLAGS += -Wno-deprecated-declarations
define Package/morse-dppd define Package/morse-dppd
SECTION:=Utilities SECTION:=Utilities
CATEGORY:=Utilities CATEGORY:=Utilities
TITLE:=MorseMicro 802.11ah DPP Daemon TITLE:=MorseMicro 802.11ah DPP Daemon
MAINTAINER:=Morse Micro 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 endef
define Package/morse-dppd/description define Package/morse-dppd/description
@ -72,7 +74,7 @@ endef
define Package/morse-dppd/install define Package/morse-dppd/install
$(INSTALL_DIR) $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/init.d $(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/ $(INSTALL_BIN) ./files/etc/init.d/dppd $(1)/etc/init.d/
endef endef

View File

@ -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)

View File

@ -10,13 +10,14 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=morsecli PKG_NAME:=morsecli
PKG_RELEASE=5 PKG_RELEASE=5
PKG_VERSION:=1.12.4 PKG_VERSION:=1.14.1
PKG_LICENSE:=GPLv2 PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:= PKG_LICENSE_FILES:=
PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_VERSION:=$(PKG_VERSION)
PKG_SOURCE_URL:=https://github.com/MorseMicro/morse_cli.git PKG_SOURCE_URL:=https://github.com/MorseMicro/morse_cli.git
PKG_MIRROR_HASH:=d7871f4d8f3e10b1413995c3668e1b079685a4ffd0b6be4c268befcab2304e8f
PKG_HASH:=04c88a3aea99082a29eb1f84a9b62dcbb85980fa040e0e34901c1826f33ae74c PKG_HASH:=04c88a3aea99082a29eb1f84a9b62dcbb85980fa040e0e34901c1826f33ae74c
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
@ -29,7 +30,7 @@ define Package/morsecli
SECTION:=utils SECTION:=utils
CATEGORY:=Network CATEGORY:=Network
TITLE:=Morse Micro WIFI HaLow driver command line tool TITLE:=Morse Micro WIFI HaLow driver command line tool
DEPENDS:= +kmod-morse +libnl DEPENDS:= +kmod-morse +libnl +libusb-1.0
FILES:=\ FILES:=\
$(PKG_BUILD_DIR)/morse_cli $(PKG_BUILD_DIR)/morse_cli
PROVIDES:=morsectrl PROVIDES:=morsectrl

View File

@ -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 # 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_NAME:=smart_manager
PKG_RELEASE:=1 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:=$(PKG_NAME)_$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/MorseMicro/smart-manager/releases/download/1.12.4/ PKG_SOURCE_URL:=https://github.com/MorseMicro/smart-manager/releases/download/1.14.1/
PKG_HASH:=a47268778460242cf7d67c9e6959d2945e43f9afac0204a5b870b237958be018 PKG_HASH:=e873fb663612071c6550cf77371fe12d6686e324551d601d5ac63b299d5a0c33
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION) PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
@ -36,9 +36,13 @@ endef
define Package/smart_manager/install define Package/smart_manager/install
$(INSTALL_DIR) $(1)/etc $(INSTALL_DIR) $(1)/etc
$(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/usr/share/smart_manager
$(INSTALL_DIR) $(1)/sbin $(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_BIN) $(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/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 endef
$(eval $(call BuildPackage,smart_manager)) $(eval $(call BuildPackage,smart_manager))

View File

@ -17,7 +17,7 @@ define Package/wpa_event_listener
CATEGORY:=Base system CATEGORY:=Base system
TITLE:= WPA supplicant s1g event listener TITLE:= WPA supplicant s1g event listener
MAINTAINER:=Morse Micro MAINTAINER:=Morse Micro
DEPENDS:= wpa_supplicant_s1g +libwpa_client DEPENDS:= wpa_supplicant_s1g +libwpa_client_s1g
endef endef
define Package/wpa_event_listener/description define Package/wpa_event_listener/description

View File

@ -3,7 +3,7 @@
# #
APP=wpa_event_listener APP=wpa_event_listener
LDFLAGS+=-lwpa_client -lubox LDFLAGS+=-lwpa_client_s1g -lubox
ODIR=build ODIR=build

View File

@ -10,13 +10,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=wpa_supplicant_s1g PKG_NAME:=wpa_supplicant_s1g
PKG_RELEASE=2 PKG_RELEASE=2
PKG_VERSION:=1.12.4 PKG_VERSION:=1.14.1
PKG_LICENSE:=BSD-3-Clause PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_VERSION:=$(PKG_VERSION)
PKG_SOURCE_URL:=https://github.com/MorseMicro/hostap.git PKG_SOURCE_URL:=https://github.com/MorseMicro/hostap.git
PKG_HASH:=c342d1489d03363b79b5b4e185ccbceca53aab9e634daefb81180ad1012b77b7 PKG_HASH:=5ad24b655857051690dcab437377efbdfcfeb82c185dc7e36b3bc905554b3da8
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_MAINTAINER:=Morse Micro <info@morsemicro.com> PKG_MAINTAINER:=Morse Micro <info@morsemicro.com>
@ -25,7 +25,7 @@ PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
MAKE_FLAGS += \ MAKE_FLAGS += \
MORSEWPA_SUPPLICANT_VERSION_STRING=$(PKG_VERSION) MORSE_VERSION=$(PKG_VERSION)
# Add support for simple background scan # Add support for simple background scan
MMWPA_SUPPLICANT_CONFIG_SET = \ MMWPA_SUPPLICANT_CONFIG_SET = \
@ -64,6 +64,8 @@ MMWPA_SUPPLICANT_CONFIG_ENABLE = \
CONFIG_IBSS_RSN \ CONFIG_IBSS_RSN \
CONFIG_OWE \ CONFIG_OWE \
CONFIG_DPP \ CONFIG_DPP \
CONFIG_DPP2 \
CONFIG_DPP3 \
CONFIG_SAE \ CONFIG_SAE \
CONFIG_SAE_PK \ CONFIG_SAE_PK \
CONFIG_TESTING_OPTIONS \ CONFIG_TESTING_OPTIONS \
@ -108,15 +110,15 @@ define Package/wpa_supplicant_s1g
PROVIDES:=wpa_supplicant_s1g PROVIDES:=wpa_supplicant_s1g
endef endef
define Package/libwpa_client define Package/libwpa_client_s1g
SECTION:=net SECTION:=net
CATEGORY:=Network CATEGORY:=Network
SUBMENU:=WirelessAPD SUBMENU:=WirelessAPD
TITLE:=libwpa_client TITLE:=libwpa_client_s1g
DEPENDS:=wpa_supplicant_s1g DEPENDS:=wpa_supplicant_s1g
endef endef
define Package/libwpa_client/description define Package/libwpa_client_s1g/description
wpa_supplicant_s1g client library wpa_supplicant_s1g client library
endef endef
@ -143,6 +145,8 @@ TARGET_CPPFLAGS := \
-DCONFIG_LIBNL20 \ -DCONFIG_LIBNL20 \
-D_GNU_SOURCE -D_GNU_SOURCE
TARGET_CFLAGS += -Wno-deprecated-declarations
TARGET_LDFLAGS += -lnl-3 -lnl-genl-3 -lnl-route-3 TARGET_LDFLAGS += -lnl-3 -lnl-genl-3 -lnl-route-3
TARGET_LDFLAGS += -lm -lpthread -lcrypto -lssl TARGET_LDFLAGS += -lm -lpthread -lcrypto -lssl
ifeq ($(CONFIG_MORSE_WPA_SUPPLICANT_S1G_DBUS),y) ifeq ($(CONFIG_MORSE_WPA_SUPPLICANT_S1G_DBUS),y)
@ -151,7 +155,7 @@ endif
define Build/RunMake define Build/RunMake
CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ 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) \ $(TARGET_CONFIGURE_OPTS) \
$(DRIVER_MAKEOPTS) \ $(DRIVER_MAKEOPTS) \
LIBS="$(TARGET_LDFLAGS)" \ LIBS="$(TARGET_LDFLAGS)" \
@ -165,7 +169,7 @@ define Build/Compile
+$(call Build/RunMake,wpa_supplicant, \ +$(call Build/RunMake,wpa_supplicant, \
wpa_supplicant_s1g wpa_cli_s1g \ wpa_supplicant_s1g wpa_cli_s1g \
) )
+$(call Build/RunMake,wpa_supplicant, libwpa_client.so) +$(call Build/RunMake,wpa_supplicant, libwpa_client_s1g.so)
endef endef
define Package/wpa_supplicant_s1g/install define Package/wpa_supplicant_s1g/install
@ -179,17 +183,17 @@ ifeq ($(CONFIG_MORSE_WPA_SUPPLICANT_S1G_DBUS),y)
endif endif
endef endef
define Package/libwpa_client/install define Package/libwpa_client_s1g/install
$(INSTALL_DIR) $(1)/usr/lib/ $(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 endef
define Build/InstallDev define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib/ $(INSTALL_DIR) $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/include/ $(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 $(CP) $(PKG_BUILD_DIR)/src/common/wpa_ctrl.h $(1)/usr/include/wpa_ctrl.h
endef endef
$(eval $(call BuildPackage,wpa_supplicant_s1g)) $(eval $(call BuildPackage,wpa_supplicant_s1g))
$(eval $(call BuildPackage,libwpa_client)) $(eval $(call BuildPackage,libwpa_client_s1g))

View File

@ -1,45 +0,0 @@
From 5433351ed5ab62c2d4fbd15a2c4d8c4aeacb93dc Mon Sep 17 00:00:00 2001
From: Evan Benn <evan.benn@morsemicro.com>
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

View File

@ -1,90 +0,0 @@
From 25631fa387af430b8d7f03302218c66dc161cc6f Mon Sep 17 00:00:00 2001
From: Andrew Pope <andrew.pope@morsemicro.com>
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

View File

@ -1,40 +0,0 @@
From c2b6ece1375affba47f7d94d0303dc83087ff8b7 Mon Sep 17 00:00:00 2001
From: James Haggerty <james.haggerty@morsemicro.com>
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