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

sending DFU over serial port working in windows but not working in linux

Hello,

I am in big problem, just couple of months ago i managed to run dfu over BLE mesh. Even now its working in windows platform but for some strange reason its not working in linux anymore.

I am using linux  with following specifications:

Linux iotgateway 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

While i give the following command:

sudo nrfutil --verbose dfu serial -pkg dfu_test_v_1.zip -p /dev/ttyACM0 -b 115200 -fc --mesh

It takes time and finally comes with following errors.

Upgrading target on /dev/ttyACM0 with DFU package /home/iot/Downloads/dfu_test_v_1.zip. Flow control is enabled.
Flushing com-port...
Opened com-port
Starting DFU upgrade of type 4, SoftDevice size: 0, bootloader size: 0, application size: 113584
Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing.
PC -> target: 0502aabbccdd
PC -> target: 0502aabbccdd
PC -> target: 0502aabbccdd
PC -> target: 0502aabbccdd
PC -> target: 0502aabbccdd


Failed to upgrade target. Error is: Failed to establish connection

Possible causes:
- bootloader, SoftDevice or application on target does not match the requirements in the DFU package.
- baud rate or flow control is not the same as in the target bootloader.
- target is not in DFU mode. If using the SDK examples, press Button 4 and RESET and release both to enter DFU mode.
Closing serial port...

I tried to change the access properties of the port /dev/ttyACM0 by following command

chmod 777 /dev/ttyACM0

but nothing changed.

Any help?

Related