I manage to make everything work, I’ll give you some details about what I did:
First, I knew that by default the headset was working just fine.
Second, I knew that if I created a file under /etc/modprobe.d/alsa-base.conf
with the following: options snd-hda-intel model=asus-zenbook
I was able to make the speakers work.
So, I decided to create a dump of the codecs (with the headphones plugged) before and after I applied the asus-zenbook
.
To create the dump I booted my pc and did the following (as root):
echo 1 |sudo tee /sys/module/snd_hda_codec/parameters/dump_coef
cat /proc/asound/card0/codec#0 > lin_codec_auto-dump
Then I modified the /etc/modprobe.d/alsa-base.conf
and added the line options snd-hda-intel model=asus-zenbook
and repeated the proccess above:
echo 1 |sudo tee /sys/module/snd_hda_codec/parameters/dump_coef
cat /proc/asound/card0/codec#0 > lin_codec_asus_zenbook-dump
Then I commented the line I added in /etc/modprobe.d/alsa-base.conf
to leave everything as it originally was, then rebooted.
I performed a vimdiff between the 2 files vimdiff lin_codec_auto-dump lin_codec_asus_zenbook-dump
and found the following:
The Coeff for the Node 0x20 were different:
Coeff 0x0f: 0x7774 | Coeff 0x0f: 0x7778
Coeff 0x40: 0x8800 | Coeff 0x40: 0x0800
The default connection for Nodes 0x21 and Node 0x17 were different
Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
...
Connection: 3
0x02 0x03* 0x06
vs
Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
...
Connection: 3
0x02 0x03 0x06*
Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
...
Connection: 2
0x02* 0x03
vs
Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
...
Connection: 2
0x02 0x03*
To fix the Coeff I used these commands:
hda-verb /dev/snd/hwC0D0 0x20 0x500 0x0f
hda-verb /dev/snd/hwC0D0 0x20 0x400 0x7778
hda-verb /dev/snd/hwC0D0 0x20 0x500 0x40
hda-verb /dev/snd/hwC0D0 0x20 0x400 0x0800
And suddenly the speakers started to work and if I connect the headset it works perfectly (both mic and headphones)
But I still have 2 issues:
-
If I play something, for example, a video on youtube and I execute those commands the speaker works but once I close the tab and reopen to play something else I have to execute those commands again.
-
I have to execute those commands after every reboot.