rnode.device_probe() rnode.download_eeprom() if rnode.provisioned and rnode.signature_valid: This device is already installed and provisioned. No further action will if rnode.detected: The device seems to have an RNode firmware installed, but it was not provisioned correctly, or it is corrupt We are going to reinstall the correct firmware and provision it. else It looks like this is a fresh device with no RNode firmware. selected_product = ROM.PRODUCT_RAK4631 selected_platform = None selected_model = None selected_mcu = ROM.MCU_NRF52 print("\nWhat band is this RAK4631 for?\n") print("[1] 433 MHz") selected_model = ROM.MODEL_11 selected_platform = ROM.PLATFORM_NRF52 print("[2] 868 MHz") print("[3] 915 MHz") print("[4] 923 MHz") selected_model = ROM.MODEL_12 selected_platform = ROM.PLATFORM_NRF52 fw_filename = models[selected_model][4] if fw_filename == None: Sorry, no firmware for your board currently exists. args.key = True args.port = selected_port.device args.platform = selected_platform args.hwrev = 1 mapped_model = selected_model mapped_product = selected_product args.update = False args.flash = True ensure_firmware_file(fw_filename) get or generate device signing key (rns identity is used) get or generate eeprom signing key (rsa private key is generated) get partition hash (sha256 of firmware file for rak) extract firmware zip folder get flasher call adafruit-nrfutil dfu serial --package fw_filename -p args.port -b 115200 -t 1200 adafruit-nrfutil dfu serial --package ~/Downloads/rnode_firmware_rak4631.zip -p /dev/cu.usbmodem14401 -b 115200 -t 1200 --package dfu filename -p comport -b baud rate -t Open port with specified baud then close it, before uploading https://github.com/adafruit/Adafruit_nRF52_nrfutil/blob/master/nordicsemi/__main__.py https://github.com/adafruit/Adafruit_nRF52_nrfutil/blob/master/nordicsemi/dfu/dfu_transport_serial.py#L49 https://github.com/markqvist/Reticulum/discussions/471