Pavol Rusnak
00c193f5cc
trezorhal, unix: drop flash_write_{byte,word} usage, rename flash_write_{byte,word}_rel to flash_write_{byte,word}
2018-01-23 16:58:53 +01:00
Pavol Rusnak
1e7920435c
bootloader: fix flashing of non-continous firmware areas
2018-01-23 16:58:53 +01:00
Pavol Rusnak
089168209b
trezorhal: fix webusb landing page
2018-01-23 02:32:48 +01:00
Pavol Rusnak
919e2b9c3b
trezorhal: formatting nits in usb
2018-01-23 02:32:48 +01:00
Pavol Rusnak
9f80d5614a
trezorhal: add winusb magic to webusb interface
2018-01-21 15:40:31 +01:00
Pavol Rusnak
f50afd2d2a
bootloader: add (optional) WebUSB support
2018-01-21 04:04:33 +01:00
Pavol Rusnak
5ef0967857
trezorhal: small fixes to USB stack
2018-01-21 03:54:08 +01:00
Pavol Rusnak
aa8c192040
trezor.io: remove unused fields from WebUSB class
2018-01-21 00:49:09 +01:00
Pavol Rusnak
8bf19b4c92
trezorhal: refactor trezor.io USB stuff into more files, add WebUSB
2018-01-21 00:04:05 +01:00
Pavol Rusnak
d927b80b50
trezorhal: more tests in usb
2018-01-20 22:06:39 +01:00
Pavol Rusnak
51db0c4099
fix typo
2018-01-20 22:02:13 +01:00
Pavol Rusnak
311af09236
trezor.io: fix typo in VCP class
2018-01-20 22:00:16 +01:00
Pavol Rusnak
9d10a7a508
trezorhal: more switch formatting
2018-01-20 21:57:10 +01:00
Pavol Rusnak
30ff61b588
trezorhal: add configuration, interface strings to usb descriptors, minor typos
2018-01-20 21:48:53 +01:00
Pavol Rusnak
08376a4a54
fix typo
2018-01-20 21:26:54 +01:00
Pavol Rusnak
e92440dfc8
introduce and use memzero instead of explicit_bzero
2018-01-18 15:30:49 +01:00
Pavol Rusnak
3098dc8447
unix: don't use usb_hid_write from usb_hid_read for PING/PONG
2018-01-17 23:40:24 +01:00
Pavol Rusnak
fea8d53b85
trezor.io: cleanup usb code
2018-01-17 16:10:31 +01:00
Pavol Rusnak
ea116d742a
use explicit_bzero where possible; update trezor-crypto
2018-01-16 20:44:21 +01:00
Jan Pochyla
2c3df7381f
unix/usb: fix wur
2018-01-16 15:46:32 +01:00
Jan Pochyla
20c4900df1
modtrezorcrypto/bip39: throw less exceptions
2018-01-16 15:46:32 +01:00
Pavol Rusnak
27d9abe883
trezor.config: add public values (readable without unlock)
...
They are indicated via MSB bit of appid
2018-01-13 16:09:22 +01:00
Pavol Rusnak
1530afe4ad
vendor: update trezor-crypto, adapt codebase to changes
2018-01-13 15:36:03 +01:00
Pavol Rusnak
d11bbde2e1
trezor.crypto: fix sha3-{256,512} argument handling
2018-01-12 13:50:34 +01:00
Pavol Rusnak
7efef68e97
trezor.crypto: add static keyword to crc
2018-01-12 13:43:52 +01:00
Pavol Rusnak
ee925f7813
prodtest: draw border on start too
2018-01-09 21:21:55 +01:00
Jan Pochyla
622cb847e5
prodtest: fix touch coordinates
2018-01-09 15:28:11 +01:00
Pavol Rusnak
7537c26c83
trezor.crypto: use mp_obj_new_str_from_vstr where we already have preallocated vstr
2018-01-07 13:56:18 +01:00
Pavol Rusnak
981ec87877
trezor.crypto: put back vstr where it makes sense (= user controlled input)
2018-01-05 13:13:20 +01:00
Pavol Rusnak
4a7592d470
trezor.crypto: remove vstr usage, refactor mp_obj_new_str_from_vstr into mp_obj_new_bytes and mp_obj_new_str
2018-01-03 21:53:58 +01:00
Pavol Rusnak
b98a1db6ee
embed: cleanup unused modules
2018-01-02 20:00:12 +01:00
Pavol Rusnak
fa95f0a037
trezor.crypto: implement chacha20poly1305 aka rfc7539
2018-01-02 18:57:23 +01:00
Pavol Rusnak
b9d5af8c19
modtrezorcrypto: remove ssss (different implementation will be re-added later)
2018-01-02 14:13:42 +01:00
Pavol Rusnak
4cc8a5432d
bootloader: use normal/regular font rather than bold
2018-01-02 01:44:39 +01:00
Pavol Rusnak
94588dd588
modtrezorui: introduce TREZOR_FONT_PREFILL, set it to 0 in bootloader
2018-01-02 01:37:31 +01:00
Pavol Rusnak
424115967f
embed: fix wur for usb functions
2018-01-01 21:49:08 +01:00
Pavol Rusnak
f1a75b36f7
vendor: update micropython to 1.9.3 release
2018-01-01 21:49:08 +01:00
Pavol Rusnak
d6593e710b
apps.ethereum: implement SignMessage/VerifyMessage
2017-12-23 15:12:31 +01:00
Pavol Rusnak
333c0a633a
trezor.crypto: adopt crc32 function
2017-12-19 21:54:22 +01:00
Pavol Rusnak
eff3ce2aa8
unix: use ensure, not (void)
2017-12-19 19:42:56 +01:00
Jan Pochyla
7be96048f8
unix: fix wur in usb
2017-12-19 15:13:12 +01:00
Pavol Rusnak
4b54bfbbf2
modtrezorui: change loader size to 120x120
2017-12-16 23:44:30 +01:00
Pavol Rusnak
63e999ab84
trezor.ui: introduced minwidth to display.text functions; more optimizations
2017-12-16 19:33:09 +01:00
Pavol Rusnak
47f5cba439
flash/sdcard: introduce wur, simplify code
2017-12-16 18:42:06 +01:00
Pavol Rusnak
5e93cca0a9
WIP
2017-12-16 17:54:12 +01:00
Jochen Hoenicke
beef9ecfb5
Moved flash_unlock to norcow_update
...
and fixed propagation of error return
2017-12-16 17:25:41 +01:00
Pavol Rusnak
6aae87437f
modtrezorui: draw bars under letters
2017-12-16 17:22:03 +01:00
Pavol Rusnak
11a3ff055c
boardloader/bootloader: typo
2017-12-16 15:12:58 +01:00
Pavol Rusnak
4584861385
trezor.ui: introduce ui.SIZE
2017-12-16 14:50:28 +01:00
Pavol Rusnak
79a3f84c3c
modtrezorui: invert FONT macro inclusion logic
2017-12-15 23:13:25 +01:00
Pavol Rusnak
80707f195b
modtrezorui: small cleanup
2017-12-15 23:03:18 +01:00
Pavol Rusnak
7504366a02
bootloader: simplify vtrust code
2017-12-15 20:57:54 +01:00
Jochen Hoenicke
c0cd252c83
Store pin as integer
...
- New module trezor.pin (add timeout here)
- Convert pin to integer by adding a '1' (to detect leading 0s)
- pin is still limited to 9 digits.
2017-12-15 20:37:03 +01:00
Pavol Rusnak
125ab8471c
trezorhal: store image fingerprint in the image_header structure
2017-12-15 19:22:59 +01:00
Pavol Rusnak
be302480fd
modtrezorcrypto: cleanup random
2017-12-15 16:56:08 +01:00
Pavol Rusnak
1a32e46e5d
bootloader: cleanup ui code
2017-12-15 15:26:36 +01:00
Pavol Rusnak
5e476b856e
unix: implement sdcard, add unit test
2017-12-15 01:00:00 +01:00
Pavol Rusnak
48ef409fdb
modtrezorio: remove mocks
2017-12-15 00:06:09 +01:00
Pavol Rusnak
b4933f969e
bootloader: don't downgrade firmware below fix_version in the current firmware
2017-12-14 21:58:32 +01:00
Pavol Rusnak
965aa73b63
trezorhal: introduce fix_version in image header (version of last critical bugfix)
2017-12-14 21:29:13 +01:00
Pavol Rusnak
e8f70ed4af
pin: implement graphics pin timeout
2017-12-14 19:01:41 +01:00
Jochen Hoenicke
87f7054e46
Added callback for PIN timeout
...
When PIN is entered or changed and their were failed tries the function
waits for time (exponential slow down). For every second it waits, it
now calls back into python to give it the chance to show a message.
GUI still needs to be implemented
2017-12-14 17:19:51 +01:00
Jochen Hoenicke
9f2bbb0e1a
Removed references to pin fail area
2017-12-14 17:18:45 +01:00
Jochen Hoenicke
497021f2ef
storage: New pin fail section inside NORCOW
...
Added a function to update NORCOW data.
Changed storage pin fail logic.
2017-12-14 17:18:45 +01:00
Pavol Rusnak
b7444ac13e
modtrezorconfig: fix wipe error
2017-12-14 16:27:18 +01:00
Pavol Rusnak
2f719526e7
bootloader: implement vendor keys lock
2017-12-13 23:08:15 +01:00
Pavol Rusnak
45c290d24c
trezorhal: introduce vendor_keys_hash, use it in compare_to_current_vendor_header
2017-12-13 22:50:48 +01:00
Pavol Rusnak
70ac202d7a
modtrezorcrypto: add trezor.crypto.hashlib.blake256
2017-12-13 20:47:12 +01:00
Pavol Rusnak
34322d5fb6
firmware: enable stack protector (except nlr stuff)
2017-12-13 02:06:22 +01:00
Pavol Rusnak
1aba175d7d
build: adapt to new trezor-crypto changes
2017-12-12 22:00:15 +01:00
Pavol Rusnak
7b9fcf98ae
drop embed/extmod/modtrezorcrypto/trezor-crypto symlink
2017-12-12 20:31:03 +01:00
Jochen Hoenicke
816bfe387f
Bug fix: missing parenthesis in flash_write_word
2017-12-12 00:01:49 +01:00
Pavol Rusnak
20a1326ebb
storage: fix typo
2017-12-11 23:11:43 +01:00
Pavol Rusnak
ce3eaba925
trezorhal: use static inline instead of static (gcc 7.2 workaround)
2017-12-11 22:34:45 +01:00
Pavol Rusnak
8a8450d6be
fix build for older compilers
2017-12-09 18:18:42 +01:00
Pavol Rusnak
e268aeb8b7
flash: simplify/unify flash_erase_sectors usage
2017-12-09 18:00:37 +01:00
Pavol Rusnak
6ab0f03ec4
embed: norcow_init, storage_init and flash_init don't return secbool, they halt using ensure if something goes wrong
2017-12-09 14:48:49 +01:00
Pavol Rusnak
6b94fd26e4
boardloader: rename reset_flags_init to reset_flags_check
2017-12-09 14:36:02 +01:00
Jan Pochyla
314e6a99c1
modtrezorcrypto/bip32: add HDNode.__init__
2017-12-08 17:25:28 +01:00
Pavol Rusnak
626a8885ce
trezor.config: add compaction test
2017-12-08 16:46:13 +01:00
Pavol Rusnak
b39b4a4947
norcow: fix bug
2017-12-08 16:17:58 +01:00
Pavol Rusnak
7f5192701f
unix: use mmap to access flash file
2017-12-08 14:18:15 +01:00
Pavol Rusnak
44a11fa3ef
norcow: introduce NORCOW_MAGIC
2017-12-08 13:42:17 +01:00
Pavol Rusnak
38e3088325
common: don't expose shutdown() via common.h
2017-12-08 12:42:43 +01:00
Pavol Rusnak
f88080b904
Merge branch 'pin_fails'
2017-12-07 15:29:47 +01:00
Pavol Rusnak
40104822e8
unix: make SDL failures fatal
2017-12-07 12:44:38 +01:00
Pavol Rusnak
04d980f8f0
add Features.model field (set to "T")
2017-12-04 22:40:42 +01:00
Jan Pochyla
8b85078730
reflash: add new firmware target
...
Flashes (unlocked) boardloader and bootloader from pre-compiled sdcard image.
2017-11-28 20:59:32 +01:00
Jan Pochyla
09af312789
prodtest: add BORDER command
2017-11-27 13:19:22 +01:00
Pavol Rusnak
679d024df0
display: use CMD2EN: Command 2 Enable
2017-11-22 19:31:58 +01:00
mcudev
6179edde90
touch: reset and usage updates
2017-11-21 10:22:16 -05:00
mcudev
5556c37f6f
display: hardware reset updates
2017-11-21 10:22:16 -05:00
mcudev
61ff3b46c5
display: ST7789V porch settings are for RGB interface, not parallel 8080-I
2017-11-21 10:22:16 -05:00
mcudev
30829b281c
display: ST7789V remove commands that unnecessarily set default values again
2017-11-21 10:22:16 -05:00
mcudev
e62fa345c8
display: minor ILI9341 updates
2017-11-21 10:22:16 -05:00
mcudev
a0129e7715
display: orientation, windowing, and config updates
2017-11-21 10:22:16 -05:00
mcudev
f53ec3f928
display: update display_unsleep
2017-11-21 10:22:16 -05:00
mcudev
5e867cc092
display: update display_sleep
2017-11-21 10:22:16 -05:00
mcudev
2ea5d102a8
bootloader, firmware: remove unneeded call to display_orientation
2017-11-21 10:22:08 -05:00
Pavol Rusnak
4002ef2a49
firmware, unix: return cpython compatibility (needed for __class__ and __dict__)
2017-11-21 15:35:46 +01:00
Pavol Rusnak
ec6c3c2cdc
unix, firmware: more cleanup
2017-11-21 15:11:35 +01:00
Pavol Rusnak
d4893add54
firmware, unix: turn off some modules
2017-11-20 17:29:24 +01:00
Jan Pochyla
5bd39c70b0
storage: fix change_pin and small details
2017-11-08 18:08:19 +01:00
Jan Pochyla
cf14717d43
unix: add shutdown()
...
As sys/socket.h defines shutdown also, we can't include common.h in unix mocks.
2017-11-08 18:07:33 +01:00
Pavol Rusnak
879a3e85bd
trezorhal: reorder stuff in common.{c,h}; remove unnecessary externs for functions
2017-11-07 20:44:30 +01:00
Pavol Rusnak
d9574bf131
trezorhal: enable BOR level 3, PVD level 5, turn off display in PVD handler
2017-11-07 18:06:42 +01:00
Pavol Rusnak
e4360a7296
bootloader: change upgrade criteria to vendor keyset comparison
2017-11-07 13:46:18 +01:00
Jan Pochyla
237740de9c
storage: implement change_pin
2017-11-06 17:47:05 +01:00
Jan Pochyla
5e643e9195
modtrezorconfig: fix has_pin
2017-11-06 17:26:25 +01:00
Jan Pochyla
df77e74988
storage: fix unlock
2017-11-06 17:26:13 +01:00
Pavol Rusnak
3636a5f1b1
bootloader/vendorheader: vtrust is bitmap not scalar
2017-11-06 16:31:09 +01:00
Pavol Rusnak
5444410e04
unix: use return value from fread properly
2017-11-06 15:44:35 +01:00
mcudev
430900ea2c
boardloader: ensure check_sdcard fails when read fails
2017-11-06 14:36:56 +01:00
Pavol Rusnak
2e3b8336c2
unix: fix unused-result warning
2017-11-06 11:12:43 +01:00
Pavol Rusnak
ee7d260d2f
trezorhal: use const where possible for flash
2017-11-05 23:51:10 +01:00
Pavol Rusnak
30363305f4
modtrezorconfig: use secbool, not bool
2017-11-05 23:32:32 +01:00
Jan Pochyla
1f6cc70480
flash: remove flash_set_option_bytes
2017-11-05 21:00:38 +01:00
Jan Pochyla
0376ff7f48
storage, norcow: use secbool
2017-11-05 20:46:59 +01:00
Jan Pochyla
662cfc1b2c
unix/flash: use secbool
2017-11-05 20:46:59 +01:00
Jan Pochyla
418f035811
storage: add has_pin and change_pin
...
TODO: finish change_pin
2017-11-05 20:46:59 +01:00
Jan Pochyla
c2ec40bebf
flash: flash_init returns bool
2017-11-05 20:46:58 +01:00
Jan Pochyla
353883e0f3
storage: rename constant
2017-11-05 20:46:11 +01:00
Jan Pochyla
b6ba95625c
norcow: port on top of flash.c, remove config
2017-11-05 20:46:11 +01:00
Jan Pochyla
27bfcfe1af
norcow: import into tree
2017-11-05 20:46:11 +01:00
Jan Pochyla
d4443a4f7f
unix/flash: start with 0xff
2017-11-05 20:46:11 +01:00
Jan Pochyla
12708b4987
unix/flash: default FLASH_FILE
2017-11-05 20:46:11 +01:00
Jan Pochyla
c78babdc12
flash: add flash_get_address
2017-11-05 20:46:11 +01:00
Jan Pochyla
f07b4dda0b
modtrezorconfig: extract pin & unlocking to storage.c
2017-11-05 20:46:11 +01:00
Jan Pochyla
fdc2f6a39d
modtrezorconfig: use new flash API
2017-11-05 20:46:11 +01:00
Jan Pochyla
543e8c5007
flash: add unix/flash.c
2017-11-05 20:46:11 +01:00
Jan Pochyla
4cabe40220
storage: pin checking in c proof of concept
...
TODO: move out of modtrezorconfig
TODO: flash unix mock
2017-11-05 20:46:11 +01:00
mcudev
2ebd2b1b6b
jump_to: clear out before the next stage NMI exception handler can run
2017-11-05 19:37:05 +01:00
mcudev
ffc16a98b5
rng: header cleanup, loop codestyle
2017-11-05 19:37:05 +01:00
mcudev
cc9aa8c197
cleanup: do not use reserved identifiers for header guards
2017-11-05 19:37:05 +01:00
Pavol Rusnak
77cc62644d
firmware: don't return CYCCNT contents as it is always zero anyway (cycle counter is disabled)
2017-11-05 18:02:47 +01:00
Pavol Rusnak
8190e0909e
boardloader: set BOR level to 2
2017-11-05 16:42:20 +01:00
mcudev
1737f17f43
boardloader: flash option bytes, production changes
2017-11-05 16:42:20 +01:00
mcudev
15bdc59b46
touch: reset touch panel
2017-11-05 16:20:37 +01:00
mcudev
d9a64fbb6a
touch: app note related updates and exit loop upon detection
2017-11-05 16:20:37 +01:00
mcudev
2ae1c99b06
touch: address simplification
2017-11-05 16:20:37 +01:00
mcudev
6aeccd5ee1
touch: make i2c_handle static and trivial simplification
2017-11-05 16:20:37 +01:00
mcudev
d1ed02fb98
touch: use full 12-bit X and Y values
2017-11-05 16:20:37 +01:00
mcudev
edd95d9b65
secbool: add unsigned literal suffixes
2017-11-03 19:38:18 +01:00
mcudev
7e01a733a3
shutdown: reorder operations
2017-11-03 19:33:15 +01:00
mcudev
5be5e19f99
clear_otg_hs_memory: remove unpredictable write
2017-11-03 19:33:15 +01:00
Jan Pochyla
c632f9450f
trezorhal: add spread spectrum clock
2017-10-31 11:49:18 +01:00
Jan Pochyla
6213974b6e
prodtest: emulate python impl in OTP READ
2017-10-30 14:08:56 +01:00
Pavol Rusnak
7d0a12c29e
unix: fix build
2017-10-29 23:26:44 +01:00
Pavol Rusnak
311a28242b
boardloader: fix production build, disable reset_flags_init for now
2017-10-29 21:12:40 +01:00
Pavol Rusnak
16f657361c
boardloader: disable BOR protection; fix setting OB flags
2017-10-29 18:07:05 +01:00