From 73f7b35bea59df8bd74bcd3cbe00b30a64e49c52 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 22 Aug 2026 17:00:47 -0500 Subject: [PATCH] Report the right hardware model on four boards (#11570) Four variants declare a custom_meshtastic_hw_model that the build never reaches, so the device announces something else in NodeInfo and the apps cannot match it for OTA. Mini ePaper S3 (125) and Heltec V4 R8 (132) had no arm in the esp32 HW_VENDOR chain at all, so both fell through to #else and reported PRIVATE_HW. Heltec Mesh Node T096 (127) had none in the nrf52 chain and reported NRF52_UNKNOWN. WisMesh Tap V2 defines both RAK3312 and RAK_WISMESH_TAP_V2, and the generic RAK3312 arm sat first, so the board reported RAK3312 (106) instead of WISMESH_TAP_V2 (116). Order the specific arm ahead of the generic one, the same way the nrf52 chain already keeps custom RAK4630 boards ahead of the generic RAK4630. Verified by preprocessing each platform's HW_VENDOR chain with the env's full define set - build flags resolved through extends, the board JSON's build.extra_flags, and the bare #defines in the variant's own variant.h. All four now match their manifest, and rak3312, heltec-v4, heltec-v4-tft and the ThinkNode M9 arm added in #11567 are unchanged. --- src/platform/esp32/architecture.h | 9 +++++++-- src/platform/nrf52/architecture.h | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/platform/esp32/architecture.h b/src/platform/esp32/architecture.h index c91ead476..48618b641 100644 --- a/src/platform/esp32/architecture.h +++ b/src/platform/esp32/architecture.h @@ -188,10 +188,11 @@ #define HW_VENDOR meshtastic_HardwareModel_HELTEC_SENSOR_HUB #elif defined(ELECROW_PANEL) #define HW_VENDOR meshtastic_HardwareModel_CROWPANEL -#elif defined(RAK3312) -#define HW_VENDOR meshtastic_HardwareModel_RAK3312 +// The WisMesh Tap V2 is a RAK3312 board, so it must be matched before the generic one. #elif defined(RAK_WISMESH_TAP_V2) #define HW_VENDOR meshtastic_HardwareModel_WISMESH_TAP_V2 +#elif defined(RAK3312) +#define HW_VENDOR meshtastic_HardwareModel_RAK3312 #elif defined(LINK_32) #define HW_VENDOR meshtastic_HardwareModel_LINK_32 #elif defined(T_DECK_PRO) @@ -216,6 +217,10 @@ #define HW_VENDOR meshtastic_HardwareModel_MESHNOLOGY_W10 #elif defined(ELECROW_ThinkNode_M9) #define HW_VENDOR meshtastic_HardwareModel_THINKNODE_M9 +#elif defined(HELTEC_V4_R8) +#define HW_VENDOR meshtastic_HardwareModel_HELTEC_V4_R8 +#elif defined(MINI_EPAPER_S3) +#define HW_VENDOR meshtastic_HardwareModel_MINI_EPAPER_S3 #else #define HW_VENDOR meshtastic_HardwareModel_PRIVATE_HW #endif diff --git a/src/platform/nrf52/architecture.h b/src/platform/nrf52/architecture.h index e9abbbc29..4a6afaeae 100644 --- a/src/platform/nrf52/architecture.h +++ b/src/platform/nrf52/architecture.h @@ -147,6 +147,8 @@ #define HW_VENDOR meshtastic_HardwareModel_MUZI_BASE #elif defined(HELTEC_MESH_TOWER_V2) #define HW_VENDOR meshtastic_HardwareModel_HELTEC_MESH_TOWER_V2 +#elif defined(HELTEC_MESH_NODE_T096) +#define HW_VENDOR meshtastic_HardwareModel_HELTEC_MESH_NODE_T096 #else #define HW_VENDOR meshtastic_HardwareModel_NRF52_UNKNOWN #endif