Hallo Ihrs,
ich habe hier ein HP ENVY dv7 Laptop mit Beats Audio System. Das hat einen Basslautsprecher, der unter Windows wunderbar funktioniert. Leider nicht in der einfachen Linux-Installation.
Es gibt aber die Möglichkeit mit dem Programm hdajackretask die Option 'show unconnected pins' zu aktivieren, worauf man diverse Pins so einstellen kann, damit der Basslautsprecher auch basst. Daraufhin soll mit dem Button 'apply now' das ganze aktiviert werden. Das steht auf diversen Seiten im Internet (z.B. der Artikel 'HP Envy TouchSmart 15j' im Archlinux.org-Wiki) und soll auch wunderbar funktionieren. Natürlich nicht auf meinem Schleppi, das wäre ja auch zu einfach. Wenn ich den Button klicke, erscheint in der cli die Aufforderung das root-passwort einzugeben. Wenn ich das mache erscheint lediglich die Errormeldung:
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ====
Error executing command as another user: not authorized.
Da das Programm ein Script im tmp-Verzeichnis schreibt, habe ich das mal ins root-Verzeichnis kopiert und angepasst:
#!/bin/sh
echo "0x0a 0x04a11020" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/var/log/jack_errors.log
echo "0x0b 0x0421101f" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/var/log/jack_errors.log
echo "0x0c 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/var/log/jack_errors.log
echo "0x0d 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/var/log/jack_errors.log
echo "0x0e 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/var/log/jack_errors.log
echo "0x0f 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/var/log/jack_errors.log
echo "0x10 0x90170151" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/var/log/jack_errors.log
echo "0x11 0xd5a30130" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/var/log/jack_errors.log
echo "0x1f 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/var/log/jack_errors.log
echo "0x20 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/var/log/jack_errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/var/log/jack_errors.log
Wenn es als /usr/bin/jackscript.sh ausführbar gemacht habe und ausgeführt wird, wird die Soundkarte jedoch deaktiviert. Wenn die mit
alsactl init
reaktiviert wird funktioniert der Basslautsprecher -- wunderbar.
Nun möchte ich das nicht immer nach einem Systemstart neu machen müssen.
Also habe ich für systemd die Datei /etc/systemd/system/multi-user.targets.wants geschrieben:
[Unit]
Description=Jack correction script
#After=
[Service]
User=root
ExecStart=/usr/bin/jackscript.sh
RestartSec=1
[Install]
WantedBy=multi-user.target
Nutzt nichts!!!
Meine Frage ist nun:
Gibt es einen einfacheren Weg, die Initialisierung der Soundkarte so zu beeinflussen, dass Bassie gleich läuft oder
was habe ich mit der systemd-Datei falsch gemacht?
Liebe Grüße,
Sanni