Blockstream / Blockstream/Jade
Help needed with firmware upgrade on TTGO T-Display (INVALID_FW' error)
- Dominant language
- C
- Stars
- 496
- Forks
- 127
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I’m having trouble upgrading the firmware on my TTGO T-Display device. I have successfully unlocked my device using:
python jade_ota.py --noagent
However, the process fails every time my T-Display shows the message:
preparing firmware update
I’ve followed the Crypto Guide tutorial and made some progress, but I always struggle with updating the firmware after secure boot has been enabled.
I should note that I’m not a developer, just an enthusiastic hobbyist trying to get this working. Any guidance or tips would be greatly appreciated.
_
> C:\Jade>python jade_ota.py --noagent
> No module named 'bleak'
> BLE scanning/connectivity will not be available
> Jade OTA over serial
>
> Sending get_version_info request 463272 length 35
> Received reply 463272
>
> Jade device for OTA:
> {
> "JADE_VERSION": "1.0.35-25-g58850908-dirty",
> "JADE_OTA_MAX_CHUNK": 4096,
> "JADE_CONFIG": "BLE",
> "BOARD_TYPE": "TTGO_TDISPLAYS3PROCAMERA",
> "JADE_FEATURES": "SB",
> "IDF_VERSION": "v5.4.1-849-g28980b62c9",
> "CHIP_FEATURES": "12000000",
> "EFUSEMAC": "XXXXXX",
> "BATTERY_STATUS": 0,
> "JADE_STATE": "LOCKED",
> "JADE_NETWORKS": "MAIN",
> "JADE_HAS_PIN": true
> }
>
> Reading file build/jade.bin
> Read 1,336,480 bytes
> Compressing 1,336,480 bytes
> Compressed to 789,840 bytes
> Deduced compressed firmware filepath: build/1.0.38-82-ga9d475b9-dirty_noradio_1336480_fw.bin
> Filename suggests full firmware: 1.0.38-82-ga9d475b9-dirty_noradio_1336480_fw.bin
> Got fw file of length 789,840 with expected uncompressed final fw length 1,336,480
> Final fw hash: e5b0486664fc6a3c594353609a20fe7d8f43942a64e04b946f466b4bfa1f9231
>
> Sending auth_user request 720802 length 63
> Received reply 720802
>
> Sending pin request 746353 length 165
> Received reply 746353
>
> Sending ota request 279114 length 156
> Received reply 279114
>
> Sending ota_data request 770532 length 4133
> Received reply 770532
> 17.06 B/s - progress 0.52% - 46047.46 seconds left
> Written 4,096 B in 240.04 s
> Confirmed: False, Write progress: 0%
>
> Sending ota_data request 512882 length 4133
> Received reply 512882
> 34.13 B/s - progress 1.04% - 34354.79 seconds left
> Written 8,192 B in 360.05 s
> Confirmed: False, Write progress: 0%
>
> Sending ota_data request 819331 length 4133
> Received reply 819331
>
> Exception causing JadeAPI context exit.
>
> JadeError: -32603 - Error uploading OTA data (Data: b'OTA_ERR_INVALIDFW')
>
> File "C:\Jade\jade_ota.py", line 526, in
> has_radio, bleid = ota(args, jade, info, extended_replies)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> File "C:\Jade\jade_ota.py", line 360, in ota
> result = jade.ota_update(fwcompressed, fwlength, chunksize, fwhash,
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> File "C:\Jade\jadepy\jade.py", line 584, in ota_update
> result = self._jadeRpc('ota_data', chunk)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> File "C:\Jade\jadepy\jade.py", line 393, in _jadeRpc
> result = self._get_result_or_raise_error(reply)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> File "C:\Jade\jadepy\jade.py", line 343, in _get_result_or_raise_error
> raise JadeError(e.get('code'), e.get('message'), e.get('data'))
>
> Draining interface...
_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.