chore(nordic): switch to softdevice controller
What changed, and why it matters
This commit changes the Bluetooth low-level radio controller used in a Trezor Nordic nRF52832 board from Zephyr's open-source 'SW Split' controller to Nordic's proprietary 'SoftDevice' controller. It also removes some Bluetooth debug UART bindings and disables an alternative HCI controller node. There is no direct evidence in the commit of a security vulnerability or fix; it appears to be a routine build/configuration change.
Treat as a normal firmware maintenance commit. If reviewing for security, compare known CVEs and advisories for Nordic SoftDevice Controller versus Zephyr SW Split controller in the target Zephyr/NCS version, and verify that the removed debug UARTs are not accessible on production hardware. No immediate security action is indicated by the diff alone.
Security signals we found
Bluetooth link-layer controller swap (SW Split -> SoftDevice)
Removal of Bluetooth monitor and controller-to-host UART bindings
Disabling of &bt_hci_sdc node in device tree
Evidence from the diff
The patch switches CONFIG_BT_LL_SW_SPLIT to CONFIG_BT_LL_SOFTDEVICE in prj.conf and updates the device tree for t3w1_revA_nrf52832: it removes zephyr,bt-mon-uart, zephyr,bt-c2h-uart, and zephyr,bt-hci chosen properties, disables &bt_hci_sdc, and removes the &bt_hci_controller ‘okay’ status block. This is a controller migration for the BLE firmware image. The diff does not contain any vulnerability fix, bounds check, crypto change, or memory safety patch. Security implications are speculative and depend on the relative maturity of the two Bluetooth link-layer implementations.
Changed components
nordic/trezor/trezor-ble/prj.confnordic/trezor/boards/arm/t3w1_revA_nrf52832/t3w1_revA_nrf52832.dtsInspect captured patch +1 / −11
diff --git a/nordic/trezor/boards/arm/t3w1_revA_nrf52832/t3w1_revA_nrf52832.dts b/nordic/trezor/boards/arm/t3w1_revA_nrf52832/t3w1_revA_nrf52832.dts
index b8b28b831..4b7d86e95 100644
--- a/nordic/trezor/boards/arm/t3w1_revA_nrf52832/t3w1_revA_nrf52832.dts
+++ b/nordic/trezor/boards/arm/t3w1_revA_nrf52832/t3w1_revA_nrf52832.dts
@@ -17,12 +17,9 @@
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
zephyr,uart-mcumgr = &uart0;
- zephyr,bt-mon-uart = &uart0;
- zephyr,bt-c2h-uart = &uart0;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zephyr,code-partition = &slot0_partition;
- zephyr,bt-hci = &bt_hci_controller;
};
leds {
@@ -74,13 +71,6 @@
};
};
-&bt_hci_sdc {
- status = "disabled";
-};
-
-&bt_hci_controller {
- status = "okay";
-};
&adc {
status = "okay";
diff --git a/nordic/trezor/trezor-ble/prj.conf b/nordic/trezor/trezor-ble/prj.conf
index 662762256..c7e2b1410 100644
--- a/nordic/trezor/trezor-ble/prj.conf
+++ b/nordic/trezor/trezor-ble/prj.conf
@@ -51,7 +51,7 @@ CONFIG_BT_FILTER_ACCEPT_LIST=y
CONFIG_BT_BONDING_REQUIRED=y
CONFIG_BT_PRIVACY=y
CONFIG_BT_TINYCRYPT_ECC=y
-CONFIG_BT_LL_SW_SPLIT=y
+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
Why this scored 16/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.