fix(nordic/ble): adjust connection intervals for better reaction times
What changed, and why it matters
This commit tweaks Bluetooth Low Energy timing settings in Trezor's Nordic firmware so the device communicates more frequently with a paired phone or computer. The stated goal is faster reaction times, not a security fix. There is no direct evidence in the commit that this resolves an exploitable vulnerability.
No immediate security action required. Treat as routine performance tuning. If auditing, verify that the shorter intervals do not materially increase power consumption or RF exposure beyond product requirements, and that the central/host honors the updated parameters.
Security signals we found
No security-relevant keywords in commit title or message
No changelog entry requested ([no changelog])
Change is limited to BLE connection interval parameters
No input validation, memory handling, or cryptographic changes present
Evidence from the diff
The patch narrows preferred connection interval ranges in both prj.conf and connection.c. CONFIG_BT_PERIPHERAL_PREF_MAX_INT drops from 100 to 36 (1.25 ms units, so max interval from 125 ms to 45 ms). PPCP_SUSPEND changes from BT_LE_CONN_PARAM(200,400,1,600) to BT_LE_CONN_PARAM(50,100,0,600), and PPCP_LOW_SPEED’s max interval drops from 100 to 36. These are performance/latency tuning changes for the BLE link layer. The diff does not contain any bounds checks, input validation, cryptographic, or authentication changes, and no security relevance is claimed by the vendor.
Changed components
nordic/trezor/trezor-ble/prj.confnordic/trezor/trezor-ble/src/ble/connection.cInspect captured patch +3 / −3
diff --git a/nordic/trezor/trezor-ble/prj.conf b/nordic/trezor/trezor-ble/prj.conf
index f23998a92..ab2c75245 100644
--- a/nordic/trezor/trezor-ble/prj.conf
+++ b/nordic/trezor/trezor-ble/prj.conf
@@ -55,7 +55,7 @@ CONFIG_BT_LL_SOFTDEVICE=y
CONFIG_BT_CTLR_TX_PWR_PLUS_4=y
CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=y
CONFIG_BT_PERIPHERAL_PREF_MIN_INT=24
-CONFIG_BT_PERIPHERAL_PREF_MAX_INT=100
+CONFIG_BT_PERIPHERAL_PREF_MAX_INT=36
CONFIG_BT_PERIPHERAL_PREF_TIMEOUT=400
CONFIG_BT_CTLR_PHY_2M=y
CONFIG_BT_USER_PHY_UPDATE=y
diff --git a/nordic/trezor/trezor-ble/src/ble/connection.c b/nordic/trezor/trezor-ble/src/ble/connection.c
index 344d9d126..73a06c4bb 100644
--- a/nordic/trezor/trezor-ble/src/ble/connection.c
+++ b/nordic/trezor/trezor-ble/src/ble/connection.c
@@ -32,9 +32,9 @@
#define LOG_MODULE_NAME ble_connection
LOG_MODULE_REGISTER(LOG_MODULE_NAME);
-#define PPCP_SUSPEND BT_LE_CONN_PARAM(200, 400, 1, 600)
+#define PPCP_SUSPEND BT_LE_CONN_PARAM(50, 100, 0, 600)
#define PPCP_HIGH_SPEED BT_LE_CONN_PARAM(12, 12, 0, 400)
-#define PPCP_LOW_SPEED BT_LE_CONN_PARAM(24, 100, 0, 400)
+#define PPCP_LOW_SPEED BT_LE_CONN_PARAM(24, 36, 0, 400)
static struct bt_conn *current_conn = NULL;
static struct bt_conn *next_conn = NULL;
Why this scored 13/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.