Jade: Running ./update_jade_fw.py on Mac M1 just crashes

Hi, I can’t seem to run the repo’s ./update_jade_fw.py python command. I’m not very familiar with python. It crashes with ModuleNotFoundError. It seems like the repo needs some dependencies. Read on it and I think one should run pip install -r requirements.txt. The requirements.txt is available but upon running it crashes with: ERROR: No matching distribution found for wallycore==0.8.9 If it helps, I’m running on a Mac M1 with python3 installed via homebrew. Might try to run that on a Linux machine later but would love to see some better guide on this self upgrade. There’s really not much info on this “guide”: https://github.com/Blockstream/Jade/blob/master/FWUPDATE.md Any help is appreciated!

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 16

Most upvoted comments

Thanks - apologies for the break in service! 😉 I’ll get that merged to master tomorrow.
I hope you enjoy the latest Jade firmware!

What sort of device are you trying to update there - is this a production jade unit ?

./update_jade_fw.py

This is a command for updating a production Jade unit - is this what you have ? (You do not want to use this to try to update a ‘diy’ unit you have created yourself from consumer esp32 boards.)

{'JADE_VERSION': '0.1.21', 'JADE_OTA_MAX_CHUNK': 4096, 'JADE_CONFIG': 'BLE', 'JADE_FEATURES': 'SB', 'IDF_VERSION': 'v4.2', 'CHIP_FEATURES': '32000000', 'EFUSEMAC': '2**********8', 'JADE_FREE_HEAP': 2626228, 'JADE_FREE_DRAM': 119468, 'JADE_LARGEST_DRAM': 113804, 'JADE_FREE_SPIRAM': 2506760, 'JADE_LARGEST_SPIRAM': 2506760, 'JADE_HAS_PIN': False}

Ok - this looks like a very old firmware indeed! 0.1.21 ! This output does suggest a production unit - one from the first batch run with the proper rotating ‘true’ wheel. You are a legend, sir! 😉

I suspect that the wallet apps (and indeed that ./update_jade_fw.py script) no longer handle the ‘BOARD_TYPE’ being missing (it wasn’t output by those old firmwares because there was only one board type in existence at the time).

Many thanks for this report - I will fix ./update_jade_fw.py within the next 24-hours, and will raise issues with the application and web teams to get this resolved in their upcoming releases.

Apologies and thanks.

@JamieDriver @mikeziri

The following commands will let you know if the latest wally 0.9.1 is compatible with the box:

$ virtualenv venv-tmp
$ . venv-tmp/bin/activate
$ pip install wallycore
# To cleanup
$ deactivate
$ rm -rf venv-tmp

If that doesn’t work please give the python version with python --version.

ERROR: No matching distribution found for wallycore==0.8.9
It sounds like libwally does not support this platform.

The wally release notes for 0.8.5 includes the entry : “Add support for M1 macOS arm64 and universal2 builds/Python wheels” and I note that 0.8.9 includes these artifacts: wallycore-0.8.9-cp310-cp310-macosx_11_0_arm64.whl and wallycore-0.8.9-cp310-cp310-macosx_10_9_universal2.whl, so looks to me like it should support python 3.10 on osx11 (and maybe osx10.9?)

Do you know what osx version you’re on, and what version of python you are running (python --version) ?

Fair point re: mentioning the requirements file in the guide.