Thingy91: Serial Timeout when running Claiming and Provisioning python script

Hi Dev Team,

I am trying reprovision my Thingy91 so that I may generate a JWT signed with a device key to use A-GNSS and REST FOTA.

I have been following the guide for nRF Cloud Device Provisioning. All steps were successful up until I tried to run the claim_and_provision_device.py. I would get a serial timeout at AT%ATTESTTOKEN. The error reads:

C:\Users\x\Nordic\cell-fund\utils-master\python\modem-firmware-1.3+>python ./claim_and_provision_device.py --api_key *redacted* --ca ./*redacted*_ca.pem --ca_key ./*redacted*_prv.pem

Loading CA and key...
Opening serial port...
Available ports:
 1: COM8                 Thingy:91
Selected serial port: COM8

Disabling modem...
-> at AT+CFUN=4

Serial timeout
-> at AT%ATTESTTOKEN
String b'%ATTESTTOKEN: ' not detected in line b'ERROR\r\r\n'
ATTESTTOKEN command failed

The Thingy91 firmware is up to date (mfw_nrf9160_1.3.5) and I'm building the projects on nRF SDK v2.6.1

I thought the issues might be:

  1. Wrong/invalid API key and certificates
    • I triple checked my API key (copy/pasted and hand-typed), autocompleted any certificate paths, and tried cert arguments with the equal signs similar to the example code in the github repo
    • python3 ./claim_and_provision_device.py --apikey $API_KEY --ca=./ca.pem --ca_key=ca_prv_key.pem
      
  2. Interference caused by build
    • I ran both the nRF Device Provisioning sample built with prj.conf settings specified in the repo and the cellfund_less2_exer2 solution because it was minimal and barebones.

None of the above resolved the ATTESTTOKEN issue.

It might be worth noting that in nRF Cloud, I have my device listed twice - the first for the initial thingy91 setup, and the second for the reprovisioning.

Hoping you can provide some guidance.

Related