From c8e07c04926487e1624e2a63391f412703f84243 Mon Sep 17 00:00:00 2001 From: torlando-tech Date: Fri, 31 Oct 2025 14:04:06 -0400 Subject: [PATCH] fix: Replace placeholder BLE UUIDs with Reticulum standard UUIDs Fixed discovery failure caused by GATT server advertising wrong service UUIDs. Root cause: BLEGATTServer and BLEInterface were using placeholder/test UUIDs (00000001-5824-4f48-9e1a-3b3e8f0c1234 etc.) instead of the Reticulum standard UUID namespace (37145b00-442d-4a94-917f-8f42c5da28e*). This caused Pis to advertise services that scanners couldn't recognize, blocking all BLE discovery and connection attempts. Changes: - BLEGATTServer.py: Updated all 4 service/characteristic UUIDs - BLEInterface.py: Updated all 4 service/characteristic UUIDs Diagnosed using nRF Connect mobile app which showed wrong UUIDs being advertised. Related: BLE_TEST_RESULTS_2025_10_31.md --- src/RNS/Interfaces/BLEGATTServer.py | 8 ++++---- src/RNS/Interfaces/BLEInterface.py | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/RNS/Interfaces/BLEGATTServer.py b/src/RNS/Interfaces/BLEGATTServer.py index d49c25f..6b2c5cc 100644 --- a/src/RNS/Interfaces/BLEGATTServer.py +++ b/src/RNS/Interfaces/BLEGATTServer.py @@ -57,16 +57,16 @@ class BLEGATTServer: """ # Service UUID for Reticulum BLE - SERVICE_UUID = "00000001-5824-4f48-9e1a-3b3e8f0c1234" + SERVICE_UUID = "37145b00-442d-4a94-917f-8f42c5da28e3" # RX Characteristic: Centrals write to this (we receive) - RX_CHAR_UUID = "00000002-5824-4f48-9e1a-3b3e8f0c1234" + RX_CHAR_UUID = "37145b00-442d-4a94-917f-8f42c5da28e5" # TX Characteristic: We notify on this (centrals receive) - TX_CHAR_UUID = "00000003-5824-4f48-9e1a-3b3e8f0c1234" + TX_CHAR_UUID = "37145b00-442d-4a94-917f-8f42c5da28e4" # Identity Characteristic: Centrals read this to get stable node identity (Protocol v2) - IDENTITY_CHAR_UUID = "00000004-5824-4f48-9e1a-3b3e8f0c1234" + IDENTITY_CHAR_UUID = "37145b00-442d-4a94-917f-8f42c5da28e6" def __init__(self, interface, device_name: str = "Reticulum-Node", agent_capability: str = "NoInputNoOutput"): """ diff --git a/src/RNS/Interfaces/BLEInterface.py b/src/RNS/Interfaces/BLEInterface.py index 0187235..b61c952 100644 --- a/src/RNS/Interfaces/BLEInterface.py +++ b/src/RNS/Interfaces/BLEInterface.py @@ -295,10 +295,10 @@ class BLEInterface(Interface): DEFAULT_IFAC_SIZE = 16 # BLE-specific constants - SERVICE_UUID = "00000001-5824-4f48-9e1a-3b3e8f0c1234" # Custom Reticulum BLE service - CHARACTERISTIC_RX_UUID = "00000002-5824-4f48-9e1a-3b3e8f0c1234" # RX characteristic - CHARACTERISTIC_TX_UUID = "00000003-5824-4f48-9e1a-3b3e8f0c1234" # TX characteristic - CHARACTERISTIC_IDENTITY_UUID = "00000004-5824-4f48-9e1a-3b3e8f0c1234" # Identity characteristic (Protocol v2) + SERVICE_UUID = "37145b00-442d-4a94-917f-8f42c5da28e3" # Custom Reticulum BLE service + CHARACTERISTIC_RX_UUID = "37145b00-442d-4a94-917f-8f42c5da28e5" # RX characteristic + CHARACTERISTIC_TX_UUID = "37145b00-442d-4a94-917f-8f42c5da28e4" # TX characteristic + CHARACTERISTIC_IDENTITY_UUID = "37145b00-442d-4a94-917f-8f42c5da28e6" # Identity characteristic (Protocol v2) # Discovery and connection settings DISCOVERY_INTERVAL = 5.0 # seconds between discovery scans