You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I just setup a Jade with a new mnemonic and it appeared to work using Sparrow (received and sent BTC fine) but running the update CLI command is so far an unresolved struggle.
The second block should be the most helpful. This first block only shows what led up to the error I gave up at.
$ git clone https://github.com/Blockstream/Jade.git
$ cd Jade/
$ python3 -m venv .venv
$ source .venv/bin/activate
$ python3 -m pip install -r requirements.txt #if there is a requirements.txt file
$ sudo vim /etc/udev/rules.d/99-blockstream-jade.rules
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
$ python3 ./update_jade_fw.py
Current Jade fw: 1.0.29 - ble
-
Delta patches (faster)
-
Full firmware images
1) 1.0.33 - noradio
2) 1.0.33 - ble
-
Select firmware: 2
Save local copy of downloaded firmware? [y/N]y
Got fw file of length 854192 with expected uncompressed final fw length 1249280
Upload fw to connected Jade [Y/n]n
$ sha256sum 1.0.33_ble_1249280_fw.bin
41d0cf7ce238ccd6d682942335ec3b331e4697dcff62690f3c2f795061ea289a 1.0.33_ble_1249280_fw.bin
$ cat 1.0.33_ble_1249280_fw.bin.hash
d76a0cf87df6900477b1fbd1512a6d0fc4bf99a7a4c80e04313eb2c1beb4d17c
$ python3 ./update_jade_fw.py --fwfile 1.0.33_ble_1249280_fw.bin
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 248, in<module>
verinfo = jade.get_version_info()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 409, in get_version_info
return self._jadeRpc('get_version_info', params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc
reply = self.jade.make_rpc_call(request, long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2346, in make_rpc_call
reply = self.read_response(long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2304, in read_response
returnself.read_cbor_message()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2251, in read_cbor_message
message = cbor.load(self)
^^^^^^^^^^^^^^^
Traceback (most recent call last):
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 248, in<module>
verinfo = jade.get_version_info()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 409, in get_version_info
return self._jadeRpc('get_version_info', params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc
reply = self.jade.make_rpc_call(request, long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2346, in make_rpc_call
reply = self.read_response(long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2304, in read_response
returnself.read_cbor_message()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2251, in read_cbor_message
message = cbor.load(self)
^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa2 in position 1: invalid start byteDuring handling of the above exception, another exception occurred:Traceback (most recent call last): File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 246, in <module> with JadeAPI.create_serial(device=args.serialport) as jade: File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 183, in __exit__ self.disconnect(exc_type is not None) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 274, in disconnect self.jade.disconnect(drain) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2106, in disconnect self.drain() File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2120, in drain byte_ = self.impl.read(1) ^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade_serial.py", line 86, in read return self.ser.read(n) ^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/.venv/lib/python3.11/site-packages/serial/serialposix.py", line 595, in read raise SerialException(serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)$ python3 ./update_jade_fw.py --fwfile 1.0.33_ble_1249280_fw.binGot fw file of length 854192 with expected uncompressed final fw length 1249280Upload fw to connected Jade [Y/n]Please ensure Jade is unlockedPlease try again File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 278, in <module> ota(jade, verinfo, fwcmp, fwlen, fwhash, patchlen) File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 171, in ota while not jade.auth_user(network, epoch=int(time.time())): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 831, in auth_user return self._jadeRpc('auth_user', params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 367, in _jadeRpc return self._jadeRpc( ^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc reply = self.jade.make_rpc_call(request, long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2347, in make_rpc_call self.validate_reply(request, reply) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2318, in validate_reply reply['id'] == '00' and 'error' in reply ^^^^^^^^^^^^^^^^^CTraceback (most recent call last): File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 278, in <module> ota(jade, verinfo, fwcmp, fwlen, fwhash, patchlen) File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 171, in ota while not jade.auth_user(network, epoch=int(time.time())): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 831, in auth_user return self._jadeRpc('auth_user', params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 367, in _jadeRpc return self._jadeRpc( ^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc reply = self.jade.make_rpc_call(request, long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2347, in make_rpc_call self.validate_reply(request, reply) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2318, in validate_reply reply['id'] == '00' and 'error' in reply ^^^^^^^^^^^^^^^^AssertionErrorDuring handling of the above exception, another exception occurred:Traceback (most recent call last): File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 277, in <module> with JadeAPI.create_serial(device=args.serialport) as jade: File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 183, in __exit__ self.disconnect(exc_type is not None) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 274, in disconnect self.jade.disconnect(drain) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2106, in disconnect self.drain() File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2120, in drain byte_ = self.impl.read(1) ^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade_serial.py", line 86, in read return self.ser.read(n) ^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/.venv/lib/python3.11/site-packages/serial/serialposix.py", line 565, in read ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^KeyboardInterrupt$ python3 ./update_jade_fw.py --fwfile 1.0.33_ble_1249280_fw.binGot fw file of length 854192 with expected uncompressed final fw length 1249280Upload fw to connected Jade [Y/n]Please ensure Jade is unlockedPlease try againPlease try againPlease try again File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 278, in <module> ota(jade, verinfo, fwcmp, fwlen, fwhash, patchlen) File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 171, in ota while not jade.auth_user(network, epoch=int(time.time())): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 831, in auth_user return self._jadeRpc('auth_user', params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc reply = self.jade.make_rpc_call(request, long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2347, in make_rpc_call self.validate_reply(request, reply) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2318, in validate_reply reply['id'] == '00' and 'error' in reply ^^^^^^^^^^^^^^^^Traceback (most recent call last): File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 278, in <module> ota(jade, verinfo, fwcmp, fwlen, fwhash, patchlen) File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 171, in ota while not jade.auth_user(network, epoch=int(time.time())): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 831, in auth_user return self._jadeRpc('auth_user', params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc reply = self.jade.make_rpc_call(request, long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2347, in make_rpc_call self.validate_reply(request, reply) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2318, in validate_reply reply['id'] == '00' and 'error' in reply ^^^^^^^^^^^^^^^^AssertionError$ python3 ./update_jade_fw.py --fwfile 1.0.33_ble_1249280_fw.bin File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 248, in <module> verinfo = jade.get_version_info() ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 409, in get_version_info return self._jadeRpc('get_version_info', params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc reply = self.jade.make_rpc_call(request, long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2347, in make_rpc_call self.validate_reply(request, reply) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2318, in validate_reply reply['id'] == '00' and 'error' in reply ^^^^^^^^^^^^^^^^Traceback (most recent call last): File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 248, in <module> verinfo = jade.get_version_info() ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 409, in get_version_info return self._jadeRpc('get_version_info', params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc reply = self.jade.make_rpc_call(request, long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2347, in make_rpc_call self.validate_reply(request, reply) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2318, in validate_reply reply['id'] == '00' and 'error' in reply ^^^^^^^^^^^^^^^^AssertionErrorDuring handling of the above exception, another exception occurred:Traceback (most recent call last): File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 246, in <module> with JadeAPI.create_serial(device=args.serialport) as jade: File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 183, in __exit__ self.disconnect(exc_type is not None) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 274, in disconnect self.jade.disconnect(drain) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2106, in disconnect self.drain() File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2120, in drain byte_ = self.impl.read(1) ^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade_serial.py", line 86, in read return self.ser.read(n) ^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/.venv/lib/python3.11/site-packages/serial/serialposix.py", line 595, in read raise SerialException(serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)$ python3 ./update_jade_fw.py --fwfile 1.0.33_ble_1249280_fw.binGot fw file of length 854192 with expected uncompressed final fw length 1249280Upload fw to connected Jade [Y/n]Please ensure Jade is unlocked File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 278, in <module> ota(jade, verinfo, fwcmp, fwlen, fwhash, patchlen) File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 171, in ota while not jade.auth_user(network, epoch=int(time.time())): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 831, in auth_user return self._jadeRpc('auth_user', params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc reply = self.jade.make_rpc_call(request, long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2346, in make_rpc_call reply = self.read_response(long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2304, in read_response return self.read_cbor_message() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2251, in read_cbor_message message = cbor.load(self) ^^^^^^^^^^^^^^^Traceback (most recent call last): File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 278, in <module> ota(jade, verinfo, fwcmp, fwlen, fwhash, patchlen) File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 171, in ota while not jade.auth_user(network, epoch=int(time.time())): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 831, in auth_user return self._jadeRpc('auth_user', params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc reply = self.jade.make_rpc_call(request, long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2346, in make_rpc_call reply = self.read_response(long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2304, in read_response return self.read_cbor_message() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2251, in read_cbor_message message = cbor.load(self) ^^^^^^^^^^^^^^^UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 3: invalid start byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 277, in<module>
with JadeAPI.create_serial(device=args.serialport) as jade:
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 183, in __exit__
self.disconnect(exc_type is not None)
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 274, in disconnect
self.jade.disconnect(drain)
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2106, in disconnect
self.drain()
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2120, in drain
byte_ = self.impl.read(1)
^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade_serial.py", line 86, inreadreturn self.ser.read(n)
^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/.venv/lib/python3.11/site-packages/serial/serialposix.py", line 595, inread
raise SerialException(
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
$ python3 ./update_jade_fw.py --fwfile 1.0.33_ble_1249280_fw.bin
^C File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 248, in<module>
verinfo = jade.get_version_info()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 409, in get_version_info
return self._jadeRpc('get_version_info', params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc
reply = self.jade.make_rpc_call(request, long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2346, in make_rpc_call
reply = self.read_response(long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2304, in read_response
returnself.read_cbor_message()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2251, in read_cbor_message
message = cbor.load(self)
^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2232, inread
bytes_ = self.impl.read(n)
^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade_serial.py", line 86, inreadreturn self.ser.read(n)
^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/.venv/lib/python3.11/site-packages/serial/serialposix.py", line 565, inread
ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^CTraceback (most recent call last):
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 248, in<module>
verinfo = jade.get_version_info()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 409, in get_version_info
return self._jadeRpc('get_version_info', params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc
reply = self.jade.make_rpc_call(request, long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2346, in make_rpc_call
reply = self.read_response(long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2304, in read_response
returnself.read_cbor_message()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2251, in read_cbor_message
message = cbor.load(self)
^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2232, inread
bytes_ = self.impl.read(n)
^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade_serial.py", line 86, inreadreturn self.ser.read(n)
^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/.venv/lib/python3.11/site-packages/serial/serialposix.py", line 565, inread
ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 246, in<module>
with JadeAPI.create_serial(device=args.serialport) as jade:
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 183, in __exit__
self.disconnect(exc_type is not None)
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 274, in disconnect
self.jade.disconnect(drain)
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2106, in disconnect
self.drain()
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2120, in drain
byte_ = self.impl.read(1)
^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade_serial.py", line 86, inreadreturn self.ser.read(n)
^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/.venv/lib/python3.11/site-packages/serial/serialposix.py", line 565, inread
ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
$ python3 ./update_jade_fw.py --fwfile 1.0.33_ble_1249280_fw.bin
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 248, in<module>
verinfo = jade.get_version_info()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 409, in get_version_info
return self._jadeRpc('get_version_info', params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc
reply = self.jade.make_rpc_call(request, long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2346, in make_rpc_call
reply = self.read_response(long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2304, in read_response
returnself.read_cbor_message()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2251, in read_cbor_message
message = cbor.load(self)
^^^^^^^^^^^^^^^
Traceback (most recent call last):
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 248, in<module>
verinfo = jade.get_version_info()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 409, in get_version_info
return self._jadeRpc('get_version_info', params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc
reply = self.jade.make_rpc_call(request, long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2346, in make_rpc_call
reply = self.read_response(long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2304, in read_response
returnself.read_cbor_message()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2251, in read_cbor_message
message = cbor.load(self)
^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xac in position 3: invalid start byteDuring handling of the above exception, another exception occurred:Traceback (most recent call last): File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 246, in <module> with JadeAPI.create_serial(device=args.serialport) as jade: File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 183, in __exit__ self.disconnect(exc_type is not None) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 274, in disconnect self.jade.disconnect(drain) File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2106, in disconnect self.drain() File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2120, in drain byte_ = self.impl.read(1) ^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade_serial.py", line 86, in read return self.ser.read(n) ^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/.venv/lib/python3.11/site-packages/serial/serialposix.py", line 595, in read raise SerialException(serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)$ python3 ./update_jade_fw.py --fwfile 1.0.33_ble_1249280_fw.bin File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 248, in <module> verinfo = jade.get_version_info() ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 409, in get_version_info return self._jadeRpc('get_version_info', params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc reply = self.jade.make_rpc_call(request, long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2346, in make_rpc_call reply = self.read_response(long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2304, in read_response return self.read_cbor_message() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2251, in read_cbor_message message = cbor.load(self) ^^^^^^^^^^^^^^^^CTraceback (most recent call last): File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 248, in <module> verinfo = jade.get_version_info() ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 409, in get_version_info return self._jadeRpc('get_version_info', params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc reply = self.jade.make_rpc_call(request, long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2346, in make_rpc_call reply = self.read_response(long_timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2304, in read_response return self.read_cbor_message() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2251, in read_cbor_message message = cbor.load(self) ^^^^^^^^^^^^^^^UnicodeDecodeError: 'utf-8' codec can't decode byte 0xac in position 3: invalid start byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 246, in<module>
with JadeAPI.create_serial(device=args.serialport) as jade:
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 183, in __exit__
self.disconnect(exc_type is not None)
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 274, in disconnect
self.jade.disconnect(drain)
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2106, in disconnect
self.drain()
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2120, in drain
byte_ = self.impl.read(1)
^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade_serial.py", line 86, inreadreturn self.ser.read(n)
^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/.venv/lib/python3.11/site-packages/serial/serialposix.py", line 565, inread
ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
$ python3 ./update_jade_fw.py --fwfile 1.0.33_ble_1249280_fw.bin
Unhandled message received
5.1.2mCHIP_FEATURESh32
Unhandled message received
-17
Unhandled message received
-17
Unhandled message received
-17
Unhandled message received
-17
Unhandled message received
-17
Unhandled message received
-17
Unhandled message received
EFUSEMAC
Unhandled message received
34987AB5BEC8
Unhandled message received
BATTERY_STATUS
Unhandled message received
3
Unhandled message received
JADE_STATE
Unhandled message received
READY
Unhandled message received
JADE_NETWORKS
Unhandled message received
MAIN
Unhandled message received
JADE_HAS_PIN
Unhandled message received
True
Got fw file of length 854192 with expected uncompressed final fw length 1249280
Upload fw to connected Jade [Y/n]
Please approve the firmware update on the Jade device
749.47 b/s - progress 0.48% - 1134.26 seconds left
Written 4096b in 5.47s
7876.80 b/s - progress 0.96% - 618.10 seconds left
Written 8192b in 5.99s
60.94 b/s - progress 1.44% - 5015.18 seconds left
Written 12288b in 73.20s
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 278, in<module>
ota(jade, verinfo, fwcmp, fwlen, fwhash, patchlen)
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 202, in ota
result = jade.ota_update(fwcompressed, fwlength, chunksize, fwhash,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 537, in ota_update
result = self._jadeRpc('ota_data', chunk)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc
reply = self.jade.make_rpc_call(request, long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2347, in make_rpc_call
self.validate_reply(request, reply)
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2318, in validate_reply
reply['id'] == '00' and 'error'in reply
^^^^^^^^^^^^^^^^
^CTraceback (most recent call last):
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 278, in<module>
ota(jade, verinfo, fwcmp, fwlen, fwhash, patchlen)
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 202, in ota
result = jade.ota_update(fwcompressed, fwlength, chunksize, fwhash,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 537, in ota_update
result = self._jadeRpc('ota_data', chunk)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc
reply = self.jade.make_rpc_call(request, long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2347, in make_rpc_call
self.validate_reply(request, reply)
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2318, in validate_reply
reply['id'] == '00' and 'error'in reply
^^^^^^^^^^^^^^^^
AssertionError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 277, in<module>
with JadeAPI.create_serial(device=args.serialport) as jade:
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 183, in __exit__
self.disconnect(exc_type is not None)
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 274, in disconnect
self.jade.disconnect(drain)
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2106, in disconnect
self.drain()
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2120, in drain
byte_ = self.impl.read(1)
^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade_serial.py", line 86, inreadreturn self.ser.read(n)
^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/.venv/lib/python3.11/site-packages/serial/serialposix.py", line 565, inread
ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
$ python3 ./update_jade_fw.py --fwfile 1.0.33_ble_1249280_fw.bin
Got fw file of length 854192 with expected uncompressed final fw length 1249280
Upload fw to connected Jade [Y/n]
Please approve the firmware update on the Jade device
741.60 b/s - progress 0.48% - 1146.30 seconds left
Written 4096b in 5.52s
7875.82 b/s - progress 0.96% - 624.10 seconds left
Written 8192b in 6.04s
414.84 b/s - progress 1.44% - 1090.54 seconds left
Written 12288b in 15.92s
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 278, in<module>
ota(jade, verinfo, fwcmp, fwlen, fwhash, patchlen)
File "/home/leo/StudioProjects/Jade/./update_jade_fw.py", line 202, in ota
result = jade.ota_update(fwcompressed, fwlength, chunksize, fwhash,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 537, in ota_update
result = self._jadeRpc('ota_data', chunk)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 351, in _jadeRpc
reply = self.jade.make_rpc_call(request, long_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2347, in make_rpc_call
self.validate_reply(request, reply)
File "/home/leo/StudioProjects/Jade/jadepy/jade.py", line 2318, in validate_reply
reply['id'] == '00' and 'error'in reply
^^^^^^^^^^^^^^^^
I tried several more times and having to unlock the Jade during the firmware upgrade appears to worsen circumstances and the "ERROR_BADDATA" screen on the device comes at varying %% of progress but 10% was the furthest I got.
I just setup a Jade with a new mnemonic and it appeared to work using Sparrow (received and sent BTC fine) but running the update CLI command is so far an unresolved struggle.
The second block should be the most helpful. This first block only shows what led up to the error I gave up at.
The error:
The text was updated successfully, but these errors were encountered: