Ok, your Codec looks good. Here's the pin node of your headphone:
Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Control: name="Headphone Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x80 0x80]
Pincap 0x0001001c: OUT HP EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x04211020: [Jack] HP Out at Ext Right
Conn = 1/8, Color = Black
DefAssociation = 0x2, Sequence = 0x0
Pin-ctls: 0xc0: OUT HP
Unsolicited: tag=01, enabled=1
Power states: D0 D1 D2 D3 EPSS
Power: setting=D3, actual=D3
Connection: 2
0x02 0x03*
That says you have an ALSA control "Headphone Playback Switch", which is currently muted. Unmute it in alsamixer
(press right arrow until you see it, select it, press m), and you should hear something, or at least get an additional port in pavucontrol
that you can select to hear something. It also says that it can detect plug events, and currently it's plugged in. To verify that the detection work, run evtest
as root, pick the one that looks most similar to "HDA Intel PCH Headphone", and remove/plug in the headphone. You should see the events.
If unmuting the Headphone Playback Switch control doesn't work, please add the output of amixer -c0 contents
to the pastebin. One possible complication is that the headphone has an external amplifier ("EAPD"), and that is sometimes controlled by the BIOS or SMM firmware.
Edit: Ok, next step is to make sure the external amplifiers don't interfere. There are cases when the external amplifiers don't come up after hibernation etc. So completely cold boot your laptop with the headphones already plugged in if you haven't done so before, and try directly after boot before doing anything else. I.e., make sure Headphone Playback Switch
and Headphone Playback Volume
are unmuted. Also make sure in pavucontrol
the stream is routed to the correct sink.
Additionally, please provide again the output of pacmd list-sinks
in the pastebin after unmuting.
Last thing to try is to enable Auto-Mute Mode
, unplug headphones, save a copy of amixer -c0 contents
in a temporary file, plug in headphones, again save amixer -c0 contents
in a different file, and compare with diff -u
.
aplay -l
. Further steps: (2) Check inalsamixer
if anything is muted (MM
instead ofOO
, make sure to select right card) that shouldn't be. (3) Check inpavucontrol
in the Output Devices tab if there's a port for headphones. Check in the Configuration tab if another configuration helps. For information, you can put the output ofpacmd list-sinks
in a pastebin. (4) If neither port nor configuration help, put output ofcat /proc/asound/card*/codec\#*
in a pastebin. – dirkt Mar 19 '17 at 10:26-l
(ell, like list), not-1
(one). (3) Even if nothing is plugged in, normally it's possible to unmute headphones and enable the sound output. I don't know Linux Mint, so I'm not sure what "sound options" in whatever GUI see are based on, but missing options there don't mean anything, and you should be able to switch using lower-level programs. Unless there's a quirk in how your chipset deals with headphones which ALSA doesn't realize, but we'll see this in the output ofcodec
. – dirkt Mar 19 '17 at 17:12