Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opensuse 15.6 HP 14b-nb0031wm w/ MrChromeBox UEFI Tiger Lake-LP Smart Sound Technology Audio Controller no output #5174

Open
SeonMu108 opened this issue Sep 10, 2024 · 14 comments

Comments

@SeonMu108
Copy link

I've been having problems with the audio driver on Opensuse 15.6.

here is the text of the bugzilla threat along with the two alsa-info.sh attachments:

I tried both google and brave search and have yet to come across an answer that works on my machine, a newly installed 15.6 leap instance.

Here is the output from inxi -Aa

Audio:
Device-1: Intel Tiger Lake-LP Smart Sound Audio

driver: sof-audio-pci-intel-tgl

alternate: snd_hda_intel,snd_sof_pci_intel_tgl bus-ID: 00:1f.3

chip-ID: 8086:a0c8 class-ID: 0401

API: ALSA v: k6.4.0-150600.21-default status: kernel-api with: aoss

type: oss-emulator tools: alsactl,alsamixer,amixer

Server-1: PipeWire v: 1.0.5 status: off with: wireplumber status: off

tools: pw-cat,pw-cli,wpctl

Server-2: PulseAudio v: 17.0 status: active with: pulseaudio-alsa

type: plugin tools: pacat,pactl,pavucontrol

dmesg output:

here's the output:

[ 142.261901] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100

[ 142.262162] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100

[ 142.262285] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

[ 142.270908] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode

[ 142.285212] sof-audio-pci-intel-tgl 0000:00:1f.3: NHLT table not found

[ 142.285238] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4

[ 142.285754] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864

[ 142.285761] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0

[ 142.285768] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30

[ 142.403661] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864

[ 142.403680] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0

I assume the bolded line is the pertinent one.

I have sof-firmware installed, as well as the above drivers. I disabled pipewire, as I've had problems on Ubuntu/Mint with Pipewire. I have also tried this with Pipewire enabled and have had the same issue.

The device shows up in YaST Sound as "Tiger Lake-LP Smart Sound Technology Audio Controller." When I select edit and try Quick Automatic Setup or Normal Setup, or Advanced, I get the following error:

The kernel module snd-sof-pci-intel-tgl for sound support
could not be loaded. This can be caused by incorrect
module parameters, including invalid IO or IRQ parameters.

As I said above, I have this working on Linux Mint 21.3 Virginia, so long as I have Pipewire disabled with the sof-firmware drivers. Does anyone have any clue what I need to do to get the sound working? It's really the only thing stopping me from switching.


Thanks

Alsa-Info output

Tried the newest Kernel at the first link,

Linux localhost.localdomain 6.10.8-lp155.4.g8fb5447-default #1 SMP PREEMPT_DYNAMIC Fri Sep 6 07:30:08 UTC 2024 (8fb5447) x86_64 x86_64 x86_64 GNU/Linux

and the issue persists: https://imgur.com/a/81Y1NVX

Attached is the output from Alsa-Info.

Alsa-info 1.txt


Second alsa-info output with both upstream sof-firmware drivers (failed) and kernel option - snd_intel_dspcfg.dsp_driver=1

alsa-info 2.txt


The new sof firmware you linked to did not change the outcome. There is a difference after adding the kernel modifier, where the device seems to work, as in, the process where I click "edit" to configure the sound driver completes, but there is still nothing but a dummy output. If I try to click "edit" again after the process completes, the window closes. Upon reopening, the driver remains unconfigured. See the screenshot here:

https://imgur.com/beX5Sy5.png


contents of /etc/modprobe.d/

There are three files -

50-yast.conf: https://imgur.com/u5WqTCd.png

which is empty

README, which is, obviously, a readme

and tuned.conf, which is all commented out: https://imgur.com/pMhel5k.png

Thanks

@ujfalusi
Copy link
Collaborator

Hi,
Can you add this file
sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf, reboot and attach the full dmesg log from the working Mint and from the non working OpenSUSE boot?

Notes:

[   38.557910] sof-audio-pci-intel-tgl 0000:00:1f.3: NHLT table not found
[   38.557981] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4
[   38.558417] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware paths/files for ipc type 0:
[   38.558420] sof-audio-pci-intel-tgl 0000:00:1f.3:  Firmware file:     intel/sof/community/sof-tgl.ri
[   38.558422] sof-audio-pci-intel-tgl 0000:00:1f.3:  Topology file:     intel/sof-tplg/sof-tgl-max98357a-rt5682.tplg
[   38.558829] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[   38.558834] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[   38.558840] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[   38.671756] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[   38.671775] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0

The firmware and topology file is present and all looks fine, I don't know why the card is not visible.

[   38.558840] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30

is harmless, I have a PR to avoid the confusion: #5183

The snd_intel_dspcfg.dsp_driver=1 will force the legacy HDA stack and you do have a card with HDMI audio support only as expected (hda codecs found, mask 4)

@SeonMu108
Copy link
Author

Soflog.txt
OSSofdmesg.txt

The OpenSuse dmesg output is "OSSofdmesg.txt." The Mint output is "Soflog.txt"

Thanks for the response.

@ujfalusi
Copy link
Collaborator

Thanks for the kernel logs.
The openSUSE log hints that there is a card with PCM created while the Alsa-info 1.txt you have attached shows no cards?

[   24.563062] snd_sof:sof_pcm_open: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: open stream 0 dir 0
[   24.563065] snd_sof:sof_pcm_open: sof-audio-pci-intel-tgl 0000:00:1f.3: period min 192 max 16384 bytes
[   24.563068] snd_sof:sof_pcm_open: sof-audio-pci-intel-tgl 0000:00:1f.3: period count 2 max 16
[   24.563070] snd_sof:sof_pcm_open: sof-audio-pci-intel-tgl 0000:00:1f.3: buffer max 65536 bytes
[   24.563212] snd_sof:ssp_dai_config_pcm_params_match: sof-audio-pci-intel-tgl 0000:00:1f.3: DAI config 0 matches pcm hw params
[   24.563216] snd_sof:ssp_dai_config_pcm_params_match: sof-audio-pci-intel-tgl 0000:00:1f.3: DAI config 0 matches pcm hw params
[   24.563218] snd_sof:sof_ipc3_pcm_dai_link_fixup: sof-audio-pci-intel-tgl 0000:00:1f.3: rate_min: 48000 rate_max: 48000
[   24.563221] snd_sof:sof_ipc3_pcm_dai_link_fixup: sof-audio-pci-intel-tgl 0000:00:1f.3: channels_min: 2 channels_max: 2
[   24.563227] snd_sof:sof_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: hw params stream 0 dir 0
[   24.563237] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[   24.563254] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[   24.563258] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: period_bytes:0x18fc
[   24.563260] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: periods:3
[   24.563295] snd_sof:sof_ipc3_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: stream_tag 1
[   24.563297] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60010000
[   24.563744] snd_sof_intel_hda_common:hda_set_stream_data_offset: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: stream dir 0, posn mailbox offset is 791364
[   24.574517] snd_sof:sof_pcm_hw_free: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: free stream 0 dir 0
[   24.574523] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60030000
[   24.574766] snd_sof:sof_pcm_close: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: close stream 0 dir 0

Can you also provide the alsa-info output from Mint and openSUSE again?

It looks to me that the kernel and sof-bin is pretty old on Mint? What are the versions? I think the sof-bin might be from December, 2021: https://github.com/thesofproject/sof-bin/releases/tag/v2.0

with openSUSE we use v2.2 binaries for TGL, but the sof-firmware package is one year old as well, so not too recent either.

The version difference in kernel and sof-bin looks pretty big and there has been lots of changes on both side, but I would try these things (apart from the logs):
Sorry, this might be tedious, you should have a notebook to track the results and setups :(
Make backup before doing anything!

On Mint install https://github.com/thesofproject/sof-bin/releases/tag/v2023.09.2 (same version as openSUSE has) - you might need to remove the distro sof-firmwre package first.

On openSUSE, install the old https://github.com/thesofproject/sof-bin/releases/tag/v2.0 and see how it behaves.

  • if works, try newer sof-bin releases, like with Mint.

If nothing works with openSUSE's 6.10.8 then I'm not sure how to proceed, you would need to test older kernels if you can.

Hint: you can test the different sof-bin releases w/o reboot, but need to make sure that nothing is using audio (by reloading the audio drivers):
git clone https://github.com/thesofproject/sof-test.git
sudo ./sof-test/tools/kmod/sof_remove.sh
sudo dmesg -c
sudo ./sof-test/tools/kmod/sof_insert.sh

Note: we don't have similar device in our CI, but the sof-bin releases are used by Chrome vendors and Google, regressions can still happen...

@ujfalusi
Copy link
Collaborator

@SeonMu108, can you also check on openSUSE before anything else:

sudo aplay -l

@plbossart
Copy link
Member

what's not so good is the ACPI error listed initially

[    0.126047] ACPI BIOS Error (bug): Failure creating named object [\_SB.PCI0.HDAS._DSD], AE_ALREADY_EXISTS (20210730/dswload2-326)

that really hints at a UEFI BIOS issue...

I would really try with Fedora40 and see what happens on this device. If everything works well, then it's clearly a distro issue with older kernel/firmware/topology. If there's still a problem, possibly the BIOS needs an update.

@SeonMu108
Copy link
Author

SeonMu108 commented Sep 24, 2024

Sudo aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: sofrt5682 [sof-rt5682], device 0: Speakers () []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofrt5682 [sof-rt5682], device 1: Headset (
) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofrt5682 [sof-rt5682], device 2: HDMI1 () []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofrt5682 [sof-rt5682], device 3: HDMI2 (
) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofrt5682 [sof-rt5682], device 4: HDMI3 () []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofrt5682 [sof-rt5682], device 5: HDMI4 (
) []
Subdevices: 1/1
Subdevice #0: subdevice #0

Here is the OpenSuse Alsa-info.sh with that file in place:
OS alsa-info.txt

I'm going to boot into mint to give the second alsa-info and will append that file to this post via edit

Thanks

edit: Mint does not have the option for alsa-info. The two alsa-info.txt files I provided were from different sof firmwares within OpenSuse.

Finally, to @plbossart - if it was a UEFI bios issue, it would be present, I would think in both Mint and OpenSuse (I have no idea how UEFI and the Linux kernel interact, so I am more that happy to be wrong on this), however, I updated the UEFI Mr. Chromebook firmware earlier today to the latest version and the issue persist.

Fw Ver: MrChromebox-2408.1 (09/14/2024)

@ujfalusi
Copy link
Collaborator

@SeonMu108, this looks correct, you have the card up.

@SeonMu108
Copy link
Author

@ujfalusi

Sof-firmware-signed on Mint is a different package than the one that is used by OS, and there are only two versions on Mint -

https://imgur.com/p0o8QWQ.png.

Within mint, when I try to clone the git and run install.sh, nothing happens - terminal accepts the command and then brings up the same directory waiting for input. When I download the tarball, extract it, and run install.sh I get this error

https://imgur.com/wUk8QFB.png

After running install.sh, there is no new sof-~ or ~-sof in the synaptic package manager. I have no idea how to proceed from here on the Mint side of things - if you could tell me exactly what

See if things work, if not install the https://github.com/thesofproject/sof-bin/releases/tag/v2.0, then https://github.com/thesofproject/sof-bin/releases/tag/v2.2, then the latest release https://github.com/thesofproject/sof-bin/releases/tag/v2024.06

means, I would gladly follow directions. I have a slight background in IT QA, so I am familiar with bug reports and how to communicate back and forth with actual tech people, but I have no idea how github as a whole works, or how to do anything with it other than what I've already wrote.

Thanks.

@ujfalusi
Copy link
Collaborator

@SeonMu108, OK, I think you don't need to test different versions of sof-bin releases, the issue might boils down that normal users in openSUSE does not have access to audio by default - only the media severs do. Let's pursue this lead!

With vanilla openSUSE install with sudo aplay -l you can see the sound card and the list of PCM devices, while with aplay - l you don't, right?
You need to add your user to the audio group ([1], [2]):
go to: YaST Control Centre > Security and Users > User and Group Management, click on Edit on the Users tab, change tab to Details and tick the audio box under Additional Groups.
Then reboot.

Now you should see the audio card and PCM devices with aplay -l.

The other problem you have is that alsa-ucm-conf (afaik) does not have configuration for this sound card (sof-rt5682), which means that Pipewire/wireplumber or Pulseaudio does not know what to do.

To see if it is working at all, you would will need some of the hints from the troubleshooting [3]:
Open two terminals
TermA: alsamixer -c0
TermB: speaker-test -Dplughw:0,0 -c2 -twav , this will start a speaker test on the Speaker (-Dplughw:0,1 is for the headset)

Go back to TermA and play with mixer controls.
You might be able to migrate the Mint configuration: in theory you could do alsactl -f mycard.aconf store in Mint and alsactl -f mycard.aconf restore in openSUSE, but chances that there were changes in controls, thus the config is not applicable is high.
In that case the stored configuration can give you hint on what needs to be changed.

References
[1] https://forums.opensuse.org/t/article-opensuse-as-a-digital-audio-workstation/88461
[2] https://doc.opensuse.org/documentation/leap/startup/html/book-startup/cha-yast-userman.html#sec-yast-userman-assign
[3] https://en.opensuse.org/SDB:Audio_troubleshooting

@SeonMu108
Copy link
Author

SeonMu108 commented Sep 25, 2024

OK! PROGRESS!

I added audio to the user group. Before adding the audio group, both sudo and standard aplay -l displayed the same output:

https://imgur.com/9O12BvQ.png

NOW! Here is the interesting thing! when I run this command in terminal:

speaker-test` -Dplughw:0,0 -c2 -twav

THIS WORKS! But only this. It still shows up in alsa as a dummy; no hardware output. It repeats the front left/front right audio clip over and over.

HOWEVER!!!!

When I check YaST sound, the sound card is still showing up as unconfigured. So of course, I try to configure it, to see if it corrects itself, which of course it doesn't. BUT! When I try to repeat that terminal command, I get a different output, an error, and there is no longer a sound test:

https://imgur.com/screenshot-h5j4tFX

Also, when I run the (sudo) aplay -l command, it then returns

aplay: device_list:277: no soundcards found...

_
Any further ideas?

@SeonMu108
Copy link
Author

OK, I feel like a giant idiot.

As soon as I change the pulseaudio configuration it works!

https://imgur.com/9857kqV.png

MuCH (because YaST audio apparently is nonsense and has no bearing on anything) appreciated!

Chris

@ujfalusi
Copy link
Collaborator

@SeonMu108, glad to hear that you made some (audible) progress!
The UCM configuration would be the next thing to create to be able to fully control the card, but that is another issue altogether.

If you feel that the original issue has been addressed and fixed, please close the issue.

Thank you

@SeonMu108
Copy link
Author

LET THERE BE SOUND

@ujfalusi
Copy link
Collaborator

@SeonMu108, are you OK to close the issue?

Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants