4631 conversion went wrong

So I finally managed converting from 4631 R to the regular version (because I want to use meshtastic), and through trial and tribulations I managed to do so with the nrfutil method. So after this method it rebooted, and it could be seen as a usb drive and it had the regular " CURRENT.UF2, INDEX.HTM, and INFO_UF2.TXT" inside of it. The instruction was to get the latest release which is the “firmware-rak4631-” and put it inside, so I did, it reboots, but upon reboot there is no connectivity with Bluetooth.

If I try to reach it through CLI or Tera term I only get timeouts. After a reboot of my pc, its timeouts, before that I get a port blocked warning. So no bluetooth. Cannot reach it with CLI. Tera Term also timesout. I have no idea what I am doing wrong. The “meshtastic --info” also time out. But at least the double click and usb visiblity works now.

The last firmware I put in was the factory erase. After that it just acted like it did now. Meshtastic --noproto also times out

Did I just brick it?

C:\Users\Anon\Desktop\rak conversion>meshtastic --info
Traceback (most recent call last):
File “”, line 198, in run_module_as_main
File “”, line 88, in run_code
File "C:\Program Files\Python311\Scripts\meshtastic.exe_main
.py", line 7, in
File "C:\Users\Anon\AppData\Roaming\Python\Python311\site-packages\meshtastic_main
.py", line 1351, in main
File “C:\Users\Anon\AppData\Roaming\Python\Python311\site-packages\meshtastic_main_.py”, line 953, in common
client = meshtastic.serial_interface.SerialInterface(
File “C:\Users\Anon\AppData\Roaming\Python\Python311\site-packages\meshtastic\serial_interface.py”, line 61, in init
File “C:\Users\Anon\AppData\Roaming\Python\Python311\site-packages\meshtastic\stream_interface.py”, line 50, in init
File “C:\Users\Anon\AppData\Roaming\Python\Python311\site-packages\meshtastic\stream_interface.py”, line 74, in connect
File “C:\Users\Anon\AppData\Roaming\Python\Python311\site-packages\meshtastic\mesh_interface.py”, line 599, in _waitConnected
raise Exception(“Timed out waiting for connection completion”)
Exception: Timed out waiting for connection completion

fun fact, just to get here took me 5 hours through many different methods, I am so tired :frowning:

Hi @derpman

I tried the latest meshtastic firmware-rak4631- on my RAK4631 and this FW is working fine and connect via Bluetooth.

I do not think that your RAK4631 module is damaged or permanently bricked but I will suggest to use RAKDAP1 or Jlink to erase it and upload a new RAK4631 Arduino BSP bootloader.

I tried flashing it with the common USB method and I got this

C:\Users\Anon\Desktop\rak conversion>nrfutil.exe dfu serial -pkg WisCore_RAK4631_Board_Bootloader.zip -p COM7
Traceback (most recent call last):
File “nordicsemi_main_.py”, line 1555, in
File “click\core.py”, line 1137, in call
File “click\core.py”, line 1062, in main
File “click\core.py”, line 1668, in invoke
File “click\core.py”, line 1668, in invoke
File “click\core.py”, line 1404, in invoke
File “click\core.py”, line 763, in invoke
File “nordicsemi_main_.py”, line 1073, in serial
File “nordicsemi_main_.py”, line 982, in do_serial
File “nordicsemi\dfu\dfu.py”, line 69, in init
File “nordicsemi\dfu\package.py”, line 671, in unpack_package
File “nordicsemi\dfu\manifest.py”, line 200, in from_json
TypeError: init() got an unexpected keyword argument ‘dfu_version’
[12124] Failed to execute script ‘main’ due to unhandled exception!

I am building a meshtastic router, and have some media outreach that I wanted to do. Everything just got postponed by a ton of time because of this user unfriendliness. Bluetooth doesnt work, USB nrfutil doesnt work. Arduino doesnt work. Tera Ferm doesnt work. I feel like its a little bit of false advertising when the manual stated that its easy and you can update it by dragging and dropping into the USB. This is so far the hardest thing I had to do, even compiling firmware for 3d printers (out of which you first have to solve 3 big problems that no forum mentions anywhere yourself). How can you sell this to the masses if its technical degree is on “extreme”, and now you need to buy a special dongle just to program it for basic function? Bro…

I understand your frustration. Moving from nrfutil to adafruit and back-and-forth can be a pain. Based on your previous message, you already have moved on adafruit-util, if you are now on adafruit-ulit, you will not be able to execute nrfutil.exe since the chip now has a different bootloader.

Changing bootloaders is usually done via external debugger/tools. But we hacked a way to make conversion possible via USB (however there are still compatibility issues on this and the only way left to make a clean conversion is via external tools).

This happen because the module is RAK4631-R. If is the meshtastic kit from our store, this should have been an easy drag-and-drop update.

Yea a bit a mistake on my end, a small detail. Still it is very frustrating. The jlink however does seem to be cheap enough. So I guess I will try that.

Jlink is a really useful device. I usually use STM32 chips and the built-in UART bootloader is really useful on erasing flash and uploading hex files. I can easily revive messed up chips. But for nRF52840, Jlink or RAKDAP1 is really needed. I was forced to buy a Jlink as well.

managed to fix it by the advice in another thread, no jlink needed

Also for those interested, behold, my router box!


Not the only thing left is to make it pair with meshtastic. USB config seems to work but no idea how to pair it. Can it even be paired? Meshtastic finds it, but nothing happens once you select it.