| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Shimless RMA needs to know if the button combo triggered AP RO
verification even if AP RO verification isn't supported. This change
adds two new responses AP_RO_UNSUPPORTED_TRIGGERED(5) and
AP_RO_UNSUPPORTED_NOT_TRIGGERED(4) to tell if the button combo was
pressed on a board that doesn't support AP RO verification.
The old AP_RO_UNSUPPORTED value, 3, isn't returned by cr50 anymore.
AP_RO_PASS(1) and AP_RO_FAIL(2) are still used. They both mean the combo
was triggered.
AP_RO_NOT_RUN(0) is still used. It still means the combo wasn't
triggered.
Summary of the states
- pressed - AP_RO_PASS(1), AP_RO_FAIL(2), AP_RO_UNSUPPORTED_TRIGGERED(5)
- not pressed - AP_RO_NOT_RUN(0) and AP_RO_UNSUPPORTED_NOT_TRIGGERED(4)
- unknown - AP_RO_UNSUPPORTED_UNKNOWN(3)
BUG=b:181000999
TEST=use gsctool to get the AP RO verification status on cr50 images
with the new and old version of the get AP RO status vendor command.
Change-Id: Ib2b33e69a4d4165fc2c13437a919b8f2a83c1bba
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3213112
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=chromium:1031705
BRANCH=master
TEST=None
Signed-off-by: kerker <kerker@chromium.org>
Change-Id: Idf4f5342da6b3f3307e1948c165d44b83031543a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2425983
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Yu-Ping Wu <yupingso@chromium.org>
(cherry picked from commit 24f03775900d085130f4d411da3bfdfe29afc7ef)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3067596
Reviewed-by: Craig Hesling <hesling@chromium.org>
Commit-Queue: Mary Ruthven <mruthven@chromium.org>
Tested-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
| |
BUG=b:185783841
TEST=none
Change-Id: I4c9a43efd2d3c5e77a681b8b10054a07df99df96
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2953866
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for running the VENDOR_CC_GET_AP_RO_STATUS vendor command.
BUG=b:182594555
TEST=gsctool -aB prints the AP RO verification status
Change-Id: If14073894441657746a84cff8f778fd57a126625
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2951963
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For commands that do not take in an image, we cannot tell if we are
communicating with a haven or dauntless chip automatically. Add a way to
specify if we are communicating with a dauntless chip. Default to haven
if the optional --dauntless flag is not present
BUG=b:190659004
TEST=execute `gsctool -I` on haven chip and see success
TEST=execute `gsctool -I --dauntless` on haven chip and see failure that
it cannot find device with dauntless VID:PID
Change-Id: Ia92422846d283eba5b27cfaa130c782f13af90ca
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2952837
Commit-Queue: Mary Ruthven <mruthven@chromium.org>
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a dauntless image is passed in on the command line, then default the
vid:pid to daunltess's vid:pid if it wasn't specified on the command
line.
BUG=none
TEST=upgraded d2 image without specifying -d option
TEST=upgraded cr50 image without specifying -d option
Change-Id: I8387d9d27432f6911df03e16249e91bd44b5558b
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2782361
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For dauntless images, we say that the image goes to the next 16KB
aligned address, but this will get reduce anyway since we don't send the
0xFFs as the end of the transfer. Removing this just reduces unnecessary
complexity
BUG=none
TEST=update firmware on D2
TEST=update firmware on H1 (should be no change)
Change-Id: I03ce12b85138b9200a8e48ad441221d3aa3f1609
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2706038
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since Dauntless does not support SHA1, we need to send a SHA256 digest
prefix for each firmware update packet. Haven should be unaffected by
this change as it will still use SHA1
BUG=b:179683616
TEST=Verify D2 using SHA256 for validation works
TEST=Verify H1 using SHA1 still works
Change-Id: I4627d3d4d90e0bbe0dae78d4bb29852fad1a3149
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2702316
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We won't encounter H1 older than 0.0.22, and all dauntless
will support background update support
The alpha firmware drop (b:180042261) contains support for
VENDOR_CC_TURN_UPDATE_ON in addition to VENDOR_CC_IMMEDIATE_RESET.
Use VENDOR_CC_TURN_UPDATE_ON as the default.
BUG=b:162244909,b:172465629
TEST=Upgrade firmware with alpha firmware before and after this change
TEST=verify that Cr50 upgrade works as well
Change-Id: Ibaf1d867dd4135f0041aa53273515e4228508cc3
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2702315
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GCC starting with v7 introduced a new warning triggered by the
snprintf calls which fails the build due to having -Werror on.
CrOS is upgrading GCC 4.9 -> 10.2.
The fix here is to increase the buffer size a bit so the entire
max string content can fit into the buffer, thus not triggering
GCC's bounds checks.
gsctool.c: In function 'process_erase_ap_ro_hash':
gsctool.c:1540:37: error: ', size ' directive output truncated writing 7
bytes into a region of size between 0 and 2 [-Werror=format-truncation=]
1540 | "misconfigured response, rc=%d, size %zd",
| ~~^~~~~
gsctool.c:1540:5: note: using the range [-..., ...] for directive argument
1540 | "misconfigured response, rc=%d, size %zd",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gsctool.c:1539:3: note: 'snprintf' output between 37 and 66 bytes into a
destination of size 30
1539 | snprintf(error_details, sizeof(error_details),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1540 | "misconfigured response, rc=%d, size %zd",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1541 | rv, response_size);
| ~~~~~~~~~~~~~~~~~~
gsctool.c:1534:38: error: ', response ' directive output truncated writing
11 bytes into a region of size between 0 and 9 [-Werror=format-truncation=]
1534 | "Unexpected error rc %d, response %d",
| ~~~~~~~~~^~
gsctool.c:1533:4: note: 'snprintf' output between 34 and 46 bytes into a
destination of size 30
1533 | snprintf(error_details, sizeof(error_details),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1534 | "Unexpected error rc %d, response %d",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1535 | rv, response);
| ~~~~~~~~~~~~~
cc1: all warnings being treated as errors
BUG=chromium:1169162
TEST=Local builds using GCC 10.2.0.
Change-Id: Ib66eb6a877c52a8bd6e82a7e76d040ff927ec691
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2645125
Tested-by: Adrian Ratiu <adrian.ratiu@collabora.corp-partner.google.com>
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
| |
BUG=b:175244613
TEST=make buildall -j
Change-Id: I59278215bfc40886b213442918c07fcdbe9bbfe7
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2613452
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This code uses coil terms we're removing, but we don't use it in
platform/cr50. Remove the code instead of replacing the terms.
BUG=b:175244613
TEST=make buildall -j
Change-Id: I30d83e72f76c3699b37bb1750344c38266ce269f
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2613448
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This code uses coil terms we're removing, but we don't use it in
platform/cr50. Remove the code instead of replacing the terms.
BUG=b:175244613
TEST=make buildall -j
Change-Id: I693aedf027738bc178dfffda0f005735eec12f4c
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2613447
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on the input image, we determine if this is a CR50 image or a
Dauntless image. The magic lets us determine which type of image it is.
For D2 images, we scan for the RW header instead of using hard coded
offsets as this will allow us to change where the RW is located (if RO
contracts or expands).
BUG=b:172465629
TEST=sent image to D2 from gsctool via CCD
TEST=flash new H1 image to volteer using to slot B
Signed-off-by: Jett Rink <jettrink@chromium.org>
Change-Id: I7554c978a9ba83b423fbaf43c62f9f0d6711d071
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2585926
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The UMA get flog script expects a raw timestamp without spaces around
the colon. Output the UMA format when the machine arg is given.
gsctool -aL still prints the incorrect year in the timestamp. That will
get fixed in a followup CL.
BUG=b:176816528
TEST=gsctool -aML outputs the old format. gsctool -aL still prints the
output with timestamps.
Change-Id: Ie11204260958f48485c28917c31d62d78c5b722c
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2610932
Reviewed-by: Andrey Pronin <apronin@chromium.org>
Commit-Queue: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace "whitelist" with "allowlist".
BUG=b:175244613
TEST=make buildall -j
Change-Id: Ie0a23cb33722fe27b76d97c2ebdd548c2ecc2aa6
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2600299
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Change-Id: I8ea288c7192e6316e2264389010d80039d2dada2
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2547002
Reviewed-by: Wai-Hong Tam <waihong@google.com>
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Change-Id: I3094dd852c5be4815a9afac3e302b73c758103ec
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2547001
Reviewed-by: Wai-Hong Tam <waihong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the gsctool support for the GET_AP_RO_HASH vendor command
BUG=b:168634745
TEST=gsctool -aA
Change-Id: I9c14446fbea22e428ca920341a8c1618b82722a3
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2547198
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new option triggers sending the VENDOR_CC_SEED_AP_RO_CHECK vendor
command with the empty payload.
The Cr50 response indicates if the erase succeeded or there were
problems (either board ID space not erased, or flash erase operation
failed).
BUG=b:153764696
TEST=verified successful erase of the AP RO flash space on devices
with empty board ID space, and failure to erase in case board ID
space is programmed with the appropriate error message.
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Change-Id: I4b7c981323771b73a837e766bd5e94e3824e8e00
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2204976
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
BRANCH=none
TEST=script works with a cr50 running 0.6.2
Change-Id: I14cfd8d90bff40843493d22576307421524d3350
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2207571
Reviewed-by: Wai-Hong Tam <waihong@google.com>
(cherry picked from commit be7c49d46cd1e8b94be5ce7b3752ec6f4a04223d)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2218678
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At this point images with testlab support are available. Fail if cr50 is
running a prod image that is too old.
BUG=none
BRANCH=none
TEST=none
Change-Id: I096502417c4a44b4a2f458a2a5601de2d154d5cf
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2207572
Reviewed-by: Wai-Hong Tam <waihong@google.com>
(cherry picked from commit 26dfe4442eb06ef1c3e60b47fbf2065c095de824)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2218679
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Displaying epoch values in the flash log entries does not help the end
user to synchronize the flash log events with other logs generated on
the device.
This patch changes the log output format to display the device time
zone in the first line and then all present log entries with timestamp
in 'dd:mm:yy hh:mm:ss' format.
BUG=b:153764696
TEST=ran the new gsctool image on a Chrome OS device:
$ gsctool -a -L
Log time zone is PST
Dec 31 69 16:00:01 : 00
May 06 20 21:20:41 : 09 01
...
May 08 20 12:09:21 : 09 00
May 08 20 12:09:22 : 09 03
May 08 20 12:09:23 : 09 06
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Change-Id: I3fca12e1679fbdd9e0e168606014e84c89c42402
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2191282
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch makes use of the modification of the vendor command
VENDOR_CC_WP, which allows to enable WP.
BUG=b:153881773
TEST=verified that attempts to enable WP when running the unmodified
Cr50 image fail with error message "Early Cr50 versions do not
support setting WP", and that the updated Cr50 image allows to
enable WP using 'gsctool -a -w enable'
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Change-Id: Ie28c1c9b171dd6ea2e3edc0ae624f953cb4fa4fe
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2149526
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gsctool -g or --getbootmode can get the current system boot mode.
BUG=b:141578322
BRANCH=cr50
TEST=ran on helios.
$ ./extra/usb_updater/gsctool --getbootmode
finding_device 18d1:5014
Found device.
found interface 3 endpoint 4, chunk_len 64
READY
-------
Boot mode = 0x00: NORMAL
$ ./extra/usb_updater/gsctool -g
finding_device 18d1:5014
Found device.
found interface 3 endpoint 4, chunk_len 64
READY
-------
Getting boot mode
Boot mode = 0x00: NORMAL
Change-Id: Id024ac94fb08b680bd5e190bc7eeb2de301b70a2
Signed-off-by: Namyoon Woo <namyoon@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2058128
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By design gsctool does not update the inactive RO unless the running
RO version is lower than the version in the Cr50 image being
transferred.
With transition to the new RO version, keys and rollback map state,
there is a need to enforce that both ROs on the device are updated.
This patch adds a command line option which allows to update the
inactive RO to the contents of the Cr50 image.
BRANCH=none
BUG=b:136284186
TEST=running 'gsctool -q cr50.bin' updates the inactive RO section.
Change-Id: I79c21fc2cd41c40070352d8fbce0b71dd3ae2b1f
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1949547
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
(cherry picked from commit 53f59f6b361e8cf0a8d1af70306146db90ffae23)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2058127
Tested-by: Namyoon Woo <namyoon@chromium.org>
Commit-Queue: Namyoon Woo <namyoon@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix errors from pylint. Use logging to print messages instead of print.
BUG=b:149405690
BRANCH=none
TEST=RMA open a device and enable testlab mode.
Change-Id: I63a8b108b0f436291659f2f787ebcf72e8f4a523
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2052269
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
(cherry picked from commit 63e6072b454d41e85fd3763abff412d73090ce2d)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2080634
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=b:149405690
BRANCH=none
TEST=run with python3
Change-Id: I42bcccec83c7c582450c0b599f46b3fbf0ab3f80
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2052268
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
(cherry picked from commit 356f6719d9060523f8302eb93f67be97134831c7)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2080593
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cr50_rma_open can be run without servod. dut-control
cr50_uart_timestamp:off fails if the script isn't running through
servod. This change moves disabling timestamps, so it's only done on
servod.
BUG=none
BRANCH=none
TEST=run with and withoout servod
Change-Id: Icc80d021dd7cbad8ae3632625b32b30368e5a94c
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1960919
Reviewed-by: Evan Green <evgreen@chromium.org>
(cherry picked from commit 633bca2829532c6cad19cf49774a57f6baf8d1bf)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2080633
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The log timestamps are unexpected by the script, and cause issues.
Send a dut-control command to disable UART timestamps.
Also fix the regex in the board ID portion to accept a colon as well as
a comma, whichever comes first.
BUG=None
TEST=Try cr50_rma_unlock.py
BRANCH=None
Change-Id: Ie9e54e65b86c52aef120fa3249453bfc090cf6f0
Signed-off-by: Evan Green <evgreen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1921703
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
(cherry picked from commit 2f814c9a297f2be7a508676a17052c7fe652c1d2)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2080632
Tested-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
Commit-Queue: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The vast majority of tools built from the ./util directory and many
built from ./extra/usb_updater directory are not used by Cr50, let's
not build them.
Also eliminating some irrelevant pre-upload checks.
BRANCH=cr50, cr50-mp
BUG=b:145912698
TEST=verified that all the following commands succeed:
make buildall -j
make BOARD=cr50 CR50_DEV=1 -j
make BOARD=cr50 CR50_SQA=1 -j
make -C extra/usb_updater
Change-Id: I0040ceab95ad280bda86ef599b3e902addcbdcde
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1986943
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If Cr50 is running older than 0.3.20, delay the RO update 1 minute after
the RW update, so Cr50 doesn't reject the RO blocks because their
offsets are less than the RW offsets.
BUG=b:144873413
BRANCH=none
TEST=update board running RO 0.0.10 RW 0.3.18 to the RO 0.0.11 RW 0.3.22
image.
Change-Id: I0179cc235c692133b08cd3430d71069b2f94bf69
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1929481
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a few issues in touchpad_updater, that is used only for
early bringup by Elan:
- Fix Makefile to correctly cross-compile
- Add support for 0x10 IC
- Improve debugging
- Remove manual fragmentation of USB bulk packets (this is not
required and actually breaks large transactions)
- Add timeout to libusb_bulk_transfer calls.
BRANCH=kukui
BUG=b:142333653
TEST=emerge-kukui -v ec-devutils && \
scp /build/kukui/usr/sbin/ec_touchpad_updater $IP:/usr/local/sbin
Ping-pong between 2 images:
ec_touchpad_updater -p 0x503c -f S8648A-15H0_FW01.bin
ec_touchpad_updater -p 0x503c -f S8648A-15H0_FWB1.bin
Change-Id: I78a8064002504ba4db15e202e516e7a2399bf648
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1906393
Reviewed-by: Eric Yilun Lin <yllin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the dimensions, and also the size, and make sure that updating
the FW actually works (it seems like increasing the timeout to
2000ms is needed).
BRANCH=kukui
BUG=b:140596094
TEST=Flash masterball, no warning in console on start
TEST=
Host:
make TOUCHPAD_FW=S8648A-15H0_FW01.bin BOARD=masterball -j
USE=updater_utils emerge-kukui -av ec-utils
cros deploy $IP ec-utils
DUT:
usb_updater2 -d 18d1:503c -r; sleep 0.5; \
usb_updater2 -d 18d1:503c -s; usb_updater2 -d 18d1:503c ec.bin
usb_updater2 -d 18d1:503c -p S8648A-15H0_FW01.bin
Change-Id: Ia473ac420b42f52ad1639f950a3f08ff5d32df09
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1847512
Reviewed-by: Eric Yilun Lin <yllin@chromium.org>
Reviewed-by: Joel Kitching <kitching@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add annotations to allow the compiler to check printf-style format
strings in the EC.
BUG=chromium:984041
TEST=make -j buildall
BRANCH=None
Change-Id: Ic39f37f8362372de7d289becea684d9da535599a
Signed-off-by: Evan Green <evgreen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1733101
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the host command handler callback function returns an int, it's easy
to accidentally mix up the enum ec_error_list and enum ec_status types.
The host commands always expect an enum ec_status type, so we change the
return value to be of that explicit type. Compilation will then fail if
you accidentally try to return an enum ec_error_list value.
Ran the following commands and then manually fixed up a few remaining
instances that were not caught:
git grep --name-only 'static int .*(struct host_cmd_handler_args \*args)' |\
xargs sed -i 's#static int \(.*\)(struct host_cmd_handler_args \*args)#\
static enum ec_status \1(struct host_cmd_handler_args \*args)##'
git grep --name-only 'int .*(struct host_cmd_handler_args \*args)' |\
xargs sed -i 's#int \(.*\)(struct host_cmd_handler_args \*args)#\
enum ec_status \1(struct host_cmd_handler_args \*args)##'
BRANCH=none
BUG=chromium:1004831
TEST=make buildall -j
Cq-Depend: chrome-internal:1872675
Change-Id: Id93df9387ac53d016a1594dba86c6642babbfd1e
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1816865
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now we have several different versions of #! in
our python scripts. Unify them all and specify that we
are using python2.
Signed-off-by: Stefan Reinauer <reinauer@chromium.org>
BUG=none
BRANCH=none
TEST=make buildall
Change-Id: Iab33a3f5d4b827451a55542bcee8837b00da7867
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1817948
Commit-Queue: Stefan Reinauer <reinauer@chromium.org>
Tested-by: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=none
BUG=none
TEST=Viewed the updated file in Gitiles.
Change-Id: Icd10a54500a2521e4d598997385916d59dd38ab3
Signed-off-by: Matthew Blecker <matthewb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1827239
Reviewed-by: Justin TerAvest <teravest@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds some logic to find config and firmware files on test
images as well, where they end up being located at /usr/local/share
instead.
BUG=b:120921028
BRANCH=None
TEST=manual testing // on fizz-labstation test image
sudo servo_updater --board servo_v4
observe servo v4 getting updated
Note: Test images right now do not have usb_updater2 yet (WIP) hence the
test is done using fizz-labstation, a board that does come with
usb_updater2
Change-Id: I4838424ed17bad5c3e2911cb967193863cd0b231
Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1760974
Reviewed-by: Nick Sanders <nsanders@chromium.org>
Reviewed-by: Todd Broch <tbroch@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The compiler complained about this, noting that
error: format string is not a string literal (potentially insecure)
[-Werror,-Wformat-security]. This seems to fix it.
BUG=b:120921028
BRANCH=None
TEST=manual testing
sudo emerge ec-devutils -j32
// warning disappears
Change-Id: I4a4392ec7e6bc7af06dc54b6382e52a1f2c91252
Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1761467
Reviewed-by: Nick Sanders <nsanders@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the image is node locked to a devid, print that information in the
'-b' output.
BUG=none
BRANCH=none
TEST=get version output of node locked and prod signed image.
Change-Id: I0db2828d7bd699013ec84467c7e2a4b918bd7b27
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1742913
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for getting and setting the endorsement key using the vendor
command.
BUG=b:138943966
BRANCH=none
TEST=Get/Set endorsement seed using vendor command.
Change-Id: I5c2f5d9efa0fbc236731430cac650785693c8db8
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1740076
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the mutually exclusive check, so using 2 raises an error. Also fix
the error message to show -U instead of -u. Upstart isn't exclusive. CCD
unlock is.
BUG=none
BRANCH=none
TEST=gsctool -i -U raises an error.
Change-Id: Iaf43f18fefc1a8c4b6612b05daa5c82a7680b310
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1742220
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ran the following command:
git grep -l 'Copyright (c)' | \
xargs sed -i 's/Copyright (c)/Copyright/g'
BRANCH=none
BUG=none
TEST=make buildall -j
Change-Id: I6cc4a0f7e8b30d5b5f97d53c031c299f3e164ca7
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1663262
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds back and uses the close method that was defined in change
1125354.
BRANCH=None
BUG=chromium:968700
TEST=ran servo updater on a servo that needed an update (so that the
version check was exercised twice).
Signed-off-by: Kevin Shelton <kmshelton@chromium.org>
Change-Id: I0ddce9749a3548d5019c138a2a2266fd93a85ca9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1643658
Tested-by: Kevin Shelton <kmshelton@chromium.org>
Reviewed-by: Nick Sanders <nsanders@chromium.org>
Commit-Queue: Kevin Shelton <kmshelton@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Flash log access could be denied in case there is a previously started
log operation in progress.
Flash log by design is a 'the best effort' facility, let's re-try a
few times if Cr50 returns an error when flash log read is attempted.
Also, allow the -L optional parameter to be a decimal value, this is
better aligned with the output format where timestamp is reported as a
decimal value.
BRANCH=none
BUG=b:132287488
TEST=ran two concurrent processes, one constantly adding flash log
entries using Cr50 console command, and another one constantly
retrieving entries using 'gsctool -a -L' observed reliable
operation over long periods of time, with occasional flash log
lockup log entries reported by the Cr50 (as expected).
- verified proper operation when a decimal value is passed in as a
-L optional parameter.
Change-Id: I4510490c73d616e0d84776f483b9ee7bf11bcbc3
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1639094
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This would allow to see up to 20 bytes of each packet sent to the TPM
when -v command line option is passed to gsctool.
BRANCH=none
BUG=none
TEST=ran 'gsctool -a -L -v' and observed expected traces.
Change-Id: If0988e71a3856b2e213b906315651a84051317ce
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1639095
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pyusb 1.0.2 changed two API calls upon which we depend:
b3ee6cdfef8f find function returns an iterator.
dac78933f6a6 Removed unnecessary length argument to util.get_string
This CL only updates callers of these APIs (the previous CL contained some
unrelated changes around kernel driver detach and closing stm32usb).
Signed-off-by: Nick Sanders <nsanders@chromium.org>
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Based-on: https://chromium-review.googlesource.com/1125354
BRANCH=None
BUG=chromium:958677
TEST=precq passes
TEST=chromiumos-sdk tryjob buildbucketId=8915374561970847360
TEST=using servo v2
servod -b grunt
=> no python exceptions when starting servod
TEST=using servo v4
servod -b grunt
=> no python exceptions when starting servod
TEST=using u-Servo:
servod -b grunt
=> no python exceptions when starting servod
for i in {1..10000} ; do echo $i $(dut-control ec_uart_en spi1_buf_en ); done
=> No stability regression versus pyusb-1.0.0b1
TEST=servo_updater, EC console via servo
Cq-Depend: chromium:1597548,chromium:1597156,chromium:1597157
Change-Id: Ic8101707838e5d19e901cf1f7125b97b5102f089
Reviewed-on: https://chromium-review.googlesource.com/1597156
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The recently introduced vendor command is used to get or set flash log
timestamp.
BRANCH=none
BUG=b:132287488
TEST=on the device ran various incarnations of the command (> prompt
on the Cr50 console, # is the DUT bash):
> flo 10 10
> flo
1:00
13:0a 0a 0b 0c 0d 0e 0f 10 11 12 13
==== afger a few seconds =====
# /var/tmp/gsctool -a -T
Current H1 time is 68
==== afger some more time =====
> flo 5 5
> flo
1:00
13:0a 0a 0b 0c 0d 0e 0f 10 11 12 13
398:05 05 06 07 08 09
# /var/tmp/gsctool -a -T 300
error: return value 1
# /var/tmp/gsctool -a -T 1000000
> flo 6 6
> flo
1:00
13:0a 0a 0b 0c 0d 0e 0f 10 11 12 13
398:05 05 06 07 08 09
1000022:06 06 07 08 09 0a 0b
# /var/tmp/gsctool -a -T
Current H1 time is 1000052
Change-Id: I16ceb97a32b4d452705f9df3826151f3e4e45832
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1610721
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is no need to duplicate short and long option strings in the
.opt and .help_text fields, one is enough.
To properly format --help output in case the command line argument
expects a parameter, part of the .help_text string has to be printed
concatenated with the option strings.
Let's retrieve the short and long option strings form from the .opt
structure and use '%' as the formatting character to allow to indicate
that the the beginning of the help message needs to be printed
concatenated with the option strings.
Also correct the general description.
BRANCH=none
BUG=none
TEST=help text before this change:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
$ gsctool -h
Usage: gsctool [options] [<binary image>]
This utility allows to update Cr50 RW firmware, configure
various aspects of Cr50 operation, analyze Cr50 binary
images, etc.
The required argument is the file name of a full RO+RW
binary image.
A typical Chromebook use would expect -s -t options
included in the command line.
Options:
-a,--any Try any interfaces to find Cr50 (-d, -s, -t are all ignored)
-b,--binvers Report versions of Cr50 image's RW and RO headers, do not update
-c,--corrupt Corrupt the inactive rw
-d,--device VID:PID USB device (default 18d1:5014)
-f,--fwver Report running Cr50 firmware versions
-F,--factory [enable|disable]
Control factory mode
-h,--help Show this message
-I,--ccd_info Get information about CCD state
-i,--board_id [ID[:FLAGS]]
Get or set Info1 board ID fields
ID could be 32 bit hex or 4 character string.
-k,--ccd_lock Lock CCD
-L,--flog [prev entry] Retrieve contents of the flash log (newer than <prev entry> if specified)
-M,--machine Output in a machine-friendly way. Effective with -b, -f, -i, and -O.
-m,--tpm_mode [enable|disable]
Change or query tpm_mode
-n,--serial SERIAL Cr50 CCD serial number
-O,--openbox_rma <desc_file>
Verify other device's RO integrity
using information provided in <desc file>
-o,--ccd_open Start CCD open sequence
-P,--password
Set or clear CCD password. Use
'clear:<cur password>' to clear it
-p,--post_reset Request post reset after transfer
-R,--sn_rma_inc RMA_INC
Increment SN RMA count by RMA_INC.
RMA_INC should be 0-7.
-r,--rma_auth [auth_code]
Request RMA challenge, process RMA authentication code
-S,--sn_bits SN_BITS
Set Info1 SN bits fields.
SN_BITS should be 96 bit hex.
-s,--systemdev Use /dev/tpm0 (-d is ignored)
-T,--tstamp <stamp> Set flash log timestamp base
-t,--trunks_send Use `trunks_send --raw' (-d is ignored)
-U,--ccd_unlock Start CCD unlock sequence
-u,--upstart Upstart mode (strict header checks)
-V,--verbose Enable debug messages
-v,--version Report this utility version
-w,--wp Get the current wp setting
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
and after this change:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
$ ./extra/usb_updater/gsctool -h
Usage: gsctool [options] [<binary image>]
This utility allows to update Cr50 RW firmware, configure
various aspects of Cr50 operation, analyze Cr50 binary
images, etc.
<binary image> is the file name of a full RO+RW binary image.
Options:
-a,--any Try any interfaces to find Cr50 (-d, -s, -t are all ignored)
-B,--background_update_supported
Force background update mode (relevant only when interacting with Cr50 versions before 0.0.19)
-b,--binvers Report versions of Cr50 image's RW and RO headers, do not update
-c,--corrupt Corrupt the inactive rw
-d,--device VID:PID USB device (default 18d1:5014)
-f,--fwver Report running Cr50 firmware versions
-F,--factory [enable|disable]
Control factory mode
-h,--help Show this message
-I,--ccd_info Get information about CCD state
-i,--board_id [ID[:FLAGS]]
Get or set Info1 board ID fields. ID could be 32 bit hex or 4 character string.
-k,--ccd_lock Lock CCD
-L,--flog [prev entry] Retrieve contents of the flash log (newer than <prev entry> if specified)
-M,--machine Output in a machine-friendly way. Effective with -b, -f, -i, and -O.
-m,--tpm_mode [enable|disable]
Change or query tpm_mode
-n,--serial Cr50 CCD serial number
-O,--openbox_rma <desc_file>
Verify other device's RO integrity using information provided in <desc file>
-o,--ccd_open Start CCD open sequence
-P,--password Set or clear CCD password. Use 'clear:<cur password>' to clear it
-p,--post_reset Request post reset after transfer
-R,--sn_rma_inc RMA_INC Increment SN RMA count by RMA_INC. RMA_INC should be 0-7.
-r,--rma_auth [auth_code]
Request RMA challenge, process RMA authentication code
-S,--sn_bits SN_BITS Set Info1 SN bits fields. SN_BITS should be 96 bit hex.
-s,--systemdev Use /dev/tpm0 (-d is ignored)
-T,--tstamp [<tstamp>] Get or set flash log timestamp base
-t,--trunks_send Use `trunks_send --raw' (-d is ignored)
-U,--ccd_unlock Start CCD unlock sequence
-u,--upstart Upstart mode (strict header checks)
-V,--verbose Enable debug messages
-v,--version Report this utility version
-w,--wp Get the current wp setting
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Change-Id: I5afd2473dbdaf9edc515ee9f02b932effe3755c5
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1628113
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|