summaryrefslogtreecommitdiff
path: root/docs/ccd_howtos.md
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2020-07-01 14:53:27 -0700
committerCommit Bot <commit-bot@chromium.org>2020-07-10 22:54:06 +0000
commitdccc9023faec5a7c55487fcf6ca6d1b96d4cd08e (patch)
treee4903bbd1fb2f735eb0e0121ab985b28a4a935c7 /docs/ccd_howtos.md
parent23ea3fbd4a6e52b8a54f4278bbed8975af34cca7 (diff)
downloadchrome-ec-dccc9023faec5a7c55487fcf6ca6d1b96d4cd08e.tar.gz
docs: update CCD docs locations
BRANCH=none BUG=none TEST=verified that gitfiles points at the correct documents. Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Change-Id: I6123e74449d6dbda1645f4293dd24914ccaf0d37 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2276330 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org> Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Diffstat (limited to 'docs/ccd_howtos.md')
-rw-r--r--docs/ccd_howtos.md386
1 files changed, 2 insertions, 384 deletions
diff --git a/docs/ccd_howtos.md b/docs/ccd_howtos.md
index 93d272e1b5..624253d22c 100644
--- a/docs/ccd_howtos.md
+++ b/docs/ccd_howtos.md
@@ -1,384 +1,2 @@
-# CCD How-tos
-This doc contains tutorials for using CCD. These tutorials only cover using GSC
-CCD. Some use cases will be very similar to using CCD from ryu, servo micro, or
-servo v4, but these guides are not guaranteed to work for them. More detailed
-instructions on how to use different parts of CCD are in the
-[GSC CCD doc](case_closed_debugging_cr50.md).
-
-[TOC]
-
----
-## How to Use SuzyQ
-This goes through the steps to connect SuzyQ and start using CCD.
-
-### Requirements
-
-* A [SuzyQ]. If you don't have one, they're sold at [sparkfun]
-* A ChromeOS device that supports CCD.
-
-### Steps
-
-1. **Charge your chromebook.** Suzyq can't charge your device. If it's not
- charged, the device may run out of power while debugging.
-
-2. **Connect the type A side of Suzyq to your workstation.**
-
-3. **Connect the type C part of your Suzyq to your chromebook.**
-
-4. **Verify the CCD device exists.**
-
- * **Look for a device with the right vid:pid.** Cr50 vid:pid is 18d1:5014.
- You can use lsusb to check that it shows up.
-
- > lsusb -vd 18d1:5014
-
- * **Debug connection issues**. If the device doesn't show up, disconnect
- suzyq from the DUT and either flip it or plug it into the other port. If
- your device has 2 type c ports, there are 4 ways to connect suzyq. Only
- one works.
-
- * **Port:** The DUT only supports CCD on one type C port. Try the
- other port if CCD doesn't show up.
-
- * **Orientation:** Suzyq is orientation dependent, so it may be on the
- correct port, but it needs to be flipped.
-
-5. **Check basic CCD functionality**. After the CCD device shows up, the cr50, ec,
- and ap consoles should show up in /dev/ttyUSB\*
-
- * Search for console names.
-
- > ls /dev/ttyUSB*
-
- * If you run the `ls` command before and after connecting suzyq, then the
- new devices should be the CCD consoles. The consoles are ordered. Cr50
- should be the lowest ttyUSB device, then AP, and EC should have the
- highest number. Running `ver` on all of them could also let you know
- which one is which if you don't want to remember the order.
-
- * Open the console.
-
- > minicom -D /dev/ttyUSB0
-
- * AP and EC consoles may be read-only depending on the CCD state. See the
- [Setup CCD] instructions to enable them. Being able to use the cr50
- console is a good enough sign that your Suzyq setup is ok.
-
----
-## Setup CCD for FAFT
-
-These are the most generic instructions.
-
-There are other ways to open ccd that may be faster, but they don't work for all
-devices. You can see the other open methods in the ccd setup doc to find other
-ways if this way doesn't work for you.
-
-The entering dev mode instructions will be for clamshell devices. If your device
-is not a clamshell, check out the [full dev mode instructions].
-
-#### Requirements
-
-* A [Type-C Servo V4]. FAFT needs the ethernet and usb key to run. You can't
- run with suzyq.
-* A micro usb cable.
-* A chromeos PD charger.
-* A ChromeOS device that supports CCD.
-* Access to the AP console.
-* The device needs to be able to boot.
-* The GBB\_FLAG\_FORCE\_DEV\_SWITCH\_ON GBB flag is cleared.
-
-### Steps
-
-
-1. **Charge your chromebook.** Servo V4 can charge your device, but it's good
- to charge it before setting up ccd. Servo v4 may encounter different issues
- if your device isn't charged.
-
-2. **Connect the type A side of the micro usb cable to your workstation.**
-
-3. **Connect the micro usb of your cable to "HOST" port of servo v4.**
-
-4. **Update Servo V4 from the chroot.**
-
- chroot > sudo emerge servo-firmware
- chroot > sudo servo_updater -b servo_v4
-
-5. **Connect the PD charger to the "DUT POWER" port of servo v4.**
-
-6. **Connect the type C part of the Servo V4 to your chromebook.** The DUT
- should now be charging through servo v4. Check that the green light in
- the corner of servo v4 lights up.
-
-7. **Verify the CCD device exists.**
-
- * **Look for a device with the right vid:pid.** Cr50 vid:pid is 18d1:5014.
- You can use lsusb to check that it shows up.
-
- > lsusb -vd 18d1:5014
-
- * **Debug connection issues**.
-
- * **Port:** The DUT only supports CCD on one type C port. Try the
- other port if CCD doesn't show up.
-
- * **Orientation:** Orientation shouldn't matter with Servo V4. If it
- does, please file a bug.
-
- * **Charge State:** Make sure the the green light in the corner of
- servo v4 is lit.
-
-8. **Connect to the Cr50 console**. After the CCD device shows up, the cr50, ec,
- and ap consoles should show up in /dev/ttyUSB\*
-
- * Search for console names.
-
- > ls /dev/ttyUSB*
-
- * If you run the `ls` command before and after connecting the Servo V4
- type C cable to the DUT, then the new devices should be the CCD
- consoles. The consoles are ordered. Cr50 should be the lowest ttyUSB
- device, then AP, and EC should have the highest number. Running `ver`
- on all of them could also let you know which one is which if you don't
- want to remember the order.
- **Servo V4 has it's own console. It might be useful to do this step to
- find the device consoles**
-
- * Open the console.
-
- > minicom -D /dev/ttyUSB1
-
- * Make sure `version` shows some version information.
-
-9. **Open CCD.** Here's the most generic way to open ccd. For the full open
- options see [Setup CCD].
-
- * **[Enter dev mode](case_closed_debugging_cr50.md#enter-dev-mode).**
- These are clamshell instructions for other types of chromeOS devices
- refer to the full setup doc.
-
- * Boot into recovery by pressing the power button, refresh, and
- escape.
-
- * At the recovery screen press Ctrl+D and enter.
-
- * **Use gsctool to open Cr50 from the AP. Press the power button when
- prompted.** This will take ~5 minutes.
-
- AP > gsctool -a -o
-
-10. **Set all capabilities to Always** and confirm they're Always.
-
- cr50 > ccd reset factory
- cr50 > ccd
-
-11. **Enable Testlab Mode.** Tap the power button when prompted. This will
- take a couple of seconds.
-
- cr50 > ccd testlab enable
-
-
-12. **Start servod and make sure the EC console works.**
-
-
- * enter chroot with `cros_sdk --no-ns-pid`
-
- * start servod
-
- chroot > sudo servod -b $BOARD
-
- * Check EC uart works.
-
- chroot > dut-control ec_board
-
-13. **Try running a test** Use autotest_dir, so you don't need to about what
- autotest packages to emerge. firmware_ECHash is just a short test. If your
- board doesn't have an EC, try something else. Use firmware_FAFTSetup to
- verify the setup will work with faft-ec and faft-bios.
-
- chroot > test_that $IP --autotest_dir \
- ~/trunk/src/third_party/autotest/files/ firmware_ECHash
-
-14. **Debug Setup**
-
-
- * **Cr50 capabilities:** EC uart capability needs to always be accessible.
- **Make sure UartGscTxECRx and all other capabilities are always.**
-
- cr50 > ccd
-
- * **Make sure servod started using the CCD device**. Verify the ccd
- serialname has the right format. Cr50 serialname should have the
- format [0-9a-f]{8}-[0-9a-f]{8}
-
- chroot > dut-control ccd_serialname
-
- If the control doesn't exist or the serianame is wrong try to find
- ccd serialname and start servod explicitly selecting it.
-
- find serialname and use it to restart servod.
-
- chroot > lsusb -vd 18d1:5014 | grep iSerial
- chroot > sudo servod -b $BOARD -s $SERIALNAME
-
-
-### Final Checks
-
- * All capabilities are Always
-
- cr50 > ccd
-
- * Testlab mode is enabled
-
- cr50 > ccd testlab
-
- * EC uart works
-
- chroot > dut-control ec_board
----
-## I Just Want to Disable Write Protect
-Cr50 has a couple of ways to remove write protect. The biggest difference in the
-process is whether or not you want to open the case and whether or not you need
-write protect disable to be permanent.
-
-**Opening CCD might require the AP can boot. If you're relying on CCD to recover
-a bricked machine, you may want to do the optional CCD setup steps before
-flashing RO firmware.**
-
-### Process if You're Okay Opening Case
-Cr50 will disable write protect if you remove the battery.
-
-#### Steps
-
-1. **Open the Case.**
-
-2. **Remove the battery.** Cr50 disables write protect when the battery is
- disconnected. On chromeboxes you need to remove the write protect screw.
-
-3. (bob only) remove the write protect screw. Bob uses cr50 and a write protect
- screw. Cr50 has to disable write protect and the screw has to be removed for
- write protect to be disabled.
-
-4. (optional) Check write protect is disabled from the AP.
-
- AP > flashrom --wp-status
-
-5. (optional) Reconnecting the battery will reenable write protect. You can
- disable SW write protect if you want to be able to rewrite RO firmware
- without needing to keep the battery disconnected.
-
- AP > flashrom -p host --wp-disable
-
-6. **(recommended) Run some basic commands to setup CCD.** It's really easy to
- open cr50 with the battery removed. You might want to setup CCD while you
- already have the case open and the battery is disconnected. Doing these
- extra CCD setup steps may make it easier to recover a bricked device using
- CCD. These will require SuzyQ.
-
- * **Open Cr50** from the AP or Cr50 console. This will happen immediately.
-
-
- AP > gsctool -a -o
-
- or
-
- Cr50 > ccd open
-
-
-
- * **Setup capabilities.** This can only be done from the Cr50 console.
-
- Enable flashing the AP/EC CCD open.
-
- Cr50 > ccd set OverrideWP Always
- Cr50 > ccd set FlashAP Always
- Cr50 > ccd set FlashEC Always
-
- Enable opening Cr50 without booting the AP.
-
- Cr50 > ccd set OpenNoDevMode Always
- Cr50 > ccd set OpenFromUSB Always
-
-### Process With Case Closed
-Full instructions are at [Setup CCD], but here are are the basic steps. If
-you're unsure about a step here you should take a look at the [Setup CCD] doc.
-It goes into a lot more detail.
-
-#### Requirements
-
-* A [SuzyQ]. Cr50 console access is required to disable write protect.
-* The device needs to be able to boot.
-* The GBB\_FLAG\_FORCE\_DEV\_SWITCH\_ON GBB flag is cleared.
-
-#### Steps
-1. **Open CCD.** Here's the most generic way to open ccd. For the full open
- options see [Setup CCD].
-
- * **[Enter dev mode](case_closed_debugging_cr50.md#enter-dev-mode).**
- These are clamshell instructions for other types of chromeOS devices
- refer to the full setup doc.
-
- * Boot into recovery by pressing the power button, refresh, and
- escape.
-
- * At the recovery screen press Ctrl+D and enter.
-
- * **Use gsctool to open Cr50 from the AP.** Press the power button when
- prompted. This will take ~5 minutes.
-
- AP > gsctool -a -o
-
-2. **[Connect](#How-to-Use-SuzyQ) to the Cr50 console** using SuzyQ or servo
- v4.
-
- > minicom -D /dev/ttyUSB0
-
-3. **Disable write protect** using Cr50 [wp console command].
-
- cmd to disable until cr50 reboots:
-
- cr50 > wp disable
-
- cmd to disable it indefinitely:
-
- cr50 > wp disable atboot
-
-
-4. (optional) Check write protect is disabled. ccd open takes the AP out of dev
- mode, so you can reenter dev mode and check the wp status from the AP or you
- can use ccd to check.
-
- From AP (after reentering dev mode):
-
- AP > flashrom --wp-status
-
- Using CCD:
-
- from chroot > flashrom -p raiden_debug_spi:target=AP --wp-status
-
-5. **(recommended) Setup capabilities**, so you can flash the device or open
- ccd without being able to boot the AP.
-
- Make flashing the AP/EC accessible without opening CCD
-
- Cr50 > ccd set OverrideWP Always
- Cr50 > ccd set FlashAP Always
- Cr50 > ccd set FlashEC Always
-
- Enable opening Cr50 without booting the AP
-
- Cr50 > ccd set OpenNoDevMode Always
- Cr50 > ccd set OpenFromUSB Always
-
-6. **(recommended) [Disable SW WP]** to flash RO firmware if your board has
- issues disabling HW WP with the AP off.
-
- AP > flashrom -p host --wp-disable
-
-[Disable SW WP]: ./case_closed_debugging_cr50.md#AP-Off
-[enter dev mode]: ./case_closed_debugging_cr50.md#enter-dev-mode
-[sparkfun]: https://www.sparkfun.com/products/14746
-[Setup CCD]: ./case_closed_debugging_cr50.md#CCD-Setup
-[SuzyQ]: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/refs/heads/master/docs/ccd.md#suzyq-suzyqable
-[Type-C Servo V4]: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/refs/heads/master/docs/servo_v4.md
-[wp console command]: ./case_closed_debugging_cr50.md#WP-control
-
+The has been moved into a [different
+branch](https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/ccd_howtos.md)