Commit Graph

387 Commits

Author SHA1 Message Date
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
Pavol Rusnak a08f18c2ce
boardloader: use PVD level 4 2017-10-29 17:58:33 +01:00
Pavol Rusnak 30ddb53c11
prodtest: fix calls to sdcard functions 2017-10-29 17:51:16 +01:00
Pavol Rusnak 6738796d8b
trezorhal: call shutdown in default_handler 2017-10-29 17:50:50 +01:00
Pavol Rusnak 69c17dae9b
trezorhal: use uint32_t* for sdcard_{read,write}_blocks 2017-10-29 16:34:09 +01:00
Pavol Rusnak fa802e9353
boardloader: fix test for existence of bootloader on sd card 2017-10-29 16:23:25 +01:00
Pavol Rusnak a56da7d7ed
prodtest: fix sdcard test 2017-10-29 15:07:34 +01:00
Pavol Rusnak 5d6d342813
bootloader: erase storage on vendor change 2017-10-27 18:45:33 +02:00
Jan Pochyla 836508657d prodtest: style 2017-10-27 17:26:14 +02:00
Pavol Rusnak 3851404d04
small cosmetic changes to prodtest and others 2017-10-27 06:01:22 +02:00
Pavol Rusnak d0e81edc8f
bootloader: check chunk hash before flashing 2017-10-27 05:09:35 +02:00
Pavol Rusnak 36143033c4
bootloader: check vendor header / image header before flashing 2017-10-27 04:49:59 +02:00
Pavol Rusnak 9690f1abdf
bootloader: load chunk into memory first, then save it to flash 2017-10-27 04:20:03 +02:00
Pavol Rusnak 4d36d0e1c1
trezorhal: use sectrue where possible 2017-10-27 03:58:00 +02:00
Pavol Rusnak efa918a2f9
prodtest: code cleanup, fix build 2017-10-27 01:00:39 +02:00
Jan Pochyla 905e0bc82a
prodtest: codestyle, touch, fixes 2017-10-26 23:55:15 +02:00
Jan Pochyla 51d00e1de7
trezorhal/usb: add Inf timeout to blocking fns 2017-10-26 23:55:14 +02:00
Jan Pochyla 9cb342fcb6
prodtest: implement commands 2017-10-26 23:55:14 +02:00
Jan Pochyla 95965c3ff7
prodtest: add new target 2017-10-26 23:55:13 +02:00
Pavol Rusnak f73eb3effd
trezorhal: introduce secbool/sectrue/secfalse and use it where possible 2017-10-26 23:51:39 +02:00
Pavol Rusnak 7ddfdf69d6
trezorhal: support for non-continous areas in check_image_contents 2017-10-26 19:09:53 +02:00
Pavol Rusnak 89cc35b195
trezorhal: fix hash offset in check_image_contents 2017-10-26 18:53:20 +02:00
Pavol Rusnak 7c891e19e5
boardloader, bootloader: check image contents against hashes in the header 2017-10-26 17:16:59 +02:00
Pavol Rusnak b4ff9deb6b
bootloader: better wording 2017-10-26 15:56:57 +02:00
Pavol Rusnak 63636be0a3
trezorhal: rework header checking to new format 2017-10-26 15:54:02 +02:00
Pavol Rusnak 9e82a4d348
bootloader, firmware: introduce chunk hashes in the image header 2017-10-26 14:25:10 +02:00
Pavol Rusnak 3c974095aa
trezorhal: increase image header size from 512 to 1024 bytes 2017-10-26 02:11:40 +02:00
Pavol Rusnak 0c6ee14ee1
trezorhal: move image related defines to image.h 2017-10-26 01:17:57 +02:00
Pavol Rusnak 28aca51bc8
firmware: sign just the firmware part, not vendor header 2017-10-26 00:09:21 +02:00
Pavol Rusnak e4003700cd
bootloader, firmware: update visuals 2017-10-25 15:20:06 +02:00
Pavol Rusnak 8bd258db6f
trezorhal: added calls to USBD_LL_FlushEP in deinit functions 2017-10-24 19:19:57 +02:00
Pavol Rusnak 9e31e0f4d4
bootloader: stop/deinit usb for unplug events as well 2017-10-24 18:48:01 +02:00
mcudev b922579173 bootloader: cleanup usb on firmware upload success before jumping to firmware (#68) 2017-10-24 18:45:02 +02:00
Pavol Rusnak d2ecae71d7
trezorhal: return position of last touch event from touch_click 2017-10-24 17:59:25 +02:00
Pavol Rusnak 6e51ee251f
bootloader+firmware: call shutdown instead of inf-loop after main is finished 2017-10-24 17:23:06 +02:00
mcudev abf7f822b8 boardloader: do not call shutdown directly, return and the startup code handles it 2017-10-24 17:17:20 +02:00
mcudev 041dd951d3 boardloader: do not use ensure before display_init, just return 2017-10-24 17:17:20 +02:00
mcudev 1f6edb448c boardloader: check reset flags for production 2017-10-24 17:17:20 +02:00
mcudev 3f58a771b4 boardloader: stop clearing standby flag 2017-10-24 17:17:20 +02:00
mcudev b1eea5a434 boardloader: enable PVD programmable voltage detector and interrupt 2017-10-24 17:17:20 +02:00
Jan Pochyla f93316bebd cleanup .gitignore files 2017-10-24 16:24:59 +02:00
Pavol Rusnak 6b9751d30d
trezorhal: cleanup usb api 2017-10-20 18:51:05 +02:00