New issue
Advanced search Search tips

Issue 792714 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

[Guado/wolf/lumpy/Gandof] Audio input node is always switching to 3.5 after Suspend/Resume.

Project Member Reported by sontis@chromium.org, Dec 6 2017

Issue description

Chrome Version: 10176.5.0 / 64.0.3282.11
OS: ChromeOS
Device: Guado

What steps will reproduce the problem?
(1) Sign in to the device. 
(2) Plug 3.5 mm headset.
(3) Plug USB headset.
(4) Suspend the device.
     powerd_dbus_suspend
(5) Press any key to resume the device.
(6) check the audio nodes form cras_test_client.

What is the expected result?
USB audio input and output nodes should be active. 



What happens instead?
USB audio output and 3.5 audio input nodes are active.

Please use labels and text to provide additional information.

chronos@localhost / $ cras_test_client --dump_server_info
System Volume (0-100): 100 
Capture Gain (-17.25 - 30.00): 18.77dB 
User muted: Not muted
Output Devices:
        ID      Name
        14      Microsoft LifeChat LX-3000: USB Audio:3,0
        9       HDA Intel PCH: ALC283 Analog:1,0
        8       HDA Intel HDMI: HDMI 2:0,8
        7       HDA Intel HDMI: HDMI 1:0,7
        6       HDA Intel HDMI: HDMI 0:0,3
Output Nodes:
        Stable Id        ID      Vol   Plugged  L/R swapped           Time Hotword      Type             Name
        (a50fedcf)      14:0       75      yes              no  1512602705              USB             *Microsoft LifeChat LX-3000: USB Audio:3,0: Speaker
        (d5da8553)      9:0       100      yes              no  1512602440              HEADPHONE        Headphone Jack
        (5280b26d)      8:0       100       no              no           0              HDMI             HDMI/DP,pcm=8 Jack
        (78297d51)      7:0        75      yes              no  1512602846              HDMI             ASUS VE258
        (f2070728)      6:0       100       no              no           0              HDMI             HDMI/DP,pcm=3 Jack
        (2fb77ef4)      6:1       100       no              no           0              HDMI             HDMI
Input Devices:
        ID      Name
        15      Microsoft LifeChat LX-3000: USB Audio:3,0
        10      HDA Intel PCH: ALC283 Analog:1,0
        5       Post DSP Loopback
        4       Post Mix Pre DSP Loopback
Input Nodes:
        Stable Id        ID     Gain   Plugged  L/R swapped           Time Hotword      Type             Name
        (0054823c)      15:0        0      yes              no  1512602705              USB              Microsoft LifeChat LX-3000: USB Audio:3,0: Mic
        (ca711b33)      10:0        0      yes              no  1512602846              MIC             *Mic Jack
        (8c74f766)      5:0         0      yes              no           0              POST_DSP_LOOPBACK Post DSP Loopback
        (8a04af91)      4:0         0      yes              no           0              POST_MIX_LOOPBACK Post Mix Pre DSP Loopback
Attached clients:
        ID      pid     uid
        17      2737    1000
        18      2737    1000
        19      2737    1000
        21      9471    1000
Num active streams: 3
Last audio active time: 4648, 470673317

 
Cc: hychao@chromium.org

Comment 3 by ka...@chromium.org, Dec 6 2017

Cc: jen...@chromium.org
Is this a regression?
The doc for node selection logic:
https://docs.google.com/document/d/1BTTl_9yL6c9DQVLvA-Btuwms07xK6jHh33w4XHIlWAw/edit?ts=599cb3f1
Note that if 3.5mm headphone is hot-plugged, it will be selected as active node.

I am not sure whether on resume, CRAS will report a NodesChanged event.
I think it depends on driver.
For example, on bob, across suspend/resume, there will be no plug/unplug event of 3.5mm headphone.
Maybe on Guado, the 3.5mm headphone will be detected as unplugged and then plugged across suspend resume.
If that is true, 3.5mm headphone will be selected.

Hi sontis, could you please check if it is a regression, and if it behave consistently ?
Thanks!

Comment 6 by sontis@chromium.org, Dec 15 2017

Summary: [Guado/wolf/lumpy] Audio input node is always switching to 3.5 after Suspend/Resume. (was: [Guado] Audio input node is always switching to 3.5 after Suspend/Resume.)
Able to reproduce this issue consistently on Guado, Wolf and Lumpy devices.

Both audio input and output nodes should switch to 3.5mm headset, If suspend/resume initiates plug/unplug event. But actually only the audio input node is changing to 3.5mm hadset.

Repo steps:
1. sign in to the device.
2. Plug 3.5mm headset.
     Observation:3.5 is selected as audio input and output
3. Plug USB headset.
     Observation:USB is selected as audio input and output
4. Suspend/resume the device.
     Observation: USB is selected as audio out and 3.5 is selected as audio input.
    

Comment 7 by ka...@chromium.org, Dec 15 2017

There was additional work done by jennyz@, to get the 3.5mm microphone to comply to the behavior  described in #5. 

Jenny, could https://chromium-review.googlesource.com/c/chromium/src/+/762141 be affecting the hotplug behavior in way to introduce this as a regression

Comment 8 by sontis@chromium.org, Jan 23 2018

Summary: [Guado/wolf/lumpy/Gandof] Audio input node is always switching to 3.5 after Suspend/Resume. (was: [Guado/wolf/lumpy] Audio input node is always switching to 3.5 after Suspend/Resume.)
Facing same issue with M65 10323.1.0_gandof 

Comment 9 by sontis@chromium.org, Mar 14 2018

Facing same issue on M66_10452.11.0_Zako
Owner: jen...@chromium.org
Status: Assigned (was: Untriaged)
#7: Yes, it is likely caused by the change to prioritizing 3.5mm headset input, combined with the timing of audio nodes re-discovery sequence after resuming, which could make 3.5mm input show up like just hot plugged. 

I will need to debug to check the event sequence.
Hi Jenny, let me know if you need any help with this!
Still able to reproduce this issue on M70 build 11021.11.0_lulu
Still able to reproduce this issue on M72 11316.6.0_wolf build.

Sign in to add a comment