I had a RAK4631 on a RAK19007 board, but unfortunately I killed the RAK19007 by attaching a battery with reversed polarisation. I transferred the RAK4631 to a new RAK19007, but I can no longer update the firmware. On macOS, the serial connection drops the moment I transfer any firmware to the RAK4631 (although it does enter DFU mode and appears on the desktop).
My first guess was that the bootloader might have been damaged, so I tried updating it unsuccessfully with nRF52_nrfutil. This is what I get:
kurtbernbacher@Schreibmaschine-2 Adafruit_nRF52_nrfutil % adafruit-nrfutil --verbose dfu serial --package wiscore_rak4631_board_bootloader-0.4.3_s140_6.1.1.zip -p /dev/cu.usbmodem1101 -b 115200 --singlebank
Upgrading target on /dev/cu.usbmodem1101 with DFU package /Users/kurtbernbacher/Adafruit_nRF52_nrfutil/wiscore_rak4631_board_bootloader-0.4.3_s140_6.1.1.zip. Flow control is disabled, Single bank, Touch disabled
Opened serial port /dev/cu.usbmodem1101
Starting DFU upgrade of type 3, SoftDevice size: 151016, bootloader size: 39000, application size: 0
Sending DFU start packet
Sending DFU init packet
Sending firmware file
Failed to upgrade target. Error is: read failed: [Errno 6] Device not configured
Traceback (most recent call last):
- File “/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/serial/serialposix.py”, line 575, in read*
- buf = os.read(self.fd, size - len(read))*
-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
OSError: [Errno 6] Device not configured
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
- File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/main.py”, line 296, in serial*
- dfu.dfu_send_images()*
- File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/dfu/dfu.py”, line 226, in dfu_send_images*
- self._dfu_send_image(HexType.SD_BL, self.manifest.softdevice_bootloader)*
- File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/dfu/dfu.py”, line 206, in _dfu_send_image*
- self.dfu_transport.send_firmware(firmware)*
- File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/dfu/dfu_transport_serial.py”, line 213, in send_firmware*
- self.send_packet(pkt)*
- File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/dfu/dfu_transport_serial.py”, line 243, in send_packet*
- ack = self.get_ack_nr()*
-
^^^^^^^^^^^^^^^^^* - File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/dfu/dfu_transport_serial.py”, line 264, in get_ack_nr*
- temp = [x for x in self.serial_port.read(6)]*
-
^^^^^^^^^^^^^^^^^^^^^^^^* - File “/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/serial/serialposix.py”, line 581, in read*
- raise SerialException(‘read failed: {}’.format(e))*
serial.serialutil.SerialException: read failed: [Errno 6] Device not configured
Possible causes:
- Selected Bootloader version does not match the one on Bluefruit device.
- Please upgrade the Bootloader or select correct version in Tools->Bootloader.*
- Baud rate must be 115200, Flow control must be off.
- Target is not in DFU mode. Ground DFU pin and RESET and release both to enter DFU mode.
Question: Have I killed the RAK4631, or could it be something else?