Hi,
I’m working on a project using RAK4630, supposed to be programmable via Arduino. I followed this guide getting started : RAK4630 WisDuo LPWAN+BLE Module | RAKwireless Documentation Center
Problem is I can’t program anything on it.
At first, I was able to configure it in Arduino IDE, found the package for the board, installed it, tried to compile some examples, etc. But i was not able to upload the program, it was always telling me “LIBUSB_ERROR_ACCESS: Unable to connect to trigger interface” and could not use.
I managed to communicate with the board, and the AT+VER=? command gave me the version number. But, the AT+BOOT command returned an error message.
After that, I tried to go through nrfutil, following topics that talked about updating the bootloader and/or firmware.
I followed this topic to flash a new bootloader and since then it’s been even worse. I can’t get anything out of the card, I can’t even exchange AT commands with it and I can’t reflash anything on it.
Nrfutil gives me that answer (I am on Ubuntu 20.04.6 LTS) :
nrfutil dfu serial -p /dev/ttyACM0 -pkg RAK4631_latest_dfu_package.zip
Upgrading target on /dev/ttyACM0 with DFU package /home/nicolas/Téléchargements/RAK4630/RAK4631/Image/RAK4631_latest_dfu_package.zip. Flow control is disabled, Dual bank, Touch disabled
Timed out waiting for acknowledgement from device.
Failed to upgrade target. Error is: Attempting to use a port that is not open
Traceback (most recent call last):
File "/home/nicolas/.local/lib/python3.8/site-packages/nordicsemi/__main__.py", line 296, in serial
dfu.dfu_send_images()
File "/home/nicolas/.local/lib/python3.8/site-packages/nordicsemi/dfu/dfu.py", line 235, in dfu_send_images
self._dfu_send_image(HexType.APPLICATION, self.manifest.application)
File "/home/nicolas/.local/lib/python3.8/site-packages/nordicsemi/dfu/dfu.py", line 203, in _dfu_send_image
self.dfu_transport.send_init_packet(init_packet)
File "/home/nicolas/.local/lib/python3.8/site-packages/nordicsemi/dfu/dfu_transport_serial.py", line 155, in send_init_packet
self.send_packet(packet)
File "/home/nicolas/.local/lib/python3.8/site-packages/nordicsemi/dfu/dfu_transport_serial.py", line 241, in send_packet
self.serial_port.write(bytearray(pkt.data))
File "/home/nicolas/.local/lib/python3.8/site-packages/serial/serialposix.py", line 615, in write
raise PortNotOpenError()
serial.serialutil.PortNotOpenError: Attempting to use a port that is not open
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.
And dmesg, for information, gives me that answer :
[12837.259845] cdc_acm 3-2:1.0: ttyACM0: USB ACM device
[12956.797230] usb 3-2: USB disconnect, device number 54
[12957.296379] usb 3-2: new full-speed USB device number 55 using xhci_hcd
[12957.469784] usb 3-2: New USB device found, idVendor=1915, idProduct=521f, bcdDevice= 1.00
[12957.469798] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[12957.469805] usb 3-2: Product: Open DFU Bootloader
[12957.469811] usb 3-2: Manufacturer: Nordic Semiconductor
[12957.469817] usb 3-2: SerialNumber: C514B0AA1531
[12957.502742] cdc_acm 3-2:1.0: ttyACM0: USB ACM device
What is wrong? How can I fix it?