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

Issue 618175 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocking:
issue 606968



Sign in to add a comment

chameleon: suspend/resume fail on daisy when chameleon USB is connected

Project Member Reported by cychiang@chromium.org, Jun 8 2016

Issue description

On daisy, suspend/resume fail with chameleon USB plugged.
There will be error message like.

[ 1448.100282] usb 3-1.4: device descriptor read/64, error -110
[ 1448.275044] usb 3-1.4: new high-speed USB device number 121 using s5p-ehci
[ 1463.345157] usb 3-1.4: device descriptor read/64, error -110
[ 1478.519655] usb 3-1.4: device descriptor read/64, error -110
[ 1478.695090] usb 3-1.4: new high-speed USB device number 122 using s5p-ehci
[ 1483.719433] usb 3-1.4: device descriptor read/8, error -110
[ 1488.839390] usb 3-1.4: device descriptor read/8, error -110
[ 1489.015267] usb 3-1.4: new high-speed USB device number 123 using s5p-ehci
[ 1494.039163] usb 3-1.4: device descriptor read/8, error -110
[ 1499.159381] usb 3-1.4: device descriptor read/8, error -110
[ 1499.265176] hub 3-1:1.0: unable to enumerate USB device on port 4

This is related to https://bugs.chromium.org/p/chromium/issues/detail?id=597713.
On chell, if dwc2 is not installed, lsusb will freeze for a long time.
And I found that even when dwc2 is installed, after some time, lsusb hangs. This can be recovered by remove/install dwc2 once.

On daisy, remove/install dwc2 once also solve the suspend/resume problem.
I am still running suspend_stress_test to verify this solve the problem.


 
Blocking: 606968
I just found out that this is actually a issue more complicated than I thought.

We have two kernel version now.

3.8: Currently used in the lab. Have seen enumeration issue. Remove/install can fix it.

4.2: Currently in Chameleon repo. Have not deployed to lab yet, enumeration issue not seen. Can NOT remove/install dwc2 driver.

4.2 kernel is needed for chameleon to control bluetooth HID kit through USB using host mode.

So, this means that, the remove/install dwc2 driver trick does not work for kernel 4.2.

We need to first figure out if the USB enumeration issue happens on 4.2.
I plan to deploy new chameleon bundle to daisy and chell in the lab and watch out for the enumeration failure in a few days.
There are two daisy devices showing consistent failure in display_HotPlugAtSuspend.* tests

https://wmatrix.googleplex.com/unfiltered?suites=chameleon_audio_perbuild,chameleon_hdmi_perbuild

android1758-audiobox3-host1
chromeos1-row1-rack4-host3

I plan to upgrade chromeos1-row1-rack4-host3 to kernel 4.2 and see if the failure is the same, while keeping android1758-audiobox3-host1 using kernel 3.8 as it is.

Hi Kalin, after you get the result on https://bugs.chromium.org/p/chromium/issues/detail?id=606968#c14, could you please plug the USB connection back on android1758-audiobox3-host1 and
chromeos1-row1-rack4-host3?

I now believe that the failure has nothing to do with display hotplug since the failure can be reproduced in #1. However, I don't have a very consistent way to reproduce it locally, so let's keep using display_HotPlugAtSuspend.* for experiments.

Thanks!
I reverted https://chromium-review.googlesource.com/349263 (for an unrelated bug  that makes chameleond fail without bluetooth hid kit) and deployed chameleon with 4.2 kernel to chromeos1-row1-rack4-host3

After USB is plugged back, we can see if the same issue happens on 4.2 kernel.
Thanks!

Comment 5 by ka...@chromium.org, Jun 8 2016

Both daisy DUTs at chromeos1-row1-rack4-host3 and android1758-audiobox3-host1 should have the USB cables connected. I have not unplugged them before.


Thank you Kalin, I see.
The test result over the weekend suggest that kernel 4.2 is indeed more stable than kernel 3.18.

https://wmatrix.googleplex.com/platform/unfiltered?hide_missing=True&tests=display_HotPlugAtSuspend.mirrored&days_back=20&platforms=daisy

We can monitor for a few days and see if the suspend/resume issue happens on chromeos1-row1-rack4-host3.
I also updated android1758-audiobox3-host1 chameleon to 4.2 kernel. Let's see how it works.
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/chameleon/+/3511cec58dd8910e87508216e93756cc38b3a332

commit 3511cec58dd8910e87508216e93756cc38b3a332
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Wed Jun 08 08:34:40 2016

chameleond: Output log of chameleond to /var/log/chameleond_init

It is hard to find the exception and syntax error in chameleond.
Adding a log file helps debugging.

BUG=chromium:618175
TEST=check /var/log/chameleond_init contains error messages when there is
exception in chameleond.

Change-Id: I1fd6b859040e8a376b7ac824f6cb2a7810ed96c7
Reviewed-on: https://chromium-review.googlesource.com/350681
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>

[modify] https://crrev.com/3511cec58dd8910e87508216e93756cc38b3a332/deploy/init.d/chameleond

The test result was all green on daisy:
https://wmatrix.googleplex.com/unfiltered?suites=chameleon_audio_perbuild,chameleon_hdmi_perbuild

This means that kernel 4.2 works far better than kernel 3.18.
Since daisy has its chameleon updated to 4.2 alread, we can wait for Joseph's recent work, and update to all chameleon.
The patch to install pip and extra python packages/modules has landed

  https://chromium-review.googlesource.com/#/c/352940/

I will work with Jimmy to double check it locally. If every thing work as expected. We will begin updating it to all other chameleon boards. 

Sign in to add a comment