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

Issue 776462 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 775926



Sign in to add a comment

[Peppy] Input node changes to Mic jack after suspend resume when USB headset is active

Project Member Reported by matthewjoseph@chromium.org, Oct 19 2017

Issue description

Google Chrome 63.0.3239.11 (Official Build) dev (64-bit)
Revision
Platform 10032.7.0 (Official Build) dev-channel peppy
Firmware Version Google_Peppy.4389.117.0

What steps will reproduce the problem?
(1) Recover device and login with user account
(2) Plug in 3.5 Headphones, output and input nodes correctly change
(3) Plug in USB audio, output and input nodes change to USB device
(4) Suspend device with lid close or by running powerd_dbus_suspend
(5) Wake device
(6) Input node changed to Mic Jack

What is the expected result?
Both Input and Output node should be USB Headphones

What happens instead?
Input Node switches to 3.5" Headphones 

 

Comment 2 by ka...@chromium.org, Oct 19 2017

Owner: jen...@chromium.org
Hi Jenny,
Wu-Cheng found (in issue 775926)that your CL might have caused this -https://chromium-review.googlesource.com/c/chromium/src/+/679934

Can you take a look?

Comment 3 by ka...@chromium.org, Oct 19 2017

Blocking: 775926
Cc: itspeter@chromium.org
Project Member

Comment 5 by sheriffbot@chromium.org, Oct 23 2017

This issue is marked as a release blocker with no milestone associated. Please add an appropriate milestone.

All release blocking issues should have milestones associated to it, so that the issue can tracked and the fixes can be pushed promptly.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 6 by sontis@chromium.org, Oct 23 2017

Labels: M-63
Status: Assigned (was: Untriaged)
I tested on eve (self built image on Oct 20) and it didn't have this issue.
Is this still an issue?
Yes.  This is still happening on R63-10032.29.0
Status: Started (was: Assigned)
I can't repro this on kevin R63-10032.29.0.

Comment 12 by ka...@chromium.org, Nov 13 2017

I think this is reported for peppy(and panther - both) on kernel 3.8.
Yes, I can repro it on peppy and am looking into it.
Owner: hychao@chromium.org
I did some debug on peppy device. The problem lies in the way cras re-discovers the audio devices after system resumes. 
With the repro steps in comment #0. 
Before step #4, suspend system, cras sends the following nodes to chrome:
output: 
internal speaker,
35mm headphone,
usb headphone*.
Inputput:
internal_mic,
35mm mic jack,
usb mic*.

So chrome code pick usb headhphone and usb mic as active output/input device. After the system resumes, cras re-discover the audio nodes, with the first nodes changed signal, it sent:
Output: 
internal speaker,
35mm headphone,
USB headhphoe
Input:
internal mic,
USB mic.
Notice that: 35mm mic is not listed the input nodes.
In the second NodesChanged signal, it sends:
Output: 
internal speaker,
35mm headphone,
USB headhphoe
Input:
internal mic,
USB mic.
35mm Mic
Notice that: 35mm mic shows up now, and it will be considered as a hotplug input device, since it was not in the previous node list. Therefore, it will be selected as active device by chrome code logic. 

This kind of device discovering sequence happens on peppy but not kevin and other devices I tested. Therefore, this issue only repro on peppy.

This is an issue with cras on peppy. We should try to fix in cras layer. Chrome does not expect such inconsistent behavior from cras after system resumes. 


By the way, I was able to repro this on peppy ToT too.
Owner: chinyue@chromium.org
Status: Assigned (was: Started)
We should check whether this is a regression.
There was no recent change in kernel 3.8 for jack detection.
Status: Started (was: Assigned)
The root cause is mic jack detection is too slow.
So when resume from suspend, the system detected headphone first, and then USB, and then mic jack, thus makes chrome selected mic jack as input device.

Filed https://b.corp.google.com/issues/69347127 to track the issue.

Labels: -ReleaseBlock-Stable
This is not a regression and is a corner case so remove release block.
Owner: cychiang@chromium.org

Sign in to add a comment