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

The nRF52840 dongle no longer visible in OS after flashing firmware

Hi Nordic Support, community,

Recently I started working with the nRF52 dongle, after flashing a hex file via nRFConnect/Programmer applic (version 2.5.running on Windows 10 Pro), I no longer see my USB dongle except when operating in DFU boot mode (after pressing the reset button, red LED blinking). 

Also strange I see this in the nRFConnect/programmer applic when running DFU boot mode..., the Nordic annotation seems a little bit weird. 

When not running in DFU boot mode I see this:

Recently I thought I bricked the dongle after flashing firmware (see also this ticket, https://devzone.nordicsemi.com/f/nordic-q-a/39596/the-nrf52840-dongle-can-no-longer-be-accessed-after-flashing-hex-file, that I closed because by pressing the reset button I could get back into it) , but when pressing the reset button I could reflash it, however I still think something is broken, as the dongle is no longer present in the Device Manager when not running in DFU boot mode, nor in the Nordic Programmer applic (See screenshot above).

Also when running in DFU boot mode I see only the SDFU COMM in the Device Manager (see screenshot below), when I unpacked the dongle and first time insertion, different drivers where visible in the Device Manager related to the nRF52 Dongle. 

...

With USBView I see this when running in DFU boot mode:

This also means a USB JLINK connection can not be set up in SEGGER IDE for remote debugging as it can only be setup in DFU boot mode.

UPDATE:

After uploading the pre-compiled Connectivity firmware, ble_connectivity_s140_usb_hci_pca10059.hex,  from the  SDK V15.0.0_a53641a, and restarting the Programmer applic I see this happening (see screenshot below) and the progress circle keeps on circling for ever :

My final goal is to let the PC BLE driver running on the Ubuntu Linux system communicate via the USB link /dev/ttyACM0  with the nRF52840 dongle only to be used as BT connectivity board.

From earlier experience with the nRF52 evk with the PCA10040 (see please ticket : devzone.nordicsemi.com/.../no-valid-bidirectional-uart-communication-between-the-imx6-ul-s-evk-board-running-the-nordic-pc-ble-driver-and-the-nrf52-dk-running-the-nordic-connectivity-132-uart-software) I know it is quite difficult to get the right firmware matching running on the connectivity board and on the application board.

However I finally succeeded in running the PC BLE driver applic on a custom board (iMX6UL) and communicate via UART to the nRF52 DK board. 

So the final idea is to replace the nRF52 DK board with the nRF52840 dongle.  But for the first step in this POC I'm using a PC running Ubuntu for executing the PC BLE driver applic. 

I did this also when doing the POC with the nRF52 DK. 

Thanks in advance,

Best regards,

Frank

Parents
  • Hi,

    The nRF52840 Dongle will not show up on your computer unless the firmware configures the USB (and the OS is able to detect it). The bootloader will configure it as a USB CDC device for DFU over USB, so it should always show up when it is in bootloader mode. When it is not, it all depend on the application firmware you have flashed to it. If you want to use it as a connectivity device you could use the firmware from <SDK>\examples\connectivity\ble_connectivity\pca10059. This is essentially the same thing as the nRF Connect BLE app uses (with the pc-ble-driver).

    Br,

    Einar

Reply
  • Hi,

    The nRF52840 Dongle will not show up on your computer unless the firmware configures the USB (and the OS is able to detect it). The bootloader will configure it as a USB CDC device for DFU over USB, so it should always show up when it is in bootloader mode. When it is not, it all depend on the application firmware you have flashed to it. If you want to use it as a connectivity device you could use the firmware from <SDK>\examples\connectivity\ble_connectivity\pca10059. This is essentially the same thing as the nRF Connect BLE app uses (with the pc-ble-driver).

    Br,

    Einar

Children
  • Hi Einar,

    Thanks for the explanation, so eventually this means you can not setup a J-LINK by default and thus also not possible to debug remotely via SEGGER IDE as it needs a J-LINK connection? Isn't that the chicken egg issue here?

    So far I had no luck with the PC BLE Driver running on Ubuntu and nRF52840 running the "precompiled" ble_connectivity applic (from the SDK), the dongle is resetted by the BLE driver applic (first step) but gets a new index for its tty device, meaning /dev/ttyACM0 moves to /dev/ttyACM1 and thus as the UART device was opened intially under /dev/ttyACM0 the next UART messaging operations fail. 

    Have a nice weekend.

    Best regards,

    Frank

  • Hi Frank,

    Frank said:
    so eventually this means you can not setup a J-LINK by default and thus also not possible to debug remotely via SEGGER IDE as it needs a J-LINK connection?

    Yes, that is correct. There is no onboard debugger on the nRF52840 dongle, so  you cannot use any J-Link tools without an external debugger. Therefore I recommend you use a nRF52840 DK instead if you intend to do any development.

    Frank said:
    Isn't that the chicken egg issue here?

    Not quite. The nRF52840 Dongle is shipped with a USB bootloader, so you can (re-)program it any time using that. You enter DFU mode by holding down the button while inserting (powering) the dongle.

    Regarding the pc-ble-driver you might want to use a precompiled connectivity firmware from the pc-ble-driver GitHub repo instead, as they modified the connectivity firmware a bit. It should also match the version of pc-ble-driver you use.

  • Hi Einar,

    Thanks for the clarification.

    Regarding the PC BLE driver setup the pre-compiled Connectivity hex from the GitHub repo will be compatible with the nRF52840 so far I used it with the nRF52832?

    Also do I take the master branch to download the correct version (?), I didn't find recent improvements, only pre-compiled hex files were removed?

    https://github.com/NordicSemiconductor/pc-ble-driver/tree/master/hex/sd_api_v5

    Not sure what happened but I no longer see the dongle as /dev/ttyACM0 in my Ubuntu running in VMware.

    After upload via Nordic Programmer in Windows the Device manager, shows first COM14 and after re-inserting the dongle is announced as COM11 and COM16 (See screenshot).

    Any idea how come?

    So I think this is a death-end path to walk further for the POC with the nRF52 dongle. 

    Thanks in advance,

    Frank

Related