Skip to content

Troubleshooting

If you have any additional support needs, please contact us directly at product support.

Python WriteTimeout exception

If you are experiencing a WriteTimeout exception in Python when performing west commands such as west nano device initialize, the issue might be related to the UART flow control pins on the NimbeLink Skywire Nano devkit.

Version "1002332 REVC" of the NimbeLink Skywire Nano devkit (found on the silkscreen on the top side of the board, near the "RESET" button) has its UART flow control pins -- RTS and CTS -- mismatched, resulting in potential miscommunication between the host flash programmer chip and the connected Skywire Nano. Specifically, the input CTS pin on the devkit's flash programmer chip can float "high", resulting in the firmware not sending data to the Skywire Nano.

The recommended fix is to permanently ground the input CTS pin on the devkit, as described in the pictures below. The pin can also be temporarily grounded by holding a jumper wire going from ground to the CTS pin's pad while running the commands encountering the WriteTimeout exception.

PCB CTS Pin Pad

Rework Result

LWM2M Network Connection Looping

If you are experiencing an issue where LWM2M is constantly connecting and disconnecting from the network, this can be resolved by adding back an erroneously deleted pre-shared key via AT command.

First, turn off the network connection:

AT+CFUN=4

The timing of this command can be such that LWM2M continues its looping. In particular, the command should be run while LWM2M is in its CONNECTING stage, after it has run AT+CFUN=1 and is waiting for network registration. If the LWM2M loop continues after running this command, try running it again until LWM2M no longer connects and disconnects. Disconnecting the Skywire Nano's cellular antenna can aid the timing of running the AT command, as it will prevent the device from connecting to the network, thus keeping LWM2M in its CONNECTING state.

Next, add the pre-shared key back:

AT%CMNG=0,25,3,"d6160c2e7c90399ee7d207a22611e3d3a87241b0462976b935341d000a91e747"

Finally, reboot the device:

AT#REBOOT

Each command should result in an OK response. If you are using custom application firmware, these commands can be run using the at_cmd library in the nRF SDK.