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

Issue 841418 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Scarlet/Dru: servo micro: 'dut-control ec_uart_parity:even' times out

Project Member Reported by briannorris@chromium.org, May 9 2018

Issue description

Using Servo Micro:

$ dut-control --port=9991 ec_uart_parity:even
Problem with ['ec_uart_parity:even'] :: [Errno 110] Operation timed out

After doing this, stuff seems mostly stuck until I reset my servo:

# works
$ dut-control --port=9991 ec_uart_parity
ec_uart_parity:none

# does not work
$ dut-control --port=9991 warm_reset
Problem with ['warm_reset'] :: [Errno 19] No such device (it may have been disconnected)

# does not work
$ dut-control --port=9991 cold_reset
Problem with ['cold_reset'] :: [Errno 19] No such device (it may have been disconnected)


I'm using these CLs + ToT:

https://chromium-review.googlesource.com/c/chromiumos/third_party/hdctools/+/1051148
https://chromium-review.googlesource.com/c/chromiumos/third_party/hdctools/+/1051147


I don't see this problem with CCD.
 
Cc: mruthven@chromium.org
Help? Any tips? I now have bricked my Dru, and I can't recover it with Servo Micro, because flash_ec dies with this error.

I'll see if I can unblock myself with SuzyQ or something.
Retested ToT as of a few moments ago, still no luck.

And my EC is busted enough that Cr50 doesn't even enumerate for CCD [1].

I can resort to bisecting, or else pray that somehow Servo v2 works better...

[1] Shoutout for this, I think? https://issuetracker.google.com/37351386
There are two sets of signals cr50 needs to successfully enable CCD. It needs the CC signals to detect the debug accessory and the SBU signals for the CCD usb connection.

If the detection mechanism is broken, we can workaround that using the servo micro cr50 console.

I think on scarlet cr50 has the capability to isolate the SBU signals from the rest of the system, so after working around a detection mechanism, you should be able to communicate with Cr50 no matter what the state of the device is.

Detection workaround using servo micro
 - Run 'ccd open' and press the power button for a while (5min).
 - Run 'ccd testlab enable' to make sure we can open cr50 without having to go through the long open process.
 - Run 'rddkeepalive enable' to make cr50 think the debug accessory is connected

After running rddkeepalive enable, I think that if you plug in suzyq, you should see the ccd connection.



Status: Fixed (was: Untriaged)
Thanks Mary and Nick! Nick tipped me off that servo_micro might actually have some old firmware bugs, so I updated mine:

$ sudo servo_updater -b servo_micro -s XXXX
Current servo_micro version is   servo_micro_v1.1.5690-46ed8a0
Available servo_micro version is servo_micro_v1.1.5739-a4ab463

...and after Mary helped me figure out that I was still stuck in ec_boot_mode:on, that did the trick.

I guess I'll call this Fixed.

Maybe I was misremembering, and this never worked for me...
If you try to flash the EC again does it get stuck?
No, it still works fine.

One thing to note: after comment #2, I was buildling older ec-devutils and hdctools, and now I'm back to ToT. So it's possible I had some other bug in there that landed me in ec_boot_mode.

Sign in to add a comment