This randomly started happening today. Yesterday I opened up my laptop to clean it out. I also disconnected the CMOS battery cable by mistake.
When I open alsamixer in a terminal, the following things happen when I try to control the channels:
Controlling the 'PCM' channel is the only way for me to change the volume.
Using the up/down arrow keys when selecting the master channel, it changes the numbers but doesn't actually change the volume. Even weirder: controlling the master volume mutes it instead. It also mutes the headphone channel, but not the speaker channel.
Unmuting the master channel by pressing 'M' doesn't bring the audio back. To do that, I have to press Fn+F1, which is bound to
pactl set-sink-mute 0 togglein sxhkdrc (using bspwm).Using Fn+F2/F3 (bound to
pactl set-sink-volume 0 -/+ 5%) to decrease/increase changes the master channel but doesn't change the audio, but also doesn't mute it.(un)Muting the headphone channel doesn't do anything to the audio. Increasing/decreasing the headphone channel doesn't change the volume.
Muting the master channel also mutes the headphone channel, but unmuting the master channel doesn't unmute the headhpone channel.
I can't get the speakers to work at all.
When I lower the master channel using the function keys all the way to 0, the headphone channel goes down as well. When the headphone channel gets to 0, it mutes only the right channel (wtf?).
Everything works in Windows (I did have a problem with audio drivers in Windows but a reboot fixed it) and in Ubuntu 18.10 on a USB live stick. I'm on a laptop (Lenovo Legion Y520) running Arch Linux. According to alsamixer I'm using the HDA Intel PCH soundcard and Realtek ALC233 chip.
EDIT: I saw in pavucontrol that I have two audio outputs: Headphones and Speakers. Next to speakers, it says 'unavailable'.
EDIT: dmesg: https://pastebin.com/YUr4MyDf
output of ls /proc/asound/card*/codec*:
/proc/asound/card0/codec#0
/proc/asound/card0/codec#2