To support Intel DMIC

Bug #1827826 reported by Hao-Sheng Lu
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Checkbox Provider - Base
Fix Released
Critical
Sylvain Pineau

Bug Description

Intel report an issue when enable ucm (this done on Ubuntu 18.04 with a custom 5.0.0 kernel)

Checkbox can be installed and lunched successfully. But still meet below issue when enable ucm. Could you please help to check on this and is there any suggestion on this?

Issue: Not wait 30 seconds, but Fail with below info directly after press Enter to continue.

--------------[ Running job 3 / 14. Estimated time left: 0:05:59 ]--------------

-------------------[ audio/speaker-headphone-plug-detection ]-------------------

ID: com.canonical.certification::audio/speaker-headphone-plug-detection

Category: com.canonical.plainbox::audio

PURPOSE:

    Check that system detects speakers or headphones being plugged in

STEPS:

    1. Prepare a pair of headphones or speakers with a standard 3.5mm jack

    2. Locate the speaker / headphone jack on the device under test

    3. Run the test (you have 30 seconds from now on)

    4. Plug headphones or speakers into the appropriate jack

    5. Unplug the device for subsequent tests.

VERIFICATION:

    Verification is automatic, no action is required.

    The test times out after 30 seconds (and fails in that case).

Pick an action

    => press ENTER to continue

  c => add a comment

  s => skip this job

  q => save the session and quit

[csq]:

... 8< -------------------------------------------------------------------------

Traceback (most recent call last):

  File "/tmp/nest-uun46tr9.44ccba4503553477bd35b7457239873165b3f38cb7624d3ed35a63828a1ba746/pulse-active-port-change", line 149, in <module>

    raise SystemExit(AudioPlugDetection.main())

  File "/tmp/nest-uun46tr9.44ccba4503553477bd35b7457239873165b3f38cb7624d3ed35a63828a1ba746/pulse-active-port-change", line 107, in main

    return cls(ns.timeout, ns.mode).run()

  File "/tmp/nest-uun46tr9.44ccba4503553477bd35b7457239873165b3f38cb7624d3ed35a63828a1ba746/pulse-active-port-change", line 120, in run

    initial_cfg = self.get_sound_config()

  File "/tmp/nest-uun46tr9.44ccba4503553477bd35b7457239873165b3f38cb7624d3ed35a63828a1ba746/pulse-active-port-change", line 71, in get_sound_config

    doc = parse_pactl_output(text)

  File "/usr/lib/python3/dist-packages/checkbox_support/parsers/pactl.py", line 573, in parse_pactl_output

    return Document.Syntax.parseString(output, parseAll=True)[0]

  File "/usr/lib/python3/dist-packages/pyparsing.py", line 1632, in parseString

    raise exc

  File "/usr/lib/python3/dist-packages/pyparsing.py", line 1626, in parseString

    se._parse( instring, loc )

  File "/usr/lib/python3/dist-packages/pyparsing.py", line 1529, in _parseCache

    value = self._parseNoCache(instring, loc, doActions, callPreParse)

  File "/usr/lib/python3/dist-packages/pyparsing.py", line 1379, in _parseNoCache

    loc,tokens = self.parseImpl( instring, preloc, doActions )

  File "/usr/lib/python3/dist-packages/pyparsing.py", line 3395, in parseImpl

    loc, exprtokens = e._parse( instring, loc, doActions )

  File "/usr/lib/python3/dist-packages/pyparsing.py", line 1529, in _parseCache

    value = self._parseNoCache(instring, loc, doActions, callPreParse)

  File "/usr/lib/python3/dist-packages/pyparsing.py", line 1383, in _parseNoCache

    loc,tokens = self.parseImpl( instring, preloc, doActions )

  File "/usr/lib/python3/dist-packages/pyparsing.py", line 3183, in parseImpl

    raise ParseException(instring, loc, self.errmsg, self)

pyparsing.ParseException: Expected end of text (at char 1741), (line:47, col:1)

------------------------------------------------------------------------- >8 ---

Outcome: job failed

Related branches

Chih-Hsyuan Ho (chih)
description: updated
Jerry Kao (jerry.kao)
tags: added: ce-qa-concern
Changed in plainbox-provider-checkbox:
status: New → Confirmed
importance: Undecided → Critical
assignee: nobody → Sylvain Pineau (sylvain-pineau)
Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

The pactl parser fails to load the `pactl list` output. Could you please attach the output of this command. It will allow us to provide a fix for the new syntax.

Revision history for this message
Jerry Kao (jerry.kao) wrote :

@hao-sheng
please provide pactl list

Revision history for this message
Hao-Sheng Lu (haosheng.lu) wrote :

pactl list provided by Intel

Changed in plainbox-provider-checkbox:
status: Confirmed → In Progress
milestone: none → 0.48.0
Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

the checkbox-support parser needs to take into account the optional ALSA UCM pretags [1]:

#define PA_UCM_PRE_TAG_OUTPUT "[Out] "
#define PA_UCM_PRE_TAG_INPUT "[In] "

[1] https://github.com/pulseaudio/pulseaudio/blob/master/src/modules/alsa/alsa-ucm.c#L55

The parser syntax for Port and PortWithProfile requires the following patch:

    __syntax__ = (
+ p.Optional('[Out] ').suppress()
+ + p.Optional('[In] ').suppress()
        + p.Word(p.alphanums + "-;").setResultsName('port-name')

Changed in plainbox-provider-checkbox:
status: In Progress → Triaged
Changed in plainbox-provider-checkbox:
status: Triaged → In Progress
Changed in plainbox-provider-checkbox:
status: In Progress → Fix Committed
Revision history for this message
Betty Lin (bettyl) wrote :

Install the custom 5.0.0 kernel in mantis dvt2 (201905-27066) and run "audio/speaker-headphone-plug-detection", the error message didn't occur but checkbox also didn't detect the headset was plugged in. (Headset OSD didn't pop-up too)

This issue should verify when the custom 5.0.0 kernel is in OEM image then.

Revision history for this message
Hao-Sheng Lu (haosheng.lu) wrote :
Changed in plainbox-provider-checkbox:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.