Skip to main content

hextreezorctl

A trezorctl old enough to talk to TREZOR One firmware 1.7.x.

pipx install hextreezorctl
hextreezorctl list
hextreezorctl get-features

Why this exists

trezorlib carries a floor on the device firmware it will speak to:

trezorlib released minimum T1 firmware
0.11.2 2019-02-27 1.6.1
0.11.3 2019-05-29 1.8.0
everything since 1.8.0 or higher

0.11.3 raised that floor to 1.8.0 and it never came back down, so a current trezorctl refuses a 1.7.x device outright. 0.11.2 is the last release that accepts one, and its protobuf definitions are the closest to what that firmware was built against.

You cannot simply pip install trezor==0.11.2 any more: it declares pyblake2, an abandoned C extension that stopped compiling when CPython 3.11 made Py_TYPE() non-assignable. That dependency only became conditional in 0.11.5, by which point the firmware floor had already moved.

So this package carries 0.11.2 with that one import pointed at the standard library, and exposes its command line tool under a name that will not collide with a trezorctl you use for real devices. See NOTICE for the complete list of changes to the vendored copy.

Install

pipx or uv tool keep it in an environment of its own, which is what you want — it pins click<8 and construct<2.10, and those pins should not be imposed on anything else:

pipx install hextreezorctl
# or
uv tool install hextreezorctl

pip install hextreezorctl into a shared environment works too, but those pins come with it.

On Linux you need the usual udev rules for the device to be reachable without root. On macOS, brew install libusb.

Use

Everything upstream 0.11.2 could do, under the new name:

hextreezorctl list
hextreezorctl get-features
hextreezorctl load-device -s                         # SLIP-0014 test seed
hextreezorctl reset-device -t 128 -p -l "my device"  # generate a seed
hextreezorctl recovery-device -w 12 -p -t matrix     # restore one
hextreezorctl get-address -n "m/44'/0'/0'/0/0" -d
hextreezorctl firmware-update -f firmware.bin

PIN entry is positional: the device shows a scrambled 3×3 grid and you type where each digit is, using this layout.

7 8 9
4 5 6
1 2 3

What this is for

Devices running TREZOR One firmware 1.7.x — original hardware that has not been updated, and custom or reproduction boards built from the legacy tree. It is a tool for working on that firmware, not a wallet you should trust with real funds: 1.7.x is from 2018 and has had many security fixes since.

Licence

LGPL-3.0-or-later, inherited from python-trezor. See LICENSE, NOTICE and AUTHORS-trezorlib.

trezorlib is Copyright (C) 2012-2019 SatoshiLabs and contributors. This package is not affiliated with or endorsed by SatoshiLabs.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hextreezorctl-0.1.0.tar.gz (113.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hextreezorctl-0.1.0-py3-none-any.whl (265.4 kB view details)

Uploaded Python 3

File details

Details for the file hextreezorctl-0.1.0.tar.gz.

File metadata

  • Download URL: hextreezorctl-0.1.0.tar.gz
  • Upload date:
  • Size: 113.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for hextreezorctl-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c128f3afa3e1641def17ba8bf0aca528585d3f77791d441285a255c344cba3f3
MD5 f7a0e5bdb894204fb76121ad8f0c5cea
BLAKE2b-256 9f05b7cf626929ff0583079c426886466307890a3b9693bab1a4dfd3f6122746

See more details on using hashes here.

File details

Details for the file hextreezorctl-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hextreezorctl-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 265.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for hextreezorctl-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ddb4410a854b1cd3e9243a75c4fecb427afd175765df383c64e985eb472ab454
MD5 a630e84ccabef89365419200608d1a5a
BLAKE2b-256 259f5a070133803ea34ad0bd9e6e497cfdd9e22aa02f1785e657d369b674e4ab

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page