Skip to content

[BUG] sof-ctl blob format is not the same as with ALSA UCM, should align the sof-ctl format #9092

Closed

Description

@singalsu

Describe the bug

Sof-ctl supports ASCII text format uint32_t numbers data (txt) and binary (blob) format. The binary blobs supported by UCM's cset-tlv need to have an additional 8 bytes header to work. The header contains for ALSA control API an index SOF_CTRL_CMD_BINARY (value 3) and size of following blob data without this header.

As result we need two kinds of binary blobs.

To Reproduce
Trying to cset-tlv an existing blob is not working. There is a fix in #9070 to produce new format binary blobs for UCM. But those blobs do not work with sof-ctl.

Reproduction Rate
Always

Expected behavior
Tools support for blobs without confusion to developers. Likely it would be best to change in sof-ctl both text and binary format data files to use the version with header from UCM.

The topology embedded format is same as sof-ctl's current format, no 8 bytes header. The topology blob format (.m4 or .conf ASCII hex bytes) should stay the same to avoid a compatibility break.

Impact
Annoyance.

Environment

  1. Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
    • Kernel: {SHA}
    • SOF: {SHA}
  2. Name of the topology file
    • Topology: {FILE}
  3. Name of the platform(s) on which the bug is observed.
    • Platform: {PLATFORM}

Screenshots or console output
If applicable, add a screenshot (drag-and-drop an image), or console logs
(cut-and-paste text and put a code fence (```) before and after, to help
explain the issue.

Please also include the relevant sections from the firmware log and kernel log in the report (and attach the full logs for complete reference). Kernel log is taken from dmesg and firmware log from sof-logger. See https://thesofproject.github.io/latest/developer_guides/debugability/logger/index.html

Activity

  1. added
    bugSomething isn't working as expected
    on May 2, 2024
  2. lgirdwood commented on May 2, 2024

    @lgirdwood
    Member

    @singalsu is the intention to align sof-ctl with how cset-tlv works or the other way around ?

  3. added this to the v2.11 milestone on May 2, 2024
  4. singalsu commented on May 3, 2024

    @singalsu
    CollaboratorAuthor

    @singalsu is the intention to align sof-ctl with how cset-tlv works or the other way around ?

    There's already a lot of products mass with UCM's cset-tlv so we should follow it with sof-ctl (used only by developers).

  5. kv2019i commented on Sep 5, 2024

    @kv2019i
    Collaborator

    @singalsu Is this still planned for v2.11 (rc1 tag next Friday)?

  6. singalsu commented on Sep 11, 2024

    @singalsu
    CollaboratorAuthor

    @singalsu Is this still planned for v2.11 (rc1 tag next Friday)?

    I'll change it to v2.12, not enough time to test the change impact to various scripts (GUI, sof-test etc.). It's not critical since it's a developer feature.

  7. modified the milestones: v2.11, v2.12 on Sep 11, 2024
  8. modified the milestones: v2.12, v2.13 on Dec 20, 2024
  9. singalsu commented on Dec 20, 2024

    @singalsu
    CollaboratorAuthor

    I today started I to work with the feature to target 2.13, updating Octave scripts for blobs exports and update sof-ctl. The patch depends on #9749.

  10. singalsu commented on Jan 28, 2025

    @singalsu
    CollaboratorAuthor

    The fix is in #9760, now ready for review.

  11. singalsu commented on Feb 13, 2025

    @singalsu
    CollaboratorAuthor

    The sof-ctl patch is now merged, this can be closed!

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working as expected

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions