I have two RAK4631 devices, one of them I was able to flash the Meshtastic firmware on there and everything worked great. The other one is giving me a lot of trouble… This one is a real head scratcher.
I bought the model that had the Arduino bootloader. I was having trouble getting to the mode where I can upload UF2 files when I double clicked the reset button. It was very similar to this post (hxxps://forum.rakwireless.com/t/difficulty-entering-dfu-mode-during-firmware-update/13513), and I tried reflashing the bootloader (following the instructions here: Convert RAK4631-R to RAK4631 | Meshtastic )
After putting that firmware on there, it reboots and goes into the UF2 upload mode (reliably). Here’s the INFO_UF2.TXT file:
UF2 Bootloader 0.4.2 lib/nrfx (v2.0.0) lib/tinyusb (0.10.1-293-gaf8e5a90) lib/uf2 (remotes/origin/configupdate-9-gadbb8c7)
Model: WisBlock RAK4631 Board
Board-ID: WisBlock-RAK4631-Board
Date: Dec 1 2021
SoftDevice: S140 6.1.1
So it’s an awkward way to get into this mode, but it’s a reliable way to do so. I flashed the latest meshtastic image (2.5.20) using their UF2 file using the instructions here:
After doing this the green LED flickers as its being copied, and when it’s done the computer shows that the device is removed and the green light goes off. I then see the /dev/ttyACM0 device come back. This all seems reasonable so far.
When I try to connect to the device view bluetooth, I don’t see anything to pair with. When I try to connect using the web client (hxxps://client.meshtastic.org) it sees /dev/ttyACM0 and attempts to connect to it, but then it never loads any messages or settings and says the device is unknown.
The green light never turns on (it should be getting a heartbeat with the default settings of the meshtastic firmware).
I also tried repeating this process with v2.5.18 of meshtastic with the same results. I repeated the process using another computer. Same results.
Both my computers are Linux (Debian 12).
This is 100% repeatable.
I don’t know of any way for others to replicate the problem. The other device I have worked fine. I’m very much afraid to go through this process with my working board because I don’t want to have two useless devices, but I’m also to do so to see if I get the same behavior over there.
I also tried resetting the flash storage as described here: hxxps://meshtastic.org/docs/getting-started/flashing-firmware/nrf52/nrf52-erase/ and again using the .ino file from this thread: hxxps://forum.rakwireless.com/t/rak4631-meshtastic-kit-not-booting/6492
No matter what I do, I get the same results. It’s maddening because everything went so smoothly on the other, identical device.
It doesn’t seem like bad software since that same uf2 file worked on the other device. At the same time, it doesn’t seem like bad hardware because I can flash the bootloader, upload an Arduino sketch, and when I get into the mode where I can upload uf2 files, that part appears to work fine.
So what am I missing here? What additional tests can I run to try to figure out what is going wrong? Should I try to put meshtastic 2.5.20 onto my other device (which is currently running 2.5.18) and risk getting that into this same wonky state?
Side note: I was able to get the troublesome device into the mode where UF2 files can be uploaded once by double tapping the reset button. I don’t know if it was some wicked difficult timing thing or what, but I don’t remember the other device having any trouble with this.