Skip to content

misleading error report of 'no available topology' #232

Closed

Description

@plbossart

I have an UpExtreme board with SoundWire. headset playback works fine.

sof-test provides very misleading error reports

root@upExtreme2:~/sof-test/test-case# ./check-playback.sh -d 4
2020-06-04 19:28:59 UTC [REMOTE_INFO] no source file, use /dev/zero as dummy playback source
2020-06-04 19:28:59 UTC [REMOTE_ERROR] No available topology for pipeline export
2020-06-04 19:28:59 UTC [REMOTE_INFO] Test Result: FAIL!
root@upExtreme2:~/sof-test/test-case# test-speaker.sh
-bash: test-speaker.sh: command not found
root@upExtreme2:~/sof-test/test-case# ./test-speaker.sh
2020-06-04 19:29:56 UTC [REMOTE_ERROR] No available topology for pipeline export
2020-06-04 19:29:56 UTC [REMOTE_INFO] Test Result: FAIL!
root@upExtreme2:~/sof-test/test-case# speaker-test -Dhw:0,0 -c2 -r48000

speaker-test 1.2.2

Playback device is hw:0,0
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 96 to 16368
Period size range from 48 to 4080
Using max buffer size 16368
Periods = 4
was set period_size = 3312
was set buffer_size = 16368
 0 - Front Left
 1 - Front Right
^CTime per period = 3.095371

WTH is this 'no available topology' error?

@keqiaozhang @marc-hb FYI

Activity

  1. changed the title [-]unusable tests and bad error handling on new platform[/-] [+]misleading error report of 'no available topology'[/+] on Jun 4, 2020
  2. plbossart commented on Jun 4, 2020

    @plbossart
    MemberAuthor

    there is actually a topology check

    root@upExtreme2:~/sof-test/test-case# ./verify-tplg-binary.sh
    2020-06-04 19:43:44 UTC [REMOTE_ERROR] No available topology for this test case
    2020-06-04 19:43:45 UTC [REMOTE_INFO] Test Result: FAIL!
    root@upExtreme2:~/sof-test/test-case# ls -l /lib/firmware/intel/sof-tplg/
    total 48
    -rw------- 1 root root 25451 Jun  3 19:23 sof-cnl-rt711vd_sdw0.tplg
    -rw------- 1 root root 16411 May 12 17:35 sof-hda-generic-idisp.tplg
    

    but it's just wrong, there is a topology for this device. The requirements are completely unclear here.

  3. plbossart commented on Jun 4, 2020

    @plbossart
    MemberAuthor
    root@upExtreme2:~/sof-test/tools# ./sof-get-default-tplg.sh
    sof-cnl-rt711vd_sdw0.tplg
    
  4. aiChaoSONG commented on Jun 11, 2020

    @aiChaoSONG

    @plbossart Please provide topology name/path with -t parameter, or you can set TPLG env to point to your topology. sof-get-default-tplg.sh get default tplg by filtering journal, for FW/tplg load failure condition, it doesn't work. BTW, there may be more than one topology file in /lib/firmware/intel/sof-tplg, that's why we need user to specify topology.

    @Bin-QA can we put the get-default-tplg logic into lib.sh as a function? if user doesn't provide topology with -t or TPLG env, we can use this as a fall back.

  5. Bin-QA commented on Jun 11, 2020

    @Bin-QA
    Contributor

    I can do this, but here also will cause the problem: how to identify default TPLG file is correct TPLG
    so here provide the sof-get-default-tplg.sh script for query the TPLG file

    for the test-script without reference, couldn't know the TPLG file load by kernel is correct

    So we decide to make this option as the parameter or env without for check it as the correct value

  6. added 3 commits that reference this issue on Sep 2, 2020
    4467c42
    7c80571
    71d1bec
  7. added a commit that references this issue on Sep 7, 2020
    31039cc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions