Chameleon: Power-cycle HDMI/DP adapter in a smarter way |
|||
Issue descriptionThe HDMI/DP adapter is a source of flakiness. We added a way to power-cycle the adapter, i.e. issue 532925 https://chromium-review.googlesource.com/327513 It focuses the USB port to 'sink' in order to power-off the port. It works quite effectively. But the code is hard-coded to "samus". The new boards with Type-C port are not benefited. Should improve it to: * only power-cycle it if no connected port found. The current way doing it before every test is unnecessary. * detect if DUT uses a adapter, like checking "lsusb" output to see any particular adapter devices, that we use in the lab. * check the status of the USB port before power-cycle. For example, if the port is already in "sink" status, it should have no adapter. $ ectool --name=cros_pd usbpd 0 Port C0: enabled, connected State:SNK_READY Role:SNK DFP, Polarity:CC2 PD Partner Capabilities: DR power DR data USB capable Make sure all boards with Type-C ports work with the change.
,
May 12 2017
My init thought is to check the USB vid:pid. There are a few models of Type-C to DP/HDMI adapters used in lab. You can check the presence of these adapters. The pid:vid of Apple Type-C to HDMI adapter: 05ac:100e kalin@, please help to list the pid:vid of other adapters used in the lab.
,
May 12 2017
With deployment to Atlantis lab we started using Apple Type-C to HDMI (three port)adapter only for HDMI connection. We do not use HoHo anymore(I have to check and replace anything left in the audio boxes). DP connection is done with DingDong only.
,
May 12 2017
Found a better command to check the presence of DP, i.e. "ectool usbpdmuxinfo". Plugged the native Type-C to HDMI/DP adapter: # ectool usbpdmuxinfo Port 0: OPEN Port 1: DP Plugged the Apple adapter with USB hub: # ectool usbpdmuxinfo Port 0: OPEN Port 1: USB DP
,
May 15 2017
I tried the commands. But not all chromebooks responds the results. So I may want to use the command to decide which port to power on/off if possible. If the command doesn't work, I will power on/off both ports. Is it OK?
,
May 15 2017
Sounds good, like performing the order: (1) "ectool usbpdmuxinfo" to see if it is DP (or command not work, continue the next step) (2) "ectool usbpd i" to see if the port is a SRC (or command not work, exit) (3) "ectool usbpd i sink" -> "ectool usbpd i auto"
,
Jun 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/b67afa022b077c5b08dad9a27dcde2d8406eec75 commit b67afa022b077c5b08dad9a27dcde2d8406eec75 Author: Moja Hsu <mojahsu@google.com> Date: Mon Jun 12 15:47:57 2017 Chameleon: Power-cycle Type-C ports Type-C dongle becomes corrupted and needs to be re-plugged sometimes. This CL emulate this power-cycle behavior for Type-C ports. BUG= chromium:718571 TEST=Test display_Resolution.mirrored on a video unstable dut and run the test to see if it can be passed. Change-Id: I57f32e1443347cd9e6f1191764a883fc299a2730 Reviewed-on: https://chromium-review.googlesource.com/508531 Commit-Ready: Hsu Wei-Cheng <mojahsu@chromium.org> Tested-by: Hsu Wei-Cheng <mojahsu@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com> [modify] https://crrev.com/b67afa022b077c5b08dad9a27dcde2d8406eec75/client/cros/chameleon/chameleon_port_finder.py [modify] https://crrev.com/b67afa022b077c5b08dad9a27dcde2d8406eec75/server/cros/multimedia/display_facade_adapter.py [modify] https://crrev.com/b67afa022b077c5b08dad9a27dcde2d8406eec75/client/cros/multimedia/display_facade_native.py [modify] https://crrev.com/b67afa022b077c5b08dad9a27dcde2d8406eec75/client/cros/multimedia/display_facade_adapter.py
,
Jun 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/4e28a32ffbfb8d9df0f448025db1da6f0a3918e4 commit 4e28a32ffbfb8d9df0f448025db1da6f0a3918e4 Author: Moja Hsu <mojahsu@chromium.org> Date: Tue Jun 13 07:19:41 2017 Chameleon: Restrict number of power-cycle Type-C ports We decide how many type-c ports by exit code of 'ectool usbpd' command. but for some boards the command will always return success even there is no type-c ports. It will make the while loop enter into infinate loop. BUG= chromium:718571 TEST=Test display_SwitchMode on a failed DUT without this patch before. Check it won't timeout with this patch. Change-Id: Ie84e10bfa6fa76346bc3759663556d95c40ed806 Reviewed-on: https://chromium-review.googlesource.com/532493 Commit-Ready: Hsu Wei-Cheng <mojahsu@chromium.org> Tested-by: Hsu Wei-Cheng <mojahsu@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> [modify] https://crrev.com/4e28a32ffbfb8d9df0f448025db1da6f0a3918e4/client/cros/multimedia/display_facade_native.py
,
Jun 14 2017
,
Jan 22 2018
|
|||
►
Sign in to add a comment |
|||
Comment 1 by mojahsu@chromium.org
, May 12 2017