Hi
I am currently evaluating a 52840-DK (from 2017 I believe) and several 52840 dongles (ordered very recently). I managed to successfully run the light/switch mesh example. Both using the nrf5/mesh SDK (and softdevice s140) as well as with the (newer) zephyr-based nRF Connect SDK (NCS). One remaining question is now how to best program the dongles. The only way I managed to program them so far is via the nrf connect app using the programmer utility. What I observed, however, is that it takes several iterations of selecting/de-selecting a dongle device until it finally is recognised by the programmer utility. The error messages I get look like:
16:31:04.890 Error when calling version command: Error: Error: Device or resource busy, cannot open /dev/ttyACM0
16:31:04.891 Error when fetching device versions: TypeError: Cannot read property 'part' of undefined
16:31:04.891 Error when closing serial port: Error: Port is not open
After a while (maybe 30s) the connection is finally established and all looks good:
16:31:32.676 Protocol Version: 1 found
16:31:32.679 Hardware: 52840 found
16:31:32.682 Firmware: Bootloader found
16:31:32.682 Firmware: Application found
After that I am able to program the device for a single time (and will then have to go through the lengthy iteration cycle again). Is this the expected behaviour on Linux? Or am I missing something in my setup maybe?
Is there a better way of programming the dongle(s) even? I tried nrfutil but only got errors so far when I tried to flash an NCS based application. What puzzles me, however, is that the nrfutil asks for a softdevice id (mandatory) when creating a downloadable package. I test-wise created a package with --sd-req=0x0, which - when loaded into the DK - would then trigger a scan operation in the DK and return a list of scanned bluetooth devices. So all seems to be OK from the DK side. (The DK runs the connectivity firmware.)
==> Before I dig further into this, I'd like to clarify whether it is even possible to use nrfutil for flashing the dongles ?? Also, could one dongle be used to program several other dongles or do I definitely need the DK for this?
Another question is related to debugging. Is it somehow possible to (mis-)use the USB connection of the dongle as a console? Such that you can re-direct print statements to that console?
Thanks,
Herb