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.
Two other things had to move for it to run on a current Python. construct is
required at >=2.10, because 2.9 does import imp at module scope and imp
went away in 3.12. And the Stellar commands are dropped, because that module
needs xdrlib, which PEP 594 removed in 3.13 — nothing else in the tool wanted
it. Tested on CPython 3.9 through 3.14.
The vendored tree is generated by tools/vendor.py, which fetches the upstream
wheel and verifies its hash before applying those changes, so what is here can
be checked against PyPI. NOTICE lists every one of them.
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
Everything upstream 0.11.2 offered is here except the two Stellar commands.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hextreezorctl-0.1.1.tar.gz.
File metadata
- Download URL: hextreezorctl-0.1.1.tar.gz
- Upload date:
- Size: 111.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0127e7cf0828a44edcd024ea90aab43ee7ae8fc623455f2385f8375085a6839
|
|
| MD5 |
59f0478e7fc9a6efce86741a64e3b930
|
|
| BLAKE2b-256 |
2bd4f7dbff3f75ceaf1d25a5bc86664ba995271eda2a58a77293728c0cffda42
|
File details
Details for the file hextreezorctl-0.1.1-py3-none-any.whl.
File metadata
- Download URL: hextreezorctl-0.1.1-py3-none-any.whl
- Upload date:
- Size: 262.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7350ecd3edc5d17a5e2426328b44415cec7fa7268be064dac958c42686d935c2
|
|
| MD5 |
8b7b3175eee8bca0684b16d4f8d48f91
|
|
| BLAKE2b-256 |
93eca505dd5d122bba7272d317e0949d84d1100ba6a44094555cf40d744a9c8e
|