Nrf2 OTA Fails Every Time

I have been trying to update my rak4631 devices with both nRF Connect and the DFU app, and each time it fails. For example, I get to the point of “bootloader enabled” then “DFU Initialized” on the DFU app, and once it passes those and moves on to the Firmware upload, it fails, which requires me to drag and drop flash the device to get it working again. My devices are on 2.3.2 and above, and I have tried on 3 different rak4631 devices with the same result. Any ideas what the issue is or what I may be doing wrong? I have many devices in hard to reach locations that I would like to keep updated as much as possible.

Thanks!

you have to use an older version of nrf app !
if the app updated automatically on your android device, it does not work any more for ota update !
reinstall older version it has to be version 4.24.3
always check app version before ota update !
manual:

1 Like

Thanks for that info. Unfortunately I have an iPhone so that solution doesn’t work for me. Any iPhone related fixes?

I’m curious about choosing “none” in the meshtastic app first. Selecting no node. Even with app closed I wonder if it has some hook in the background that prevents the nRF app from connecting how it wants.

On Android I’ve been testing that first with better luck. Of course having to use the older app is also annoying. Still not sure that’s the answer but wonder if it helps.

I gave that a try as well and still the same result. Has anyone else had luck getting this to work recently with and iPhone?

Update, I was finally able to get it to work. I tested out different number of packets in the settings. 10 is the first that would allow me to start the upload but wouldn’t finish. I eventually landed on 5 being the fastest I could go without it failing. It took exactly 10 minutes to update my node to 2.3.7 using the nRF Device Firmware Update App (DFU). Hopefully this helps others who are running into the same issue.

1 Like

Thank you @foxlaw ! I’ve tried numerous times using the nRF app on an iPhone and it fails and locks up the device I’m trying to update. Using your settings allowed me to at least start the upload to a WisBlock 4631. Thank you!

Note: firmware upload speeds were at ~ 1kB/s. Yes, it appears to be one kilobyte per second (slow).

Eventually it timed out after ~5 minutes and failed and I had to update via a computer via USB-C.

*edit: keep your screen awake! My screen went to sleep and this likely caused it to fail.

You’re welcome. I was able to up it to 10 using the DFU app. Just make sure you DONT let your screen go to sleep. That made mine time out every time. Pain but it works.

1 Like

ah! My screen did goto sleep. That’s probably what happened to cause it to time out. I’ll keep the screen awake next time.

This will definitely cause it to fail.

1 Like

I did some extensive testing back a few months ago. They’ve definitely improved the nRF DFU app/library as it is now possible to make it work. However, it seems the changes made to the RAK4631 bootloader last year, which helped make it work somewhat, might be causing issues now. The older version of the bootloader 0.4.2 tends to work without issue on both Android and iOS using the latest version of the DFU apps. However, devices with the newer bootloader 0.4.3, tend to fail or have issues unless you adjust settings in the DFU apps to use PRN and 10 packets.

I think there’s a post here that covers that completely, two months after discord :sweat_smile:.

1 Like