[Gelöst] Stumm nach Neustart (essx8336)

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
donny
Beiträge: 56
Registriert: 11.08.2023 16:37:06

[Gelöst] Stumm nach Neustart (essx8336)

Beitrag von donny » 01.01.2024 11:38:46

Hey mein geo 140 laptop mit dem ESSX8336 codec startet jedes mal ohne Ton, über PulseAudio lässt sich der Ton nicht wiederherstellen, nur im alsamixer über das Terminal. Dort muss ich erst auf Soundkarte: default:1 umstellen und Headphone stumm wegmachen.

Nach einem Neustart wird dieser Wert (Headphone) wieder auf stumm gesetzt, wohingegen die Master Lautstärke gespeichert wird.

Hab vergeblich versucht mit alsactl store die Konfiguration zu speichern, was nicht das Problem zu sein scheint, denn die Master Lautstärke wird ja auch so nach einem Neustart übernommen.

Irgendwo gelesen dass PulseAudio dafür veranwortlich sein kann, jemand Ideen?

**Eckdaten im Alsamixer**
- Gerät: sof-essx8336
- Chip: Intel Geminilake HDMI
- /proc/asound/cards (Reihenfolge): 0 [Usb-Audio Camera] - 1 [sof-essx8336]
Zuletzt geändert von donny am 10.01.2024 23:43:35, insgesamt 3-mal geändert.
Ich habe gesprochen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Stumm nach Neustart

Beitrag von smutbert » 07.01.2024 00:42:38

Pulseaudio ist also installiert?
(Das stellt die Schalter- und Reglerposition nach der eigenen Konfiguration und Vorstellung wieder her und zwar benutzerspezifisch. was erklärt wieso das Wiederherstellen der Regler von alsa nicht weiterhilft.)

Was ist denn in Debianpavucontrol unter Konfiguration als Profil eingestellt?

Benutzeravatar
donny
Beiträge: 56
Registriert: 11.08.2023 16:37:06

Re: Stumm nach Neustart

Beitrag von donny » 07.01.2024 15:47:34

smutbert hat geschrieben: ↑ zum Beitrag ↑
07.01.2024 00:42:38
Pulseaudio ist also installiert?
(Das stellt die Schalter- und Reglerposition nach der eigenen Konfiguration und Vorstellung wieder her und zwar benutzerspezifisch. was erklärt wieso das Wiederherstellen der Regler von alsa nicht weiterhilft.)

Was ist denn in Debianpavucontrol unter Konfiguration als Profil eingestellt?
Ja Pulseaudio war mit der Xfce Installation direkt mit drauf.

Pavucontrol Konfigurationsprofil: Stereo Ausgabe
Ich habe gesprochen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Stumm nach Neustart

Beitrag von smutbert » 07.01.2024 22:22:39

Stehen unterschiedliche Profile für die eingebauten Lautsprecher, Kopfhörer, HDMI,... zur Wahl?

Ein Profil, das diesen Ausgang nicht stumm schaltet, wäre meiner Auffassung nach der beste Weg. Wenn es kein solches Profil gibt, dann liegt es allerdings eher am Kernel/Alsa.

Du brauchst jedenfalls mindestens Kernel 5.17 [2]. Also wäre es interessant welche Debian- und Kernelversion du installiert hast (für den Kernel einfach mit der Ausgabe von »uname -r« vergleichen). Zusätzlich sind Firmwaredateien (Debianfirmware-misc-nonfree)notwendig, abhängig von der Debianversion am besten aus den Backports.
(In [1] gibt es ein Skript um angepasste Firmwaredateien zu installieren, aber das ist bereits zwei Jahre alt und selbst wenn es aktueller wäre, würde ich es wenn überhaupt erst in Betracht ziehen wenn alle anderen Möglichkeiten ausgelotet sind.)

[1] https://github.com/gnickm/sof-essx8336-debian-fix
[2] https://ubuntuforums.org/showthread.php?t=2486443

Benutzeravatar
donny
Beiträge: 56
Registriert: 11.08.2023 16:37:06

Re: Stumm nach Neustart

Beitrag von donny » 08.01.2024 01:39:52

smutbert hat geschrieben: ↑ zum Beitrag ↑
07.01.2024 22:22:39
Stehen unterschiedliche Profile für die eingebauten Lautsprecher, Kopfhörer, HDMI,... zur Wahl?
1. Stereo Ausgabe 2. Stereo Ausgabe/Eingabe 3. Stereo Eingabe

Code: Alles auswählen

x@geo:~$ uname -r
6.1.0-17-amd64
Die lösung von gnickm ist schon überholt und "you may need to run this after every reboot" ist keine wirkliche Lösung.

Der beste Ansatz, den ich bisher aufgeschnappt habe ist es, sich einen autoload script zu schreiben, der die Einstellungen bei Alsa nach jedem Bootvorgang wiederherstellt. Konnte ich noch nicht ausprobieren, weil ich noch nicht weiß wie das geht. Es ist zwar Symptombehandlung aber in diesem Fall erscheint es mir ausreichend effektiv, solange es keine offizielle Fehlerkorrektur gibt.
Ich habe gesprochen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Stumm nach Neustart

Beitrag von smutbert » 08.01.2024 23:40:07

Bei einer geeigneten Lösung würde ich mich durchaus an gnickm orientieren, zumindest beim Pulseaudio-Teil: er baut nämlich soweit ich das überblicke Pulseaudio so um, dass es nur mehr bestimmte vordefinierte Audiogeräte verwendet. (So ziemlich dasselbe ist hier [1] als "PulseAudio as a minimal unintrusive dumb pipe to ALSA" beschrieben.)

Als erstes würde ich versuchen herauszufinden ob der Alsa-Teil des Workarounds mit dem laut schalten des Kopfhörerausgangs überhaupt notwendig ist oder ob Alsa nicht eh alles korrekt wiederherstellt (und das dann nur wieder von Pulseaudio stummgeschaltet wird).
Dazu würde ich mich auf einer der Textkonsolen als root anmelden und mit alsamixer nachsehen ob der Kopfhörerausgang stummgeschaltet ist. (Textkonsole und root, damit Pulseaudio nicht gestartet wird.)
Wenn er nicht stummgeschaltet ist, kann es mit dem Pulseaudioteil weitergehen, wenn doch braucht es auch schon für Alsa ein Skript.


[1] https://wiki.archlinux.org/title/PulseA ... pe_to_ALSA

Benutzeravatar
donny
Beiträge: 56
Registriert: 11.08.2023 16:37:06

Re: Stumm nach Neustart

Beitrag von donny » 09.01.2024 18:55:02

smutbert hat geschrieben: ↑ zum Beitrag ↑
08.01.2024 23:40:07
Dazu würde ich mich auf einer der Textkonsolen als root anmelden und mit alsamixer nachsehen ob der Kopfhörerausgang stummgeschaltet ist.
Ich kann nur(!) über das Terminal die Stummschaltung im alsamixer ändern.

Das workaround schaue ich mir am Wochenende an, wenn ich mehr Zeit hab, sieht aus als müsste man sich da erst reinfuchsen.
Ich habe gesprochen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Stumm nach Neustart

Beitrag von smutbert » 09.01.2024 21:27:25

Ich nehme an, dass du meinst, dass es nur mit alsamixer klappt? Es müsste dementsprechend mit jedem Programm funktionieren, das direkt die Schalter und Regler von Alsa bedient, wie es neben alsamixer, z. B. auch Debianqasmixer tut.

Was ich aber gemeint habe, ist dass bei einer Anmeldung als normaler Benutzer Pulseaudio automatisch gestartet wird, das den Kopfhörerausgang zweifellos wieder stumm schaltet. So lässt sich also nicht prüfen ob
Verlässlich anmelden ohne Pulseaudio zu starten geht also nur als root und das wiederum ist nur auf einer der Textkonsolen möglich.
Allerdings habe ich einen Teil von gnickms Workaround habe wohl falsch verstanden und glaube deshalb gar nicht mehr, dass es eine Rolle ob die Wiederherstellung der Reglerstellungen von Alsa korrekt funktioniert oder nicht.


Du könntest ja einfach einmal die Ausgabe von

Code: Alles auswählen

$ aplay -l
posten und schreiben wie der Regler genau heißt, bei dem du die Stummschaltung entfernen musst. Dann könnten wir analog zum gnickm-Workaround ein Skript schreiben, das die Regler richtig stellt.
Wenn du das dann bei jedem Login automatisch nach dem Start von Pulseaudio ausführen lässt, sollte es eigentlich ja schon funktionieren (ich würde dann dazu eine systemd user unit schreiben, die nach pulseaudio gestartet wird, aber erst einmal muss das Skript von Hand gestartet funktinieren).


Der Pulseaudioteil des Workarounds könnte die Lösung dann etwas robuster machen, damit nicht ein ungeplanter Neustart von Pulseaudio oä den Ausgang wieder stummschaltet, aber das kann man sich ja ansehen wenn es soweit ist.

Benutzeravatar
donny
Beiträge: 56
Registriert: 11.08.2023 16:37:06

Re: Stumm nach Neustart

Beitrag von donny » 09.01.2024 22:42:44

smutbert hat geschrieben: ↑ zum Beitrag ↑
09.01.2024 21:27:25

Code: Alles auswählen

$ aplay -l

Code: Alles auswählen

root@geo:/home/x# aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
Karte 1: sofessx8336 [sof-essx8336], Gerät 0: ES8336 (*) []
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: sofessx8336 [sof-essx8336], Gerät 5: HDMI 1 (*) []
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: sofessx8336 [sof-essx8336], Gerät 6: HDMI 2 (*) []
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: sofessx8336 [sof-essx8336], Gerät 7: HDMI 3 (*) []
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Ah das meintest du mit Textkonsolen, dachte Terminal. Ja Qasmixer hat auch funktioniert, aber hat sich ebenfalls zurückgesetzt.

Um zum Regler zu gelangen muss ich zuerst die richtige Soundkarte im alsamixer auswählen "default:1 - sof-essx8336" und das Element heißt Headphone, ist direkt die erste Auswahl ganz links.
Ich habe gesprochen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Stumm nach Neustart

Beitrag von smutbert » 09.01.2024 23:45:03

Dann versuch es einmal damit statt mit alsamixer

Code: Alles auswählen

amixer -D hw:sofessx8336 set Headphone unmute
(ein Befehl wäre sogar kurz genug um ihn bequem direkt in eine systemd unit zu schreiben)

Benutzeravatar
donny
Beiträge: 56
Registriert: 11.08.2023 16:37:06

Re: Stumm nach Neustart

Beitrag von donny » 10.01.2024 17:58:02

smutbert hat geschrieben: ↑ zum Beitrag ↑
09.01.2024 23:45:03
Dann versuch es einmal damit statt mit alsamixer

Code: Alles auswählen

amixer -D hw:sofessx8336 set Headphone unmute
(ein Befehl wäre sogar kurz genug um ihn bequem direkt in eine systemd unit zu schreiben)

Code: Alles auswählen

x@geo:~$ amixer -D hw:sofessx8336 set Headphone unmute
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 3
  Mono:
  Front Left: Playback 0 [0%] [-48.00dB] [on]
  Front Right: Playback 0 [0%] [-48.00dB] [on]
Stummschaltung wird abgeschaltet und der ton ist auf 0%, müsste man auch im autoload direkt auf maximale Lautstärke machen.
Ich habe gesprochen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Stumm nach Neustart

Beitrag von smutbert » 10.01.2024 22:55:33

ok, also zusätzlich:

Code: Alles auswählen

amixer -D hw:sofessx8336 set Headphone 100%
Wenn die beiden Befehle genügen, hätte ich für systemd user unit, z.B. mit einer »~/.config/systemd/user/soundworkaround.service« mit etwa diesem Inhalt angefangen

Code: Alles auswählen

[Unit]
Description=sound workaround
After=pulseaudio.service

[Service]
Type=oneshot
ExecStart=sh -c 'amixer -D hw:sofessx8336 set Headphone unmute ; amixer -D hw:sofessx8336 set Headphone 100%'

[Install]
WantedBy=default.target
Anstatt die Befehle manuell auszuführen, könntest du dann zumindest einmal mit (alles als normaler Benutzer)

Code: Alles auswählen

$ systemctl --user daemon-reload
$ systemctl --user start soundworkaround.service
testen und falls es funktioniert den Dienst mit

Code: Alles auswählen

$ systemctl --user enable soundworkaround.service
aktivieren, damit er nicht mehr händisch gestartet werden muss.

Ob das After=pulseaudio.service genügt, damit die Befehle erst ausgeführt werden, nachdem Pulseaudio mit dem Start fertig ist, wird sich dann noch herausstellen müssen.

Benutzeravatar
donny
Beiträge: 56
Registriert: 11.08.2023 16:37:06

Re: [Gelöst] Stumm nach Neustart

Beitrag von donny » 10.01.2024 23:42:20

Hat alles funktioniert wie es soll, danke, dass du dir die Zeit genommen hast smurtbert!

Falls das jemand mit dem gleichen Problem nachträglich durchliest, die autostart Datei habe ich mit nano angelegt:

Code: Alles auswählen

nano etc/systemd/user/soundworkaround.service
Ich habe gesprochen.

Antworten