Joined: 19 Mar 2015
|Posted: Sat Aug 04, 2018 7:59 pm Post subject: HP ENVY beats audio configuration (hdajackretask)
|I found some information on enabling my beats audio speakers on my laptop via the hdajackretask application form the alsa-tools (use="gtk") but when I try editing my pin configuration no settings are saved.
From https://gist.github.com/Brainiarc7/8ff198a5ac3f0050f68795233c4866d0 the application is supposed to make a new firmware entry in /lib/firmware, but after clicking "install boot override" there is no new files created. Likewise when clicking "remove boot override" the application says "No boot override currently installed".
I am running the application as root and everything else seems to be correct. I even checked my kernel to make sure options related to reconfiguring codecs dynamiclly and patching the pins are included in my kernel (they were by default).
Anyone have any suggestions? I am about to boot systemrescuecd and see if it is something related to my configuration of my laptop, or if it is something hardware related. I don't think it is hardware related since hdajackretask is not even attempting to write the file.
Edit:: After runnign strace on the application with -e write I noticed it is writing the files to /tmp/hda-jack-retask/ which includes the missing files and a script.sh
|# cat /tmp/hda-jack-retask-G9Q4MZ/script.sh
mv /tmp/hda-jack-retask-G9Q4MZ/hda-jack-retask.fw /lib/firmware/hda-jack-retask.fw
mv /tmp/hda-jack-retask-G9Q4MZ/hda-jack-retask.conf /etc/modprobe.d/hda-jack-retask.conf 2>>/tmp/hda-jack-retask-G9Q4MZ/errors.log
I assume this script is never being ran thus why the settings are not being saved?
I assume something similar may be happening when I click the "apply now' button since no changes can be seen sound wise. I will investigate further.
Edit2:: The "apply now" button also writes to /tmp. I am not sure which syscalls to hook to check to see if the bash script hdajackretask is running these bash files. It probably isnt...
Edit3:: Running the script provided by the "apply now" button does infact fix the audio output pins and I get the desired results. But when running the script created by the "install boot override" it moves the files into the directories, but the fix is not applied. I have no logs in dmesg regaurding hdajackretask or any of its firmwares patches it made being loaded at boot. The modules service is set to the boot run level so I'd assume all /etc/modprob.d/ files would be loaded.
Here are the contents of the two files:
| # cat /etc/modprobe.d/hda-jack-retask.conf
# This file was added by the program 'hda-jack-retask'.
# If you want to revert the changes made by this program, you can simply erase this file and reboot your computer.
options snd-hda-intel patch=hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw
|# cat /lib/firmware/hda-jack-retask.fw
0x111d76e0 0x103c1894 0
Now I know that the fixes are working when applied manually, I just need to get these firmware patches to load at boot.
If I need to I guess I could apply the patches via /etc/local.d/ on boot (since the manual patches are just writes to /sys/ devices), but I think the more "proper" way is to use this firmware and modprobe method.