This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Secure DFU using bluetooth

Hi there,

Can anyone help me do secure DFU using bluetooth on PC please? I've tried every possible node.js solution to no avail.

I don't care what programming language it's in, as long as it works either on Windows 10 or Linux.

This is for nRF52832.

Thank you in advance!

Best regards, Lemmer

  • Hi,

    For PC you can use nRF Connect to transfer the .zip packet. You can also use nrfutil, see this post. We provide Node.js interface to pc-ble-driver called pc-ble-driver-js. pc-ble-driver-js support DFU, see here for syntax.

    node dfu.js FF:11:22:33:AA:BF ./dfu/dfu_test_app_hrm_s132.zip
    

    Also see this blog post.

  • Thank you for your reply, Sigurd!

    nrfConnect does not detect any of my BT dongles - I have Intel and CSR.

    After cloning that repo using git clone, I go to the dfu subdirectory and do 'npm install' I get some errors.

    I then copy in the zip into that directory and do this: D:\pc-ble-driver-js\test>node dfu.js E4:46:5C:46:3D:12 nrf52832_xxaa.zip D:\pc-ble-driver-js\node_modules\bindings\bindings.js:96 throw err ^

    Error: Could not locate the bindings file. Tried: → D:\pc-ble-driver-js\build\pc-ble-driver-js-sd_api_v2.node → D:\pc-ble-driver-js\build\Debug\pc-ble-driver-js-sd_api_v2.node → D:\pc-ble-driver-js\build\Release\pc-ble-driver-js-sd_api_v2.node → D:\pc-ble-driver-js\out\Debug\pc-ble-driver-js-sd_api_v2.node → D:\pc-ble-driver-js\Debug\pc-ble-driver-js-sd_api_v2.node → D:\pc-ble-driver-js\out\Release\pc-ble-driver-js-sd_api_v2.node → D:\pc-ble-driver-js\Release\pc-ble-driver-js-sd_api_v2.node → D:\pc-ble-driver-js\build\default\pc-ble-driver-js-sd_api_v2.node → D:\pc-ble-driver-js\compiled\6.11.2\win32\x64\pc-ble-driver-js-sd_api_v2.node at bindings (D:\pc-ble-driver-js\node_modules\bindings\bindings.js:93:9) at Object. (D:\pc-ble-driver-js\api\adapterFactory.js:41:41) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.require (module.js:497:17) at require (internal/module.js:20:19) at Object. (D:\pc-ble-driver-js\index.js:38:24)

    Any idea on how to resolve this, please?

  • You have to use either a nRF5x Development Kit or a nRF-Dongle in order to do DFU from the PC. Intel and CSR DFU is not supported.

  • That sucks. Is there any way you could add support for WinUSB or similar, please?

  • The PC tools we provide(nRFConnect, pc-ble-driver, etc) uses and builds on top of a connectivity firmware capable of decoding serialized SoftDevice commands and issue the corresponding call to the underlying BLE SoftDevice Firmware. So unfortunately, these tools will not be compatible with the any Intel of CSR dongles. Sorry for the inconvenience.

Related