| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As of pexpect 3.0, the fdexpect module was moved into the pexpect
package. Prior to 4.0, a wrapper module was installed along with
pexpect, so "import fdexpect" continued to work. In 4.0 this wrapper
was removed.
Importing fdexpect from pexpect works for our current pexpect 3.3, and
will continue to work when we update pexpect to 4.0+.
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
BRANCH=none
BUG=chromium:958677
TEST=(0) with pexpect 3.3, (1) sudo servod --board=grunt
TEST=(0) Uprev pexpect to 4.2.1, (1) sudo servod --board=grunt
=> servod works in both cases
Change-Id: I9d21042713d0cc1826cf55da4af7a16f44b746bb
Reviewed-on: https://chromium-review.googlesource.com/1593419
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Scott Collyer <scollyer@chromium.org>
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
Reviewed-by: Scott Collyer <scollyer@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When both RO and RW updates are required, and the RO includes a new RW
signing key, to ensure recovery from failed updates, the RW section of
the image needs to be updated before the RO section,
In this case interrupted RO or RW update will result in the H1
rebooting still using the original RO and original RW.
If the RO was updated first and the RW update was interrupted, the
chip could end up with the newer RO with no RW to verify with the new
key.
BRANCH=none
BUG=b:74100307
TEST=created an image with fake RO_B version number of 0.0.106, and
then tried to update to this image. Observed that RW_B was
transferred before RO_B
[1067.694175 FW update: starting...]
at 0x84000
at 0x84400
at 0x84800
...
at 0xbb400
at 0x80000
at 0x80400
at 0x80800
at 0x80c00
at 0x81000
at 0x81400
at 0x81800
at 0x81c00
at 0x82000
at 0x82400
Change-Id: Ie5240c14c6b7d73c00baac693be724fab4636992
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1586590
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We should ensure that all custom task definition are non-zero and fit
with the globally defined events. Add compile time check and change
semantics to specify bit number (instead of making all callers use the
BIT macro).
This also fixes an error with TASK_EVENT_PHY_TX_DONE for ITE being 0.
The bug that made that happen hasn't landed on any firmware branches
that use it though.
BRANCH=none
BUG=none
TEST=builds
Cq-Depend:chrome-internal:1178968,chrome-internal:1178952
Change-Id: I5e1d1312382d200280c548e9128e53f4eddd3e61
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1570607
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The script now unconditionally attempts to (re)install the module, even if
it is already loaded. (This also removes a message which had a typo,
mistakingly referring to i2c-dev instead of i2c-pseudo.)
The script no longer attempts to load i2c-dev, since servod does that now.
The script now runs "make clean" before "make" .
The header comment no longer references a section of the README that was
never checked in.
BRANCH=none
BUG=b:79684405
TEST=I ran the install script in various scenarios:
1) No i2c-pseudo module loaded or installed.
2) i2c-pseudo module loaded but not installed.
3) i2c-pseudo module installed but not loaded
4) i2c-pseudo module loaded and installed.
In all cases the module was (re)installed and either left loaded
(if applicable), or loaded (if not previously loaded).
The script does not attempt to unload and re-load the module when
re-installing only for simplicity.
Change-Id: I5f2677b92406b8a49d229bc84d2efcca5504f501
Signed-off-by: Matthew Blecker <matthewb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1552245
Reviewed-by: Nick Sanders <nsanders@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This Linux kernel module provides I2C adapters that can be backed by
userspace programs. This allows for userspace implementations of
functionality such as tunneling I2C through another communication channel
to a remote I2C bus.
BRANCH=none
BUG=b:79684405
TEST=Used i2c-tools CLI to i2c-dev to issue I2C queries, and Python
interactive interpreter as the I2C pseudo adapter controller. The
i2c-pseudo module correctly proxied write, read, write+read, and multi-byte
reads through the controller character device, and it correctly proxied
back the responses from the character device, including the specific byte
values read. Later, I implemented an I2C pseudo controller in Servod and
used it to flash an ITE EC over I2C using both Servo Micro and Suzy-Q.
Change-Id: Idda764e56b9e9d577302b59286e873291ea36d25
Signed-off-by: Matthew Blecker <matthewb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1250029
Reviewed-by: Nick Sanders <nsanders@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Seen some logs where due to the regex cutting out too soon, the
servo_updater assumes an update might be needed whereas the version on
the v4/micro is actually already up to date.
This change tightens the regex used to query the version by requiring it
to match some sort of newline character after the version string as
well.
BRANCH=None
BUG=chromium:933978
TEST=manual testing
sudo servod_updater
[observe it working well]
Change-Id: I0b3139a120087d49d6f4bd52267d191716d3b541
Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1481770
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Matthew Blecker <matthewb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new command line option accepts a single optional parameter, the
timestamp. If the parameter is not given, the entire log is retrieved
one entry at a time. If the parameter is given, only entries newer
than the passed in timestamp are retrieved.
BRANCH=none
BUG=b:63760920
TEST=tried retrieving log entries from an H1 running the updated Cr50
code.
Change-Id: I317a659dfc7ebe24cf6f1d957bf0b6d29fb94518
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1525149
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the argument simpler to understand and produce.
BUG=chromium:940327
TEST=manual on a device
Change-Id: I9226116f52011dab1967196e1c236dd36b11e4c4
Signed-off-by: Yves Arrouye <drcrash@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1514215
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Yves Arrouye <drcrash@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When doing RMA reset and the auth code is rejected, gsctool only reports
the error code, which is not clear for the user. This CL adds the
failure reason to make the message clearer.
BUG=b:128801501
TEST=make gsctool; manually test on DUT
BRANCH=none
[Before fix]
localhost $ gsctool -a -r "A"
rma unlock failed, code 1
Processing response...
localhost $ gsctool -a -r "ABCDEFGH"
rma unlock failed, code 6
Processing response...
[After fix]
localhost $ gsctool -a -r "A"
Processing response...
rma unlock failed, code 1 (wrong authcode size)
localhost $ gsctool -a -r "ABCDEFGH"
Processing response...
rma unlock failed, code 6 (authcode mismatch)
Change-Id: I5db4d8f7cffe5b582f48fdc3b7fb27493b3715ff
Signed-off-by: Cheng-Han Yang <chenghan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1527905
Commit-Ready: Cheng-Han Yang <chenghan@chromium.org>
Tested-by: Cheng-Han Yang <chenghan@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The scan should continue while scanned entries are not empty.
BRANCH=none
BUG=none
TEST='gsctool -f is not reporting error anymore.
Change-Id: Ie8316de1b95b511ed6c2b3f65c4cfbd92822edf8
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1529711
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Many of gsctool command line options result in setting a Boolean flag.
This patch collects all such flags in a structure, and uses a function
to iterate over flags when examining command line options.
BRANCH=none
BUG=none
TEST=verified that Boolean command line options still can be set.
Change-Id: Id4a14e573ced893650c4c1c81f8ef92fc0d03bc5
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1525148
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace C++ style comments with C style comments and alphabetize the
help output.
BRANCH=none
BUG=none
TEST=gsctool still builds, -h output is ordered.
Change-Id: I1a6f10873c123d61773911e97cbf32fce7447ff7
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1525147
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building gsctool, getversion.sh is invoked by the Makefile, and
since BOARD environment variable is set to cr50, getversion.sh is
trying to retrieve the state of directories used by Cr50, but not
present when gsctool is built.
Let's just make sure that BOARD is not set to 'cr50' when
getversion.sh is invoked.
BRANCH=none
BUG=none
TEST='sudo emerge ec-utils' does not produce getversion.sh errors
about not being able to change directory to
../../third_party/{tpm2,cryptoc}, but the version string is still
available:
$ gsctool -v
Version: 1.1.9999-d2e5b7e, built on by @eskimo.mtv.corp.google.com
note that date and user name are also not included in this case,
but this is a separate unrelated issue.
Change-Id: Iadd7615f980e9444c539b5e04afca3f23d080174
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1501836
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Flash driver of the g chip requires that the size of the programmed
area is evenly divisible by 4. This patch makes sure that gsctool
complies with this requirement.
BRANCH=none
BUG=b:127295653
TEST=without this patch attempts to update Cr50 to an image built from
ToT fails, with this patch the same image programs just fine.
Change-Id: I064d22130a56e9e703f728bc898fd5de82d365d4
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1499657
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Function reporting the version of the gsctool expects the VERSION
variable generated by ./util/getversion.sh utility to start with a
single underscore without a prefix. But the utility could be adding
various prefixes to the VERSION string depending on the environment
variable settings.
Those settings are irrelevant for gsctool, it should ignore the prefix
up to the first underscore character found in the VERSION string.
Also, modify the Makefile to make sure the build date reported by
getversion.sh is accurate.
BRANCH=none
BUG=chromium:932361
TEST=built gsctool and checked version reporting:
make BOARD=cr50 CR50_DEV=1 gsctool
./gsctool -v
Version: v2.0.821+e890d0974 tpm2:v0.0.320-e987095 \
cryptoc:v0.0.10-b256f39, built on 2019-02-15 10:25:08 \
by vbendeb@eskimo.mtv.corp.google.com
Change-Id: I5fb6c4aa1dea6e857fffc7ec5e5a599d61175044
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1474736
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Namyoon Woo <namyoon@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Do not assume stdin input is a TTY. Only attempt to manipulate terminal
settings when connected to an actual terminal.
- Exit upon EOF. This is mostly relevant for non-TTY input, e.g. piped
input, though this is not conditioned on TTY-ness.
- For non-TTY inputs, sleep before exiting after EOF, in order to allow for
for reading a response from the USB console device (e.g. from the Servo).
The sleep time is configurable by -S / --notty-exit-sleep command line
option, default 0.2 seconds.
- Replace os.sleep(0.1) busy loop with waiting on a threading.Event.
- Print a newline character upon exit so that a user's shell prompt will
not be printed mid-line.
BRANCH=none
BUG=b:123727520
TEST=I tested handling of non-TTY input by piping Servo v4 console commands
such as:
$ echo version | ./console.py -d 18d1:501b
$ echo reboot | ./console.py -d 18d1:501b
With this change, console.py now exits on its own after sending the piped
command.
Previously when given piped input it would lose the first character of the
input due to the attempt to change TTY settings, then it would wait
indefinitely for ctrl+c or other signal, and finally it would traceback
upon ctrl+c.
I tested handling of TTY input in the usual manner, without redirecting
stdin. That still works smootly, exits without error upon ctrl+c, and no
longer causes the next shell prompt to start mid-line.
Change-Id: I894a40a4409b0c422b82158f452f81943277285d
Signed-off-by: Matthew Blecker <matthewb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1459139
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Nick Sanders <nsanders@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=master
BUG=b:112865585,b:123259683
TEST=No log spam when import as module from autotest
Change-Id: I7ced102bbb893bc1baa88c625b8c7279a1e32677
Signed-off-by: Puthikorn Voravootivat <puthik@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1437515
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows for sweetberry to be a valid configuration for
servo_updater
BRANCH=None
BUG=b:120449224
TEST=manual testing
sudo servod_updater --board sweetberry
...
...
update complete
image updated
Change-Id: If6a9113beb89ae8b58c70e959a77c9bb9f00607d
Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1369506
Reviewed-by: Nick Sanders <nsanders@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To 'successfully' flash sweetberry the 1s timeout is not sufficient.
Increase to 2s.
BRANCH=None
BUG=b:120449224
TEST=manual test
sudo servo_updater --board sweetberry
...
offset: writable at 0x40000
sending 0xb580 bytes to 0x40000
-------
update complete
image updated
...
Change-Id: I38bf8c852caf97069fcf67f4b77f9c0a30008235
Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1369507
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds two commands to set sn bits, and increment sn rma count.
These commands will be used in factory and RMA flows.
'gsctool -S 0x123:0x456:0x789' can be used to set sn bits
'gsctool -R <0-7>' can be used to increment rma count
BUG=chromium:905408
BRANCH=none
TEST=local manual tests on soraka
Change-Id: Iefb2076d5f53105ab36e84973d68f571b9626501
Signed-off-by: Louis Collard <louiscollard@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1347831
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently the verbose flag is stored in `verbose_mode` but
never used. Print conditionally on this flag within a new
`debug` function.
BUG=None
TEST=try running various commands with --verbose
check for verbose output
BRANCH=master
Change-Id: Iadaf1a91ea1b02b0638e6364077c2c148f26e03c
Reviewed-on: https://chromium-review.googlesource.com/1351926
Commit-Ready: Joel Kitching <kitching@chromium.org>
Tested-by: Joel Kitching <kitching@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=check for correct output with --help flag
BRANCH=master
Change-Id: Idf0448791e3d043313bc1291810d71d3f4846a6a
Reviewed-on: https://chromium-review.googlesource.com/1351925
Commit-Ready: Joel Kitching <kitching@chromium.org>
Tested-by: Joel Kitching <kitching@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
b:119626285 reported the problem with '--tpm_mode'.
$ gsctool -a --tpm_mode
Unrecognized option: -m
$ gsctool -a --tpm_mode enable
TPM Mode: enabled (0)
$ gsctool -a --tpm_mode disable
TPM Mode: enabled (0)
"tpm_mode" long opt should have 'has_arg' set to 'optional_argumenet',
not 'required_argument'.
Before this CL, --tpm_mode worked in a wrong way as reported in
BRANCH=none
BUG=b:119626285
TEST=manually and with autotest (crrev.com/c/1340640) as well.
$ gsctool -a --tpm_mode
TPM Mode: enabled (0)
$ gsctool -a --tpm_mode enable
TPM Mode: enabled (1)
$ gsctool -a --tpm_mode disable
TPM Mode: disabled (2)
Change-Id: Ie11852925a21a3a3b8d9dda6092eac5040f1cd5c
Signed-off-by: Namyoon Woo <namyoon@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1340642
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL allows gsctool outputs to be instantly piped and shown in crosh
when crosh executes cr50-verify-ro.sh, which calls gsctool, indirectly
via debugd.
Program stdout buffering type by default changes from line buffered to
block buffered if the output is redirected to a file or pipe. Since we
are going to call gsctool from inside debugd (CL:1337190) and want to
pipe the output instantly to the dbus request sender, the buffering type
of gsctool needs to be explicitly set.
BRANCH=none
BUG=b:113893821
TEST=in crosh run verify_ro, which indirectly runs gsctool via debugd,
and verify that output is instantly piped and shown in crosh.
(see CL:1337190 for detailed output)
Signed-off-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Change-Id: I515854a29e5e2ede0acc8c2d9e2c4df367a5062e
Reviewed-on: https://chromium-review.googlesource.com/1337250
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Louis Collard <louiscollard@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For cr50 debug images, the RO_B version number format should be -1.-1.-1.
I previously changed the output format to unsigned int, which caused the
outputted version to be UINT_MAX.
BRANCH=none
BUG=b:119223356
TEST=manually run gsctool on a soraka device
$ gsctool -b cr50.dbg.prod
RO_A:0.0.10 RW_A:0.3.10[00000000:00000000:00000000] RO_B:-1.-1.-1
RW_B:0.3.10[00000000:00000000:00000000]
Signed-off-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Change-Id: I5f842d4d5e50f35effbd2e5269dfd6946746acc2
Reviewed-on: https://chromium-review.googlesource.com/1328661
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed a redundant if-statement
BRANCH=none
BUG=none
TEST=gsctool -i
Board ID space: 41434245:bebcbdba:00007f7f
Change-Id: Ie6a1237fb5d1dc6085c1680dc1b37a9b127511f0
Signed-off-by: Namyoon Woo <namyoon@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1315629
Reviewed-by: Bob Moragues <moragues@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previous change CL:1278414 removed RO_B and RW_B from gsctool -b output
and broke cr50 tests. This CL adds them back.
BRANCH=none
BUG=b:118701324
TEST=manually run gsctool on a soraka device
$ gsctool -b cr50.bin.prod
RO_A:0.0.10 RW_A:0.3.10[00000000:00000000:00000000] RO_B:0.0.10
RW_B:0.3.10[00000000:00000000:00000000]
Change-Id: I0d76052ef9b6e34c4c8f4be40ac48ed3559ef3ec
Signed-off-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1308242
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This RLZ code is used by cr50-verify-ro.sh.
The RLZ code selects the verify_ro db to use.
BUG=b:90495590
BRANCH=none
TEST=gsctool -i -M; gsctool -i -M -t
Unit Test Rewults:
localhost ~ # gsctool -i -M
open_device 18d1:5014
found interface 3 endpoint 4, chunk_len 64
READY
-------
BID_TYPE=4e425153
BID_TYPE_INV=b1bdaeac
BID_FLAGS=00007f7f
BID_RLZ=NBQS <-- CORRECT DUT RLZ
localhost ~ # gsctool -i -M -t
BID_TYPE=58574a45
BID_TYPE_INV=a7a8b5ba
BID_FLAGS=00007f7f
BID_RLZ=XWJE <-- CORRECT Test Device RLZ
localhost ~ #
Change-Id: I12fbca6885e3a1453544a1d379ad12ef3f6fd290
Signed-off-by: Bob Moragues <moragues@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1297034
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Nick Sanders <nsanders@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now gsctool can print out GSC board ID in a machine-friendly way. This
allows other programs (e.g., debugd) to parse the output.
This is the final CL that adds machine output support to gsctool during
verify_ro migration.
BRANCH=none
BUG=None
TEST=manually run gsctool -M -i and gsctool -O verify_ro.db -M on a soraka
device connected with a naultilus and check the board ID part in the
outputs. Sample output (the board ID part is identical in the outputs
of both commands):
BID_TYPE=5a534b4d
BID_TYPE_INV=a5acb4b2
BID_FLAGS=00007f80
Signed-off-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Change-Id: Ia275806672c08841c5b5fcc7758d8e0c777b3fc9
Reviewed-on: https://chromium-review.googlesource.com/1286312
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now can print out FW versions and board ID in the image in a
machine-friendly way. This allows other programs (e.g., debugd) to parse
the output.
Add equality check to the firmware versions and board IDs in slot A and B.
Now gsctool prints out an error message to stdout if the contents do not
match; otherwise, it prints out only one copy of the contents instead of
two.
Sample runs:
$ gsctool -b cr50.bin.prod
RO_A:0.0.10 RW_A:0.3.10[ABCD:00000000:00000000]
$ gsctool -b cr50.bin.prod -M
IMAGE_RO_FW_VER=0.0.10
IMAGE_RW_FW_VER=0.3.10
IMAGE_BID_STRING=ABCD
IMAGE_BID_MASK=00000000
IMAGE_BID_FLAGS=00000000
BRANCH=none
BUG=None
TEST=manually run gsctool -M -b cr50.bin.prod and gsctool -b cr50.bin.prod
on a soraka device connected with a naultilus. Outputs are as the
examples above.
Signed-off-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Change-Id: I1c4c5110fe236debb93b3db118abb4c922b98bdf
Reviewed-on: https://chromium-review.googlesource.com/1278414
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the option's support to remote firmware version output (-f).
This allows other programs (e.g., debugd) to parse gsctool outputs without
worrying about any future updates on current human-readable outputs.
BRANCH=none
BUG=None
TEST=manually run gsctool -f -M on a soraka device connected with a
nautilus. Sample output:
RO_FW_VER=0.0.10
RW_FW_VER=0.3.10
Signed-off-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Change-Id: Ic6514a191b379d05acf2656e5e395d82086d93cd
Reviewed-on: https://chromium-review.googlesource.com/1278073
Reviewed-by: Andrey Pronin <apronin@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUILD_ASSERT can only be used for declarative code, add a macro to check
if a condition resolved at build time is true or not.
Take advantage of compiler detection of division by zero error message.
[-Werror=div-by-zero]
BUG=none
BRANCH=eve,nocturne
TEST=compile, check error is detected when condition is not true.
Change-Id: I4ab1ad4ae516c00c9e30e778dd81f18893ef1673
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1283969
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CR50 provides whether CCD capabilities are default or not. Factory
process can utilize this value instead of CCD cap bitmap information.
Users can use either 'gsctool -I' or CR50 console command 'ccd'.
BRANCH=cr50_tools
BUG=b:117200472
TEST=manually set and clear the password using gsctool -a -F and
check the result of gsctool -I.
Change-Id: Ic6be2ce880476c3a73150fe0e29007dd6a7e328f
Signed-off-by: Namyoon Woo <namyoon@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1272190
Reviewed-by: Randall Spangler <rspangler@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Defined "Number of bits in CCD cap expression", "Bitmask for a
CCD cap expression", and "Number of CCD cap expressions in a
Byte," and replaced constant uses with macros in CR50 and gsctool
codes.
No binary size changes in either CR50 or gsctool.
BRANCH=cr50_ccd
BUG=none
TEST=manually tested with gsctool -I and CR50 console command 'ccd'.
Signed-off-by: Namyoon Woo <namyoon@chromium.org>
Change-Id: If91305090444395b6a938f920f4e47e2acbba886
Reviewed-on: https://chromium-review.googlesource.com/1274007
Commit-Ready: Namyoon Woo <namyoon@chromium.org>
Tested-by: Namyoon Woo <namyoon@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the entire process would take up to 2 seconds.
CQ-DEPEND=CL:1264236
BRANCH=nocturne
BUG=b:117203130
TEST=manual on whiskers
Signed-off-by: Wei-Han Chen <stimim@chromium.org>
Change-Id: I0cdcdb8caf3b1d9cf6a5787b93bf8cdb13832a74
Reviewed-on: https://chromium-review.googlesource.com/1264237
Commit-Ready: Wei-Han Chen <stimim@chromium.org>
Tested-by: Wei-Han Chen <stimim@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OpenNoDevMode and OpenFromUSB will be set to Always during rma unlock.
This will make open accessible from usb without dev mode. Update the
testlab enable part of the script to check these before telling the user
to enter dev mode.
BUG=none
BRANCH=none
TEST=none
Change-Id: I69fb7cdb9e33aa21ae1537e935046529c987edbc
Signed-off-by: Mary Ruthven <mruthven@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1208228
Commit-Ready: Mary Ruthven <mruthven@chromium.org>
Tested-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With resent base tag update the hardcoded version number pattern
in servo_updater.py needs to be adjusted.
BRANCH=none
BUG=b:112475211
TEST=TBD
Change-Id: If3b18f563ff48eb98db95864d8f2298ead04495d
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1237714
Reviewed-by: Nick Sanders <nsanders@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Communications with Cr50 exposed USB endpoints could be needed by
other utilities, in particular, ./util/iteflash when it is extended to
operate over Cr50.
This patch moves USB interface functions into a separate file in the
./util directory and makes USB endpoint coordinates run time
variables, so that the user of the interface can connect to various
endpoints.
Some refactoring is required to allow using the generic USB transfer
function.
BRANCH=none
BUG=b:75976718
TEST=verified that gsctool still operates properly - updated a Cr50,
read Cr50 version number, etc.
Change-Id: I3d77a93932f5395fff0f5823f0dd79e1d1d670c8
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1198345
Reviewed-by: Randall Spangler <rspangler@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'Can't detect updater version' is replaced with an error
specifying the failed regex string.
BRANCH=None
BUG=None
TEST=None
Change-Id: Ia3a52ee27e31d0b4aab0d8f04d5cf5f346498c37
Signed-off-by: Nick Sanders <nsanders@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1213556
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to corressponding host commands, we can read uart console buffer
by following ways:
A. Read from the beginning of buffer to the end of buffer:
# 1. set snapshot before reading
UPDATE_EXTRA_CMD_CONSOLE_READ_INIT
while (true) {
# 2. read 64 bytes back
UPDATE_EXTRA_CMD_CONSOLE_READ_NEXT CONSOLE_READ_NEXT
# 3. if (2) returns an empty string, break, otherwise, continue.
}
B. Mimic `dmesg -w` (keep reading new messages)
while (true) {
# 1. set snapshot before reading
UPDATE_EXTRA_CMD_CONSOLE_READ_INIT
while (true) {
# 2. read 64 bytes back
UPDATE_EXTRA_CMD_CONSOLE_READ_NEXT CONSOLE_READ_RECENT
# 3. if (2) returns an empty string, break, otherwise, continue.
}
}
Add argument `-l` to usb_updater2, which will perform (B). Note that
the update interface will be occupied while `usb_updater2 -l` is still
running, so you can't use other updater command at the same time.
BRANCH=none
BUG=b:112877237
TEST=test on whiskers
Signed-off-by: Wei-Han Chen <stimim@chromium.org>
Change-Id: I8d2010f84602ca6b84034a0cabe42ae7441614e0
Reviewed-on: https://chromium-review.googlesource.com/1177293
Commit-Ready: Wei-Han Chen <stimim@chromium.org>
Tested-by: Wei-Han Chen <stimim@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Passing empty auth code causes cr50 to generate challenge instead of
verifying the auth code. Change to return an error when the auth code is
empty.
BUG=b:112881027
TEST=make gsctool; manually test on DUT
BRANCH=none
[Before fix]
localhost $ gsctool -a -r
Challenge:
<80 characters challenge string>
(Wait for 10 seconds)
localhost $ gsctool -a -r ""
Processing response...RMA unlock succeeded.
[After fix]
localhost $ gsctool -a -r
Challenge:
<80 characters challenge string>
(Wait for 10 seconds)
localhost $ gsctool -a -r ""
Empty response.
Change-Id: Ifc2760176ff620dd45c5d62ced117c808ce1f111
Signed-off-by: Cheng-Han Yang <chenghan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1192822
Commit-Ready: Cheng-Han Yang <chenghan@chromium.org>
Tested-by: Cheng-Han Yang <chenghan@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=none
CQ-DEPEND=CL:*664115
BUG=chromium:876582
TEST=make -j buildall && make -j buildfuzztests
Change-Id: Iade5e5138f495e6b3b99ec16f1a467861ade5537
Signed-off-by: Allen Webb <allenwebb@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1180179
Reviewed-by: Mattias Nissler <mnissler@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Write a rough disassembly with Andes instruction in
stack_analyzer_unittest.py which rough disassembly is analyzed
by stack_analyzer.py to get some results. If these results are
the same with expect results, the unit test will pass.
In the rough disassembly, the file format is added in the second
line, because the stack analyzer will be looking for the word of
'arm' or 'nds' in the line, and then get the corresponding Analyzer
class.
BUG=b:111746842
BRANCH=none
TEST=./extra/stack_analyzer/run_tests.sh
Change-Id: I3acbfb199f762a4e89ea95f6254628871a5beb5d
Signed-off-by: tim <tim2.lin@ite.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/1174331
Commit-Ready: Tim2 Lin <tim2.lin@ite.corp-partner.google.com>
Tested-by: Tim2 Lin <tim2.lin@ite.corp-partner.google.com>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the related stack instructions analysis for Andes architecture
to calculate stack frame sizes of functions and find the maximum
calling path with maximum stack usage in stack analyzer tool.
The second line in each disassembly will present this core
architecture, so we can be looking for the word of 'arm' or 'nds'
in the line and then get the corresponding Analyzer class.
BUG=b:111746842
BRANCH=none
TEST=make BOARD=${BOARD} SECTION=RO or RW analyzestack
Change-Id: I8414920ddee97ce913519ef878f770e6e3118ef7
Signed-off-by: tim <tim2.lin@ite.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/1174332
Commit-Ready: Tim2 Lin <tim2.lin@ite.corp-partner.google.com>
Tested-by: Tim2 Lin <tim2.lin@ite.corp-partner.google.com>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
e.g. on whiskers, the command will behave like:
> usb_updater2 -d 18d1:5030 --tp_info
< ...
< status: 0x00
< vendor: 0x0483
< fw_address: 0x80000000
< fw_size: 0x00020000
< allowed_fw_hash:
< 20 0f eb 01 98 34 cf 86 8b 4e 94 1f 51 41 e7 64
< e1 0c 4f ac 88 bd 97 1c 79 ae c5 74 e3 0b 14 6d
< id: 0x3936
< fw_version: 0x0011
< fw_fw_checksum: 0xb49f
BRANCH=none
BUG=b:70482333
TEST=manually on device
Signed-off-by: Wei-Han Chen <stimim@chromium.org>
Change-Id: Iffe6720eec33cc57498cdab15ac2e132fdd76808
Reviewed-on: https://chromium-review.googlesource.com/1175506
Commit-Ready: Wei-Han Chen <stimim@chromium.org>
Tested-by: Wei-Han Chen <stimim@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changing powerlog.README.md(orginally board.README) format to md.
Adding details, making clarifications.
BRANCH=None
BUG=b:111318462
TEST=None
Change-Id: Ic617d3da9518708560501be2786031dbd432ffe4
Signed-off-by: Mengqi Guo <mqg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1171503
Reviewed-by: Nick Sanders <nsanders@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL only changes the file name. Next CL changes the file
content. Separating into 2 CLs for easier diff.
BRANCH=None
BUG=b:111318462
TEST=None
Change-Id: I8f8044e97b718270eb477dc29ba7e9e2c419db8c
Signed-off-by: Mengqi Guo <mqg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1171599
Reviewed-by: Nick Sanders <nsanders@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cr50 can only be opened from the AP and the device has to be in dev mode
before open can be run. Update cr50_rma_open to require dev mode and run
ccd open from the AP.
0.3.9 will have ccd in the prod image. Update the script, so it can
enable testlab mode on prod images.
BUG=none
BRANCH=none
TEST=run rma open process with 0.4.9
Change-Id: If14851a274233b471f8de86c9ed2a2b4808d131b
Signed-off-by: Mary Ruthven <mruthven@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1157182
Commit-Ready: Mary Ruthven <mruthven@chromium.org>
Tested-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now for the formatted output string, if any value a domain is NaN,
the domains gets tagged with a * and a help text gets added at the end
of the summary to highlight this issue.
CQ-DEPEND=CL:1140025
BRANCH=None
BUG=chromium:806146, chromium:760267
TEST=unit tests added & pass
Change-Id: I30791053bb1645065fa2bfd8305cc840a4a88031
Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1140032
Reviewed-by: Mengqi Guo <mqg@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL introduces a flag to StatsManager that allows for 'NaN' values
to be recorded inside StatsManager. The motivation here is that if a
sample fails to record it might be more desirable to record a 'NaN'
than to just skip the sample, to keep timelines correct, and to not hide
errors in the test-run.
Also adds necessary tests for that behavior.
BRANCH=None
BUG=chromium:806146, chromium:760267
TEST=unit tests still pass
Change-Id: If17b7f52ba4a05e9e007c73bfa5d667fe36b74b3
Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1140031
Reviewed-by: Mengqi Guo <mqg@chromium.org>
|