Skip to content

[BUG] WoV: No keyword detection before recording when runtime suspend is enabled #929

Closed
thesofproject/sof
#1427

Description

@keqiaozhang

Describe the bug
For the WoV, The recording process should wait until the keyword arrives, and then start recording. But when runtime suspend is enabled, it won't wait for keywords, but start recording
immediately. Runtime suspend is enabled as default in our kernel driver.

To Reproduce
arecord -Dhw:0,8 -M -N -r 16000 -f s16_le -c 2 wov.wav -vvv

Expected behavior
The recording process should wait for the keyword arrives before start the recording.

Impact
No keyword detection before recording.

Environment

  1. kernel: sof-dev/8663570d2
  2. firmware: master/030c81c + PR [RFC]selector: need treat selector as endpoint for command handling sof#1365
  3. tplg: sof-glk-da7219-kwd.tplg
  4. platform: GLK-ubuntu
  5. Reproducibility Rate. 100%

dmesg

[   31.779353] sof-audio-pci 0000:00:0e.0: pcm: trigger stream 8 dir 1 cmd 1
[   31.779368] sof-audio-pci 0000:00:0e.0: ipc tx: 0x60040000: GLB_STREAM_MSG: TRIG_START
[   31.779547] sof-audio-pci 0000:00:0e.0: ipc tx succeeded: 0x60040000: GLB_STREAM_MSG: TRIG_START
[   33.095173] sof-audio-pci 0000:00:0e.0: ipc rx: 0x50050039: GLB_COMP_MSG: unknown type
[   33.095176] sof-audio-pci 0000:00:0e.0: ipc rx done: 0x50050039: GLB_COMP_MSG: unknown type
[   35.163652] sof-audio-pci 0000:00:0e.0: pcm: trigger stream 8 dir 1 cmd 0
[   35.163688] sof-audio-pci 0000:00:0e.0: ipc tx: 0x60050000: GLB_STREAM_MSG: TRIG_STOP
[   35.163830] sof-audio-pci 0000:00:0e.0: ipc tx succeeded: 0x60050000: GLB_STREAM_MSG: TRIG_STOP

Trace

    0      2         PIPE             51056.354167        36.562500 src/audio/pipeline.c:72     pipeline_new()
    0      2          IPC             51118.333333        61.979168    src/ipc/handler.c:675    ipc: pm core mask 0x1 -> enable
    0      2          IPC             51177.656250        59.322918    src/ipc/handler.c:948    ipc: hdr 0x30010000 tx (220) > rx (28)
    0      2          IPC             51183.437500         5.781250    src/ipc/handler.c:951    ipc: pipe 9 comp 57 -> new (type 15)
    0      2      unknown             51203.750000        20.312500 /audio/detect_test.c:211    test_keyword_new()
    0      2          IPC             51277.239583        73.489586    src/ipc/handler.c:948    ipc: hdr 0x30010000 tx (200) > rx (28)
    0      2          IPC             51280.781250         3.541667    src/ipc/handler.c:951    ipc: pipe 9 comp 58 -> new (type 17)
    0      2     SELECTOR             51301.510417        20.729166 src/audio/selector.c:115    selector_new()
    0      2          IPC             51360.052083        58.541668    src/ipc/handler.c:981    ipc: pipe 9 buffer 59 -> new (0xa00 bytes)
    0      2       BUFFER             51380.989583        20.937500   src/audio/buffer.c:54     buffer_new()
    0      2          IPC             51445.833333        64.843750    src/ipc/handler.c:981    ipc: pipe 9 buffer 60 -> new (0xa00 bytes)

dmesg.log
logger-t.log

Activity

  1. keyonjie commented on May 10, 2019

    @keyonjie

    Thanks for reporting the first issue for Keyword Detection, @keqiaozhang

    1. The issue only happens at running 'arecord' after resuming from suspended status.

    2. Something looks odd in dmesg to me is:
      ipc rx: 0x50050039: GLB_COMP_MSG: unknown type

  2. keyonjie commented on May 10, 2019

    @keyonjie

    root caused this to be that the detector binary config set fails(triggered after suspend/resume), please refer to Linux issue #919, we can quick workaround it with bypassing test_keyword_set_config().

  3. keyonjie commented on May 13, 2019

    @keyonjie

    I am working on this now...

  4. keyonjie commented on May 14, 2019

    @keyonjie

    Linux PR #942 and thesofproject/sof#1427 is the fix for this issue.

  5. keqiaozhang commented on May 16, 2019

    @keqiaozhang
    Author

    Confirmed that this issue is fixed by Linux PR #942 and thesofproject/sof#1427.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GLKApplies to Gemini LakebugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions