Headphones don't work after update

Hi all. So I’ve updated my Manjaro a few days ago and all of the sudden my headphones don’t work. They’re connected by jack, they’re not cordless.

I haven’t found a way to fix this, I havo truly no clue as to what to do right now. This is the information I could manage:

This is just some system info:

inxi -A
Audio:
  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio
    driver: snd_hda_intel
  Device-2: Intel 8 Series/C220 Series High Definition Audio
    driver: snd_hda_intel
  API: ALSA v: k6.6.8-2-MANJARO status: kernel-api
  Server-1: PulseAudio v: 16.1 status: active

I believe this are the drivers enabled:

sudo fuser -v /dev/snd/*
[sudo] contraseña para guille: 
                     USUARIO     PID ACCESO ORDEN
/dev/snd/controlC0:  guille     1400 F.... pulseaudio
/dev/snd/controlC1:  guille     1400 F.... pulseaudio

And the ALSA soundcard driver information:

sudo aplay -L 
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)
hdmi:CARD=HDMI,DEV=0
    HDA Intel HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA Intel HDMI, HDMI 1
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
    HDA Intel HDMI, HDMI 2
    HDMI Audio Output
usbstream:CARD=HDMI
    HDA Intel HDMI
    USB Stream Output
sysdefault:CARD=PCH
    HDA Intel PCH, ALC3232 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3232 Analog
    Front output / input
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3232 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3232 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3232 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3232 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3232 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3232 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
usbstream:CARD=PCH
    HDA Intel PCH
    USB Stream Output

I didn’t try anything because none of the problems I found online resemble my own.

Any help is very much appreciate it.

Ok,so I’ve tried restoring from a backup I had, but wasn’t old enough. Also tried cleaning and updating; I’ve:
Removed old stuff

pacman -Qdttq | pacman -Rs -

Cleaned cache

pacman -Sc

Then I tried to update

pacman -Syyu --noconfirm

And then remove PulseAudio for reinstallation

pacman -Rs pulseaudio

Nothing was fixed by doing this.

I did a lspci and got this:

lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:16.3 Serial controller: Intel Corporation 8 Series/C220 Series Chipset Family KT Controller (rev 04)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d4)
00:1c.1 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #2 (rev d4)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QM87 Express LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 04)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)
03:00.0 Network controller: Intel Corporation Wireless 7260 (rev 83)

00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)

00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 04)

Is it possible that this two drivers are in conflict?

I’ve just realized that I have a utility called jackd that manages the jack driver.

After going through the man pages I got to the point where I could choose the driver I wanted to use, so I chose Alsa. Which throw this error:

jackd -d alsa
jackdmp 1.9.22
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2023 Filipe Coelho.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
Could not open component .so '/usr/lib/jack/jack_firewire.so': libffado.so.2: cannot open shared object file: No such file or directory
Could not open component .so '/usr/lib/jack/jack_firewire.so': libffado.so.2: cannot open shared object file: No such file or directory
jack_get_descriptor : dll 
jack_get_descriptor returns null for 'jack_firewire.so'
Could not open component .so '/usr/lib/jack/jack_firewire.so': libffado.so.2: cannot open shared object file: No such file or directory
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
Failed to connect to session bus for device reservation: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead

To bypass device reservation via session bus, set JACK_NO_AUDIO_RESERVATION=1 prior to starting jackd.

Audio device hw:0 cannot be acquired...
Cannot initialize driver
JackServer::Open failed with -1
Failed to open server

Though I do not fully understand linux sound system, if you just want to hear sound with headphones, you don’t need Jack.

But if you want to use Jack, the easiest way is to use qjackctl.

You can connect from a sound source to your headphones visually like the screenshot above.

But maybe the first thing to diagnose is to check if your headphones are muted or not with pavucontrol or alsamixer.

Or cousult with

https://wiki.archlinux.org/title/PulseAudio/Troubleshooting

Is it possible that this two drivers are in conflict?

No. The two audio devices are for different uses

  • Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio – digital audio to HDMI/ DisplayPort
  • Intel 8 Series/C220 Series High Definition Audio – analog audio to 3.5mm jacks

Please post more information about ALSA audio settings for ALC3232 Analog audio device

amixer --card=PCH

If PulseAudio is not working as expected starting JACK pro-audio server will probably be counter-productive

Please post more information about PulseAudio configuration

pactl list cards

HI nikgnomic, thanks a lot for your corrections.

Here are the outputs:
For amixer --card=PCH

Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',1
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 0 [0%] [-65.25dB] [off]
  Front Right: Playback 0 [0%] [-65.25dB] [off]
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 'Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Beep',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 37 [59%] [10.50dB] [off]
  Front Right: Capture 37 [59%] [10.50dB] [off]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'
Simple mixer control 'Dock Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Dock Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 1
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Loopback Mixing',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'

And this one got an error pactl list cards

Error en la conexión: Conexión negada
pa_context_connect() falló: Conexión negada

I read that pacctl is the unility that controls a running PulseAudio sound server, is this a problem with PulseAudio, shoud I just uninstall it? and install it again?

Thanks so much!

If PulseAudio is not running, try testing audio playback direct to ALSA device

speaker-test -D hw:1,0 -c2 -l2 -t wav

Then delete the PulseAudio configuration in user home folder

rm ~/.config/pulse/

Reboot system and check PulseAudio systemd units

systemctl --user -l --no-pager status pulseaudio.socket pulseaudio.service

If pulseaudio.service is running without errors, try testing audio playback via PulseAudio

speaker-test -D pulse -c2 -l2 -t wav
1 Like

Hey nikgnomic. So I ran the tests and I have this:

When I ran this command: speaker-test -D hw:1,0 -c2 -l2 -t wav

There’s audio from the speakers, not the headset. I thought to check the config from the System Preferences menu and found that there are several audio profiles, so I thought to check all profiles against the command you shared with me. After selecting > Analog Stereo all the profiles disappeared.

Funny thing is that, while the icon doesn’t show to have any volume sound available:
image

If I run the command you shared with me I can still hear the output, but if I play a YouTube video I cannot.

I deleted the configured profile from the home directory.

I’m rebooting now.

After reboot the tray icon was fixed
image

Now, after running
systemctl --user -l --no-pager status pulseaudio.socket pulseaudio.service

I’ve got:

systemctl --user -l --no-pager status pulseaudio.socket pulseaudio.service
● pulseaudio.socket - Sound System
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.socket; enabled; preset: enabled)
     Active: active (running) since Sat 2024-01-06 15:23:07 -03; 3min 1s ago
   Triggers: ● pulseaudio.service
     Listen: /run/user/1000/pulse/native (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pulseaudio.socket

ene 06 15:23:07 lenovo systemd[1075]: Listening on Sound System.

● pulseaudio.service - Sound Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; **disabled**; preset: enabled)
     Active: active (running) since Sat 2024-01-06 15:23:13 -03; 2min 55s ago
TriggeredBy: ● pulseaudio.socket
   Main PID: 1469 (pulseaudio)
      Tasks: 7 (limit: 13960)
     Memory: 38.4M
        CPU: 417ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pulseaudio.service
             ├─1469 /usr/bin/pulseaudio --daemonize=no --log-target=journal
             └─1535 /usr/lib/pulse/gsettings-helper

ene 06 15:23:12 lenovo systemd[1075]: Starting Sound Service...
ene 06 15:23:13 lenovo systemd[1075]: Started Sound Service.

The profiles have return also; I have:

  • Analog entry stereo
  • Analog out stereo
  • Surround output 4.0
  • Surround output 4.0 + In Analog Stereo

This command runs fine with speakers:

speaker-test -D pulse -c2 -l2 -t wav

Now, this command returns an error when I disconnect the headsets, but only for a few seconds. After 3-5 seconds the command runs and the speakers make the test.

speaker-test -D hw:1,0 -c2 -l2 -t wav

This is the error I get.

Playback device is hw:1,0
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
Playback open error: -16,Device or resource busy

I have notice this output pulseaudio.service - Sound Service Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; **disabled**; preset: enabled) when executing systemctl --user -l --no-pager status pulseaudio.socket pulseaudio.service.
Is that disable something we should take into account? or not?

I found this in PulseAudio/Troubleshooting - ArchWiki

If one experiences no audio output via any means while using ALSA, attempt to unmute the sound card. To do this, launch alsamixer and make sure each column has a green 00 under it (this can be toggled by pressing m):

$ alsamixer -c 0

Which they are not. Only the master shows double zeros at the bottom.

Output stuck muted while Master is toggled

In setups with multiple outputs (e.g. ‘Headphone’ and ‘Speaker’), using plain amixer to toggle Master can trigger PulseAudio to mute the active output too, but it does not necessarily unmute it when Master is toggled back to be unmuted. [1] To resolve this, amixer must have the device flag set to ‘pulse’:

amixer -D pulse sset Master toggle

This will cause amixer to ask PulseAudio to do the toggling rather than toggling it directly. Because of this, PulseAudio will correctly unmute Master as well as any applicable output.

Could this break anything if I try it?

Using speaker-test to play audio direct to an ALSA device would only work if PulseAudio is not connected to audio device. After reboot when PulseAudio is connected to ALSA devices, speaker-test cannot connect to ALSA device that is busy

pulseaudio.service does not need to be enabled because it is controlled by pulseaudio.socket
more important is that both report as: active (running) and no errors warning messages

I would expect that if muting Master control of ALSA default audio server (PulseAudio) did NOT mute all ALSA playback devices some users would be complaining to developers that use of name Master is misleading

To mute/unmute one audio output, use the card level mixer controls (like in the citation link [1] ), for example:

amixer -q -c1 sset 'Headphone' unmute

Or

amixer -q -c PCH sset 'Speaker' unmute