You are not logged in.
Hi everyone, at one point headphones, Bluetooth and aux worked flawlessly, just not speakers. I could've lived with that but something happened (Either I booted into MacOS or installed these drivers which i kind of doubt) and now no audio works. While I have been using arch for a while I've used it on a different laptop and had no problems with audio. This seems to be a unique case. I am using Hyprland, alsa, and pulseaudio if that matters.
Here are a list of things I have tried:
Ive deleted all audio related configuration files, reinstalled all audio related packages (except for alsa)
The output of
ls /usr/share/alsa/ucm2/
does not contain the name of my audio card (Cirrus Logic CS4208)
pavucontroller shows the audio bar moving when i play audio but no sound comes from either aux port, or speakers
alsamixer doesnt have any speaker or headphone channels just 'PCM' with no ability to mute/unmute.
Here is the output of
dmesg | grep -i snd
[ 6.338276] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 6.641187] snd_hda_codec_cirrus: loading out-of-tree module taints kernel.
[ 6.641199] snd_hda_codec_cirrus: module verification failed: signature and/or required key missing - tainting kernel
[ 6.752672] snd_hda_codec_cirrus hdaudioC0D0: CS4208: picked fixup for codec SSID 106b:0000
[ 6.753340] snd_hda_codec_cirrus hdaudioC0D0: autoconfig for CS4208: line_outs=1 (0x1d/0x0/0x0/0x0/0x0) type:speaker
[ 6.753360] snd_hda_codec_cirrus hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 6.753370] snd_hda_codec_cirrus hdaudioC0D0: hp_outs=1 (0x10/0x0/0x0/0x0/0x0)
[ 6.753379] snd_hda_codec_cirrus hdaudioC0D0: mono: mono_out=0x0
[ 6.753384] snd_hda_codec_cirrus hdaudioC0D0: inputs:
[ 6.753390] snd_hda_codec_cirrus hdaudioC0D0: Mic=0x18
[ 6.753397] snd_hda_codec_cirrus hdaudioC0D0: Internal Mic=0x19
I will provide any other information i can possibly give
I am also aware that the speakers wont sound exactly like MacOS.
Offline
have you tried uninstalling the drivers you installed?
Offline
have you tried uninstalling the drivers you installed?
Yes i uninstalled the drivers i installed, sorry forgot to mention.
Offline
Only the HPs are listed, no speakers.
=> https://wiki.archlinux.org/title/MacBookPro10,x#Audio ?
alsamixer -Dhw:0
Otherwise you'll probably control pipewire or pulseadio devices
Offline
Tried
alsamixer -Dhw:0
with and without the alsa-base.conf same result, it still lists PCM as the only channel.
Offline
quick update for anyone who is willing to help me (Please I am desperate) bluetooth headphones work.
Offline
Did you look at the link I posted??
wrt your "only PCM card"
aplay -lL
Offline
Did you look at the link I posted??
wrt your "only PCM card"
aplay -lL
null
Discard all samples (playback) or generate zero samples (capture)
lavrate
Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
Rate Converter Plugin Using Samplerate Library
speexrate
Rate Converter Plugin Using Speex Resampler
jack
JACK Audio Connection Kit
oss
Open Sound System
pulse
PulseAudio Sound Server
speex
Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
Plugin for channel upmix (4,6,8)
vdownmix
Plugin for channel downmix (stereo) with a simple spacialization
default
Default ALSA Output (currently PulseAudio Sound Server)
sysdefault:CARD=PCH
HDA Intel PCH, Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, Analog
Front output / input
surround21:CARD=PCH,DEV=0
HDA Intel PCH, Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
HDA Intel PCH, Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
HDA Intel PCH, Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
HDA Intel PCH, Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
HDA Intel PCH, Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
HDA Intel PCH, Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=PCH,DEV=0
HDA Intel PCH, HDMI 0
HDMI Audio Output
hdmi:CARD=PCH,DEV=1
HDA Intel PCH, HDMI 1
HDMI Audio Output
hdmi:CARD=PCH,DEV=2
HDA Intel PCH, HDMI 2
HDMI Audio Output
usbstream:CARD=PCH
HDA Intel PCH
USB Stream Output
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: Analog [ Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
yes i added
options snd-hda-intel model=mbp101
to my
/etc/modprobe.d/alsa-base.conf
I am also not sure what you mean by "wrt your 'only PCM card'"
the PCM channel in alsamixer is just a change i noticed one day. I was previously able to control the headphone and speaker channel thru alsamixer, i am not sure what i did. Maybe I installed pulseaudio-alsa or something.
Offline
systool -vm snd_hda_intel
Did the alsamixer behavior change before setting the model?
pacman -Qs 'pulse|wire'
You don't want to use pulseaudio (libpulse is gonna be required, that's ok) - remove and stop it.
Then
amixer -Dhw:0
Offline
systool -vm snd_hda_intel
Module = "snd_hda_intel"
Attributes:
coresize = "65536"
initsize = "0"
initstate = "live"
refcnt = "0"
srcversion = "D013762A6305E09C18D2FF0"
taint = ""
uevent = <store method only>
Parameters:
align_buffer_size = "-1"
bdl_pos_adj = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
beep_mode = "N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N"
ctl_dev_id = "N"
dmic_detect = "Y"
enable_msi = "-1"
enable = "Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y"
id = "(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
index = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
jackpoll_ms = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
model = "intel-mac-auto,(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
patch = "(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
pm_blacklist = "-1"
position_fix = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
power_save = "1"
power_save_controller= "Y"
probe_mask = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
probe_only = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
single_cmd = "-1"
snoop = "-1"
Sections:
No, alsamixer behavior didnt change before or after setting the model.
I -Rs'd the following: pavucontrol pulseaudio-alsa libwireplumber libpipewire waybar (requires libpipewire & libwireplumber) pulseaudio-bluetooth pulseaudio
Simple mixer control 'PCM',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 255 [100%] [0.00dB]
Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'IEC958',1
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',2
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Thank you for your help by the way
Offline
model = "intel-mac-auto,(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
but the suggested model is "mbp101"
Add "snd-hda-intel.model=mbp101" to the https://wiki.archlinux.org/title/Kernel_parameters - I guess snd-hda-intel is in the initramfs and you'd have to regenerate that to apply the modprobe.conf, the kernel parameter will always apply.
Offline
Ok, that seemed to work
Module = "snd_hda_intel"
Attributes:
coresize = "65536"
initsize = "0"
initstate = "live"
refcnt = "0"
srcversion = "D013762A6305E09C18D2FF0"
taint = ""
uevent = <store method only>
Parameters:
align_buffer_size = "-1"
bdl_pos_adj = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
beep_mode = "N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N"
ctl_dev_id = "N"
dmic_detect = "Y"
enable_msi = "-1"
enable = "Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y"
id = "(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
index = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
jackpoll_ms = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
model = "mbp101,(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
patch = "(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
pm_blacklist = "-1"
position_fix = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
power_save = "1"
power_save_controller= "Y"
probe_mask = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
probe_only = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
single_cmd = "-1"
snoop = "-1"
Sections:
Offline
Does it also work to make the system recognize the speakers?
Updated journal?
btw. next to the BT HPs (which don't count because that's basically just a different soundcard), does the built-in HP output work?
Offline
Does it also work to make the system recognize the speakers?
Updated journal?btw. next to the BT HPs (which don't count because that's basically just a different soundcard), does the built-in HP output work?
no, alsamixer still doesnt recognize speakers
dmesg | grep -i snd output (unfortunately i think its the same as when i first posted)
[ 6.715495] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 6.809157] snd_hda_codec_cirrus: loading out-of-tree module taints kernel.
[ 6.809171] snd_hda_codec_cirrus: module verification failed: signature and/or required key missing - tainting kernel
[ 6.904215] snd_hda_codec_cirrus hdaudioC0D0: CS4208: picked fixup for codec SSID 106b:0000
[ 6.905040] snd_hda_codec_cirrus hdaudioC0D0: autoconfig for CS4208: line_outs=1 (0x1d/0x0/0x0/0x0/0x0) type:speaker
[ 6.905048] snd_hda_codec_cirrus hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 6.905054] snd_hda_codec_cirrus hdaudioC0D0: hp_outs=1 (0x10/0x0/0x0/0x0/0x0)
[ 6.905058] snd_hda_codec_cirrus hdaudioC0D0: mono: mono_out=0x0
[ 6.905061] snd_hda_codec_cirrus hdaudioC0D0: inputs:
[ 6.905064] snd_hda_codec_cirrus hdaudioC0D0: Mic=0x18
[ 6.905067] snd_hda_codec_cirrus hdaudioC0D0: Internal Mic=0x19
no, the built in headphone jack doesnt work though i think it did at one time
Offline
hold on, why is snd_hda_codec_cirrus an OOT module??
installed these drivers
That's a "macbook12-audio-driver", why did you install that itfp and please remove it.
Offline
i installed it becuase the github description states it supports my exact model of macbook (Macbook 10,1) the 12 stands for 12 inch. and im not sure why it says that its OOT. I removed it right after the first reply told me to
Last edited by loratadineAbuser (2025-03-31 22:42:01)
Offline
It says OOT because the driver isn't from the kernel.
I removed it right after the first reply told me to
How?
https://wiki.archlinux.org/title/Dynami … ve_modules ?
dkms status
Remove it, what does the situation and journal look like w/o it?
Offline
dkms status returns nothing.
i used
# to uninstall the dkms feature run:
./install.cirrus.driver.sh -u
to uninstall the drivers
Offline
The module probably was copied into the initramfs, regenerate that and see whether it's still loading the OOT module.
Offline
yes, unfortunately.
[ 0.000000] Command line: initrd=\initramfs-linux.img root=UUID=ab048c67-0d3c-47f7-a0c3-f84fa98b2619 rw snd-hda-intel.model=mbp101
[ 0.034604] Kernel command line: initrd=\initramfs-linux.img root=UUID=ab048c67-0d3c-47f7-a0c3-f84fa98b2619 rw snd-hda-intel.model=mbp101
[ 6.188895] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 6.244104] snd_hda_codec_cirrus: loading out-of-tree module taints kernel.
[ 6.244113] snd_hda_codec_cirrus: module verification failed: signature and/or required key missing - tainting kernel
[ 6.337135] snd_hda_codec_cirrus hdaudioC0D0: CS4208: picked fixup for codec SSID 106b:0000
[ 6.337718] snd_hda_codec_cirrus hdaudioC0D0: autoconfig for CS4208: line_outs=1 (0x1d/0x0/0x0/0x0/0x0) type:speaker
[ 6.337725] snd_hda_codec_cirrus hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 6.337729] snd_hda_codec_cirrus hdaudioC0D0: hp_outs=1 (0x10/0x0/0x0/0x0/0x0)
[ 6.337732] snd_hda_codec_cirrus hdaudioC0D0: mono: mono_out=0x0
[ 6.337734] snd_hda_codec_cirrus hdaudioC0D0: inputs:
[ 6.337737] snd_hda_codec_cirrus hdaudioC0D0: Mic=0x18
[ 6.337739] snd_hda_codec_cirrus hdaudioC0D0: Internal Mic=0x19
Offline
modinfo snd_hda_codec_cirrus
pacman -Qikk linux
Offline
filename: /lib/modules/6.13.8-arch1-1/updates/dkms/snd-hda-codec-cirrus.ko.zst
description: Cirrus Logic HD-audio codec
license: GPL
srcversion: 3B378A3BEFDC7D5D111E1A5
alias: hdaudio:v10134213r*a01*
alias: hdaudio:v10134210r*a01*
alias: hdaudio:v10134208r*a01*
alias: hdaudio:v10134207r*a01*
alias: hdaudio:v10134206r*a01*
depends: snd-hda-codec,snd-hda-codec-generic,snd-hda-core
name: snd_hda_codec_cirrus
retpoline: Y
vermagic: 6.13.8-arch1-1 SMP preempt mod_unload
sig_id: PKCS#7
signer: DKMS module signing key
sig_key: 24:AF:9F:C5:26:EF:C9:4D:A2:7D:A0:85:E7:F5:A7:38:9F:76:B9:66
sig_hashalgo: sha512
signature: 7E:33:27:B2:44:E8:4C:A9:9B:3B:ED:62:CC:33:A0:24:56:85:6B:99:
AA:28:87:70:CC:16:AD:0A:E0:53:13:61:FD:62:52:51:CE:88:A3:26:
1A:8C:05:4C:B5:D1:E7:66:F1:64:85:B8:1C:44:E3:32:06:F5:F5:67:
11:E4:02:0B:5E:86:48:CA:C7:E8:F9:AC:DF:82:80:69:32:38:F2:45:
C2:39:8A:4F:F7:9E:1F:A0:64:9C:79:6D:23:80:08:8C:B9:FB:18:A6:
79:68:69:AE:4A:F1:40:08:E6:13:DC:0B:FA:AB:A9:3C:90:4A:34:76:
09:81:B3:72:EE:E6:DD:1B:27:09:74:B4:57:0F:40:DA:10:66:92:66:
1A:EF:82:34:AE:CB:33:6F:55:02:62:DE:59:6B:EB:CE:F7:31:F4:D9:
1F:B1:49:F2:B0:6D:AF:F2:0A:69:C4:E2:8A:9A:27:72:9C:82:1D:7F:
9E:87:5E:51:8C:B9:FA:1F:F3:24:EE:A3:81:73:06:6E:13:AA:6F:EB:
1E:50:AB:AD:62:9C:01:D3:36:2D:12:54:FA:6C:3B:0B:46:BC:6E:A0:
11:FC:4B:FE:23:85:F2:26:B3:F6:4F:1D:EE:CF:CA:15:2D:C0:17:67:
15:C2:9B:C4:D7:69:4B:BD:95:B4:3D:34:48:09:FD:E6
Name : linux
Version : 6.13.8.arch1-1
Description : The Linux kernel and modules
Architecture : x86_64
URL : https://github.com/archlinux/linux
Licenses : GPL-2.0-only
Groups : None
Provides : KSMBD-MODULE VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE
Depends On : coreutils initramfs kmod
Optional Deps : linux-firmware: firmware images needed for some devices [installed]
scx-scheds: to use sched-ext schedulers
wireless-regdb: to set the correct wireless channels of your country
Required By : None
Optional For : base
Conflicts With : None
Replaces : virtualbox-guest-modules-arch wireguard-arch
Installed Size : 138.17 MiB
Packager : Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Build Date : Sun 23 Mar 2025 12:17:30 PM CDT
Install Date : Mon 24 Mar 2025 03:11:19 AM CDT
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
warning: linux: /usr/lib/modules/6.13.8-arch1-1/kernel/sound/pci/hda/snd-hda-codec-cirrus.ko.zst (No such file or directory)
linux: 7419 total files, 1 altered file
Offline
filename: /lib/modules/6.13.8-arch1-1/updates/dkms/snd-hda-codec-cirrus.ko.zst
https://wiki.archlinux.org/title/Dynami … ve_modules
You probably uninstalled the dkms package/script before removing the module so remove it manually.
warning: linux: /usr/lib/modules/6.13.8-arch1-1/kernel/sound/pci/hda/snd-hda-codec-cirrus.ko.zst (No such file or directory)
And re-install the kernel to fix this.
Offline
My gratitude for you extends beyond the scope of words, thank you so much for sticking through this with me. I am not sure what I broke but you fixed it. The headphone jack works again. Now, would it be possible for me to try to re-install the macbook speaker drivers without messing everything up again?
Offline
The OOT driver you installed is specifically for a different macbook, I'd say you abandon that path.
Post a complete system journal so we know what we're at now, did you try to control "options snd-hda-intel model=mbp101" w/ the proper driver?
Offline