New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 643081 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 5
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocked on:
issue 620106

Blocking:
issue 599524



Sign in to add a comment

Enable autotest to do firmware repair with servo v4

Project Member Reported by kevcheng@chromium.org, Sep 1 2016

Issue description

servo.py _initialize_programmer() needs to support servo v4.  That means in server/cros/servo/firmware_programmer.py:

- FlashECProgrammer needs to take in a port.
- FlashromProgrammer needs to pass in the serial of the uServo to flashrom (and flashrom needs to take in a serial - https://chromium-review.googlesource.com/#/c/352820/)
 
Blockedon: 620106

Comment 2 by dchan@google.com, Sep 1 2016

Labels: labelservov4
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/4b4f00233d3fca7d5d124a6637fa9439b549b041

commit 4b4f00233d3fca7d5d124a6637fa9439b549b041
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Fri Sep 09 09:37:07 2016

servod: Add RPC to get all serials associated with servod process.

BUG= chromium:643081 
TEST=Check that I get the serials from a servo v4/uServo setup.

Change-Id: I8d1fcdb546617f3b13fb52a5ddecc5bdf6cac5aa
Reviewed-on: https://chromium-review.googlesource.com/383591
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Todd Broch <tbroch@chromium.org>

[modify] https://crrev.com/4b4f00233d3fca7d5d124a6637fa9439b549b041/servo/servo_postinit.py
[modify] https://crrev.com/4b4f00233d3fca7d5d124a6637fa9439b549b041/servo/servo_server.py

Comment 4 by dchan@chromium.org, Oct 26 2016

Labels: servov4
Status: Assigned (was: Untriaged)
kevchang@, please help push your CL:
  https://chromium-review.googlesource.com/#/c/383592/

I have another CL depends on it.
Project Member

Comment 7 by bugdroid1@chromium.org, Jan 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/df2e29f4bff8fbb53f3d90745b63ed92b6aed5d2

commit df2e29f4bff8fbb53f3d90745b63ed92b6aed5d2
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Fri Sep 09 09:31:22 2016

[autotest] Enable firmware install for servo v4.

CQ-DEPEND=CL:352820
CQ-DEPEND=CL:383591
BUG= chromium:643081 
TEST=not yet

Change-Id: I8df2c8961031041fee2c06affc8f5a0a794d64a6
Reviewed-on: https://chromium-review.googlesource.com/383592
Commit-Ready: Wai-Hong Tam <waihong@google.com>
Tested-by: Wai-Hong Tam <waihong@google.com>
Reviewed-by: Wai-Hong Tam <waihong@google.com>

[modify] https://crrev.com/df2e29f4bff8fbb53f3d90745b63ed92b6aed5d2/server/cros/servo/servo.py
[modify] https://crrev.com/df2e29f4bff8fbb53f3d90745b63ed92b6aed5d2/server/cros/servo/firmware_programmer.py

Status: Archived (was: Assigned)
Bulk closing Infra>Client>ChromeOS issues untouched in over a year.
Labels: -Pri-3 Pri-1
Owner: akes...@chromium.org
Status: Available (was: Archived)
This definitely needs to be implemented if it isn't already. 
Cc: -dhend...@chromium.org
Owner: kevcheng@chromium.org
-> kevcheng I have little context on what this is. Was this implemented?
Status: Fixed (was: Available)
This should be fixed, I'll let Tom verify that.
Cc: kmshelton@chromium.org
Status: Assigned (was: Fixed)
I recalled that I randomly tried running the provision_FirmwareUpdate test on my local machine using the servo-v4 with servo-micro. It raised some errors but I forgot the details, as it was 2~3 months ago.

Kevin, could you give us a pointer of your test plan? I checked your submitted CLs and didn't find any test procedures. I am sure not if it was well-tested, like some corners of repairing/programming multiple DUTs.

+kmshelton@ who may be interested as they saw some issues when using multiple DUTs.
I don't remember how I tested it so let's assume I didn't :\

My setup is offline so I'll need some time to get everything setup, if you have a setup ready, could you try it quickly to see how it failed? (And also some repro instructions as well? I'm a bit rusty on how the fw programming works)

Comment 15 by waihong@google.com, Mar 19 2018

I don't have this setup.

kmshelton@'s team has some setup in the stress lab like some labstations and several DUTs. You can check with him to use their machines.

Comment 16 by waihong@google.com, Mar 19 2018

As my info was old, kmshelton@ knows better status of this work. He may correct me if I am wrong.
Owner: kmshelton@chromium.org
->kmshelton to comment
chromeos1-row1-rack9-labstation and chromeos1-row1-rack9-host1 are probably the best candidates to explore state of firmware repair on.

We can add a v4 to host2 to understand state of the multiple DUT case (let's confirm the single DUT case first).

Can provision_FirmwareUpdate be launched directly from the labstation, or what is the best way to launch it?
You'll need to launch it through the main afe (http://cautotest/afe/#tab_id=job_list&state_filter=all&type_filter=all). Labstation doesn't have autotest installed on it so it can start jobs itself.
what is the right way to specify a fw build to the AFE?

example failure:
https://pantheon.corp.google.com/storage/browser/chromeos-autotest-results/192504412-kmshelton/chromeos1-row1-rack9-host1/debug

looks like i am hitting:
https://cs.corp.google.com/chromeos_public/src/third_party/autotest/files/server/site_tests/provision_FirmwareUpdate/control?rcl=49083c3c5a8a34595222c2009881b175b03422b8&l=30

inspected gs://chromeos-releases/ and didn't see anything like the example given in the Firmware RW build field ("x86-alex-firmware/R41-6588.9.0")
with "Image URL/Build" set to coral-release/R64-10068.55.0

Firmware RW build set to: coral-firmware/R64-10068.55.0
Firmware RO build set to: coral-firmware/R64-10068.55.0

AFE returns: "Only suite job supports updating both ChromeOS build and firmware build."
Cc: gu...@chromium.org stagenut@chromium.org
Owner: kevcheng@chromium.org
Status: Fixed (was: Assigned)
server/cros/servo/firmware_programmer.py was broken for a long time for servo v4 + micro, but I fixed it with https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/1079697

not sure about the mutli servo case.  My recommendation is to include automated testing for that in the Santiam (b1600 high touch) lab during labstation release testing.  Don't think that is in scope for this issue, though.  The scope defined is c1 I believe has long been addressed.

Sign in to add a comment