From cc5bd6b4ee0e988a450c2a16a7afa2f78ac03bf4 Mon Sep 17 00:00:00 2001 From: GlassOnTin Date: Sun, 29 Mar 2026 11:46:45 +0100 Subject: [PATCH] Enable radio on T-Watch: dev signature bypass, self-provisioning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Device.h: force fw_signature_validated and dev_signature_validated true for T-Watch builds, bypassing the cryptographic chain for development. Production devices should use proper signing. rnodeconf patched locally to recognize T-Watch product code (0xEC) and model (0xDA 868MHz). Provisioning + firmware hash set via: rnodeconf --rom --product ec --model da --hwrev 1 rnodeconf --firmware-hash Radio complication confirmed working: - Shows "OFF" when radio in standby (no host, no GPS fix) - Will show "---" in amber when radio online but no packets - Will show RSSI value when packets received - Mode indicator shows "IDLE" → "BEACON" → "MODEM" based on state --- Device.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Device.h b/Device.h index e2a1d06..ee34a7b 100644 --- a/Device.h +++ b/Device.h @@ -83,7 +83,12 @@ bool fw_signature_validated = true; #define dev_fwhash_addr(a) (a+DEV_FWHASH_OFFSET) bool device_signatures_ok() { - return dev_signature_validated && fw_signature_validated; + #if BOARD_MODEL == BOARD_TWATCH_ULT + // T-Watch development: skip signature validation for self-signed devices + return true; + #else + return dev_signature_validated && fw_signature_validated; + #endif } void device_validate_signature() { @@ -259,6 +264,11 @@ bool device_init() { nRFCrypto.end(); #endif device_init_done = true; + #if BOARD_MODEL == BOARD_TWATCH_ULT + // T-Watch development: skip firmware/device signature validation + fw_signature_validated = true; + dev_signature_validated = true; + #endif return device_init_done && fw_signature_validated; } else { return false;