Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [SOLVED] Won't recognize and use sound card (Read 1922 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[SOLVED] Won't recognize and use sound card

My Asus Chromebook C425 (with updated coreboot courtesy of MrChrombox's firmware utility script) with Artix Openrc will not use my sound card. My system recognizes its presense, but will not use it. In pulseaudio, I get the typical Dummy Output in my output devices.
When I run
inxi -A
I get back
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio driver: snd_soc_skl
  Sound API: ALSA v: k6.1.8-artix1-1 running: yes
  Sound Server-1: PulseAudio v: 16.1 running: yes
but when I run
cat /proc/asound/cards
i get
--- no soundcards ---

Before anyone asks, yes, I have sof-firmware installed as well as the two Alsa related firmware bits.
I've explored the forum for any soltutions used by others, but none have worked for me thus far.
I wanted to make sure I turned to everywhere else before posting.

Re: Won't recognize and use sound card

Reply #1
Does dmesg show that the snd_soc_skl module actually successfully load the firmware and the codecs are initialized?

Re: Won't recognize and use sound card

Reply #2
i ran the command
sudo dmesg | grep -i audio
and it returned
[    4.090356] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.189275] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3

also ran
sudo dmesg | grep -E 'sof|snd'
and got
[    0.067477] software IO TLB: area num 4.
[    0.295639] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.295642] software IO TLB: mapped [mem 0x000000007519e000-0x000000007919e000] (64MB)
[    3.411161] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    3.997182] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    4.090356] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    6.183529] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d71-GOOGLE-RAMMUS-0-tplg.bin failed with error -2
[    6.183536] snd_soc_skl 0000:00:1f.3: tplg fw 9d71-GOOGLE-RAMMUS-0-tplg.bin load failed with -2, trying alternative tplg name kbl_da7219_max98927-tplg.bin
[    6.183598] snd_soc_skl 0000:00:1f.3: Direct firmware load for kbl_da7219_max98927-tplg.bin failed with error -2
[    6.183601] snd_soc_skl 0000:00:1f.3: tplg kbl_da7219_max98927-tplg.bin failed with -2, falling back to dfw_sst.bin
[    6.183687] snd_soc_skl 0000:00:1f.3: Direct firmware load for dfw_sst.bin failed with error -2
[    6.183691] snd_soc_skl 0000:00:1f.3: Fallback tplg fw dfw_sst.bin load failed with -2
[    6.183694] snd_soc_skl 0000:00:1f.3: Failed to init topology!
[    6.183696] snd_soc_skl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -2

Re: Won't recognize and use sound card

Reply #3
The posted snippets of the dmesg output does show the firmware failing to load.
Quote
snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d71-GOOGLE-RAMMUS-0-tplg.bin failed with error -2

I found this site that was posted 3 weeks ago: Linux: HDA+DMIC with skylake driver.
It appears to have some relevant information regarding your audio device.
One thing that caught my eye:
Quote
... skylake driver loads only generically-named ones ...
create new symbolic link targeting your new file, e.g.:
Code: [Select]
ln -s dsp_fw_spt_release_vNewVersion.bin dsp_fw_release.bin

Re: Won't recognize and use sound card

Reply #4
I followed the guide you linked and got to the point of using

alsatplg -c skl_hda_dsp_generic-tplg.conf -o skl_hda_dsp_generic-tplg.bin

and got this

rayce-leona:[rayce]:~$ cd /usr/share/alsa/topology/hda-dsp/
rayce-leona:[rayce]:/usr/share/alsa/topology/hda-dsp$ alsatplg -c skl_hda_dsp_generic-tplg.conf -o skl_hda_dsp_generic-tplg.bin
ALSA lib dapm.c:247:(tplg_build_routes) undefined source widget/stream 'hda-dsp-analog-playback'
ALSA lib dapm.c:247:(tplg_build_routes) undefined source widget/stream 'hda-dsp-digital-playback'
ALSA lib dapm.c:247:(tplg_build_routes) undefined source widget/stream 'hda-dsp-alt-analog-playback'
ALSA lib dapm.c:225:(tplg_build_routes) undefined sink widget/stream 'hda-dsp-audio-analog-capture'
ALSA lib dapm.c:225:(tplg_build_routes) undefined sink widget/stream 'hda-dsp-audio-digital-capture'
ALSA lib dapm.c:225:(tplg_build_routes) undefined sink widget/stream 'hda-dsp-audio-alt-analog-capture'
ALSA lib dapm.c:247:(tplg_build_routes) undefined source widget/stream 'HDMI1 Playback'
ALSA lib dapm.c:247:(tplg_build_routes) undefined source widget/stream 'HDMI2 Playback'
ALSA lib dapm.c:247:(tplg_build_routes) undefined source widget/stream 'HDMI3 Playback'
ALSA lib dapm.c:225:(tplg_build_routes) undefined sink widget/stream 'DMIC-Capture'
Unable to open output file 'skl_hda_dsp_generic-tplg.bin.new': Unknown error -13

Is this something I should be concerned with or just continue with the guide?

UPDATE: nevermind, i ran it as sudo and it generated the bin file.

Re: Won't recognize and use sound card

Reply #5
I did everything in that article, ran

sudo dmesg | grep -E 'sof|snd'

and got

[    0.066423] software IO TLB: area num 4.
[    0.310638] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.310641] software IO TLB: mapped [mem 0x000000007519e000-0x000000007919e000] (64MB)
[    6.524173] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    6.569928] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d71-GOOGLE-RAMMUS-0-tplg.bin failed with error -2
[    6.569934] snd_soc_skl 0000:00:1f.3: tplg fw 9d71-GOOGLE-RAMMUS-0-tplg.bin load failed with -2, trying alternative tplg name kbl_da7219_max98927-tplg.bin
[    6.569985] snd_soc_skl 0000:00:1f.3: Direct firmware load for kbl_da7219_max98927-tplg.bin failed with error -2
[    6.569987] snd_soc_skl 0000:00:1f.3: tplg kbl_da7219_max98927-tplg.bin failed with -2, falling back to dfw_sst.bin
[    6.570030] snd_soc_skl 0000:00:1f.3: Direct firmware load for dfw_sst.bin failed with error -2
[    6.570032] snd_soc_skl 0000:00:1f.3: Fallback tplg fw dfw_sst.bin load failed with -2
[    6.570034] snd_soc_skl 0000:00:1f.3: Failed to init topology!
[    6.570036] snd_soc_skl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -2

which is pretty much identical from before.

Re: Won't recognize and use sound card

Reply #6
Please try this firmware that I stripped out of the latest Debian firmware-intel-sound package.
The firmware also is linked to a short name that will enable loading the firmware due Skylake's limitations.
Code: [Select]
$ ls -l dsp_fw_release.bin
lrwxrwxrwx 1 sol sol 24 Feb 14 13:04 dsp_fw_release.bin -> dsp_fw_release_v3402.bin
The latest debian firmware for Intel "Skylake" SST DSP

Re: Won't recognize and use sound card

Reply #7
I'm pretty sure I did something wrong,  but i'm not sure what.
See the attachment for what i did.
the red blocks are flashing, and i couldn't get a screengrab that showed the white letters of what was there. However, what's there is the same as later when i ran commands as sudo.

Re: Won't recognize and use sound card

Reply #8
Ok, i figured out what i did wrong.
I had to delete the other version of dsp_fw_release.bin so a i can create a new symlink with your debian sound card binary.
I did exactly that.
Still nothing.

Re: Won't recognize and use sound card

Reply #9
Would getting an external usb sound card be a good workaround for this issue?
I've been reading that on some distros they work as a substitute for internal sound cards with these issues.
Is Artix OpenRC any different?

Re: Won't recognize and use sound card

Reply #10
Would getting an external usb sound card be a good workaround for this issue?
So long as you get one that's well supported by Linux then yes.

From the dmesg output it looks like you are missing three firmware files.
9d71-GOOGLE-RAMMUS-0-tplg.bin
kbl_da7219_max98927-tplg.bin
dfw_sst.bin

dsp_fw_release.bin is not among them. (Though it would be good to see the entire dmesg output)

Are you dual booting on the Chromebook ?
If yes look for the missing firmwares on the ChromeOS partition. If they are there copy them over.

If you no longer have a ChromeOS partition you might be able to find a recovery image (should one exist) and extract the files from it.

I had to do similar getting audio under Arch linux on my (ARM) Samsung Chromebook2.
Though with the audio I'm only certain that I copied an Alsa config file.
Firmware rings a bell but may have been for some other functionality ?

It was a long time ago. But the fact is that ChromeOS is LInux so If it's working there (which it will be) there's a good chance the firmware files are there.




 

Re: Won't recognize and use sound card

Reply #11
Would getting an external usb sound card be a good workaround for this issue?
I've been reading that on some distros they work as a substitute for internal sound cards with these issues.
Is Artix OpenRC any different?

It is not as complicated as you perceive it.
It's actually extremely simple and straightforward.

As long as the hardware manufacturer does not provide source code for his product, you should leave your hardware on the shelf.
Consequently, it doesn't matter which distribution you use, because it's always the same software.

"Ceterum censeo M$ esse delendam"
"Wer alles kann, macht nichts richtig"

Artix USE="runit openrc slim openbox lxde gtk2 qt4 qt5 qt6 conky
-gtk3 -gtk4 -adwaita{cursors,themes,icons} -gnome3 -kde -plasma -wayland "

Re: Won't recognize and use sound card

Reply #12
It is not as complicated as you perceive it.
It's actually extremely simple and straightforward.

As long as the hardware manufacturer does not provide source code for his product, you should leave your hardware on the shelf.
As it's a bit late for that the comment isn't really helping the OP much.

Do you have an open source CPU and BIOS ? And zero closed source binary firmware ? All achievable but quite rare. And not fully achievable (AFAIK) on x86.

Re: Won't recognize and use sound card

Reply #13
So long as you get one that's well supported by Linux then yes.


I purchased the UGreen USB 3.0 Hub Sound Card.
According to the product description, it does support Linux.

https://www.amazon.com/UGREEN-External-Adapter-Headphone-Microphone/dp/B01HPMHOY0/ref=sr_1_5?keywords=ugreen+sound+card&qid=1676913661&sprefix=ugreen+sound%2Caps%2C106&sr=8-5

Re: Won't recognize and use sound card

Reply #14
As it's a bit late for that the comment isn't really helping the OP much.

Do you have an open source CPU and BIOS ? And zero closed source binary firmware ? All achievable but quite rare. And not fully achievable (AFAIK) on x86.

Better late than never.

https://www.tuxedocomputers.com/
https://configurelaptop.eu/coreboot-laptop/
https://configurelaptop.eu/cat/custom-laptop/
https://github.com/Dasharo/coreboot/
"Wer alles kann, macht nichts richtig"

Artix USE="runit openrc slim openbox lxde gtk2 qt4 qt5 qt6 conky
-gtk3 -gtk4 -adwaita{cursors,themes,icons} -gnome3 -kde -plasma -wayland "