I only have a single on-board sound card which is a Realtek ALC298 and I do not have any needs for advanced sound configurations. Just a working sound system to listen to youtube videos, watch movies etc... So far I've followed many online articles. To summarize all of which I've tried:
Figure out if channel(s) are muted. I used
alsamixer
and also checked thepavucontrol
, both of which show no muted channels. I repeated this step when was on 3rd step (read below) and new channels did show from time to time, but ultimately no sound.Figure out if it's ALSA or just PulseAudio issue. So I used
aplay -l
:
**** List of PLAYBACK Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: ALC298 Analog [ALC298 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 card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4] Subdevices: 1/1 Subdevice #0: subdevice #0
From there used a PCM formatted wav file aplay -D plughw:0,0 test.wav
which gave:
Playing WAVE 'test.wav' : Signed 32 bit Little Endian, Rate 44100 Hz, Stereo
But nothing! no sound nowhere, speakers or headphones. I conculded that it's an ALSA problem and not a PulseAudio issue, but I do have a doubt as PulseAudio daemon was running throughout this step. As an interesting side note, when I was doing this step the gnome sound settings showed the sound bars moving as if something was playing :D
- I found an article on kernel website about HDA audio and a kernel ability to dynamically reconfigure the audio codec without having to reboot the machine. I managed to find and use the
hdajackretask
utility which is part ofalsa-tools
repo and it provided me with a GUI. This utility writes the pin modifications touser_pin_configs
file (FYI verified this manually after reboot). However I could not figure out the right combination of pin reassignments. Following are the pins that can be reassigned:
0x12 0x13 0x14 0x17 0x18 0x19 0x1a 0x1d 0x1e 0x1f 0x21
- My idea here was to basically use
ALC269
model as I saw an interesting patch file when googling. Link is for rasp pi, but I figured it's worth a shot seeing theALC269
is a supported kernel HDA audio model. Although this did not change anything, perhaps someone can benefit from it.
Any help is appreciated here. I'm way beyond my linux skills.
PS: manjaro, linux56 although all distributions have the same issue with the sound card. I've installed almost every distro in the past a few months hoping sound would work.
Edit 1
Added a pastebin of alsa-info.sh
for more information.
user_pin_configs
are even applied by the kernel. If i could verify they are applied indeed, then I can just brute-force the pin combos. Sure it takes time and is painful, but it may work. How can i verify current pin values after setting theuser_pin_configs
and rebooting?0x18
can be reconfigured as headphones. I did try that, but it did not work which only raised my suspicion thatuser_pin_configs
are not applied after reboot. So really need a way to verify current pin valueshda-verb
utility and issuing a VREF change on 0x1a pin to change it from default HREZ (or whatever value it is) to 50, 80 or 100 fixes the headphones. For a while i wrote a systemd file to issue this command at startup, but eventually it stopped working (what a hack!!). I was hoping someone knowledgeable enough could point me in the right direction and I'd eventually make a patch for this chip.