[gelöst] nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
[gelöst] nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
Laptop mit interner Soundkarte, eingebaute Lautsprecher
Erstinstallation von Debian 9
keine weitere Software installiert, sofort nach Installation beginnt das Problem
Sound funktioniert reibungslos bis man das System in Suspend-to-RAM schickt,
Nach dem Aufwecken geht kein Sound mehr
Pavucontrol meint nach dem Aufwecken, daß die Lautsprecher unavailable sind, dafür der Kopfhörer plugged-in ist
nach einem Reboot ist der Sound wieder da, pavucontrol findet die Lautsprecher wieder und kein Kopfhörer
nach dem nächsten Suspend sind die Lautsprecher wieder weg und ein unsichtbarer Kopfhörer eingesteckt
Ratlos
wie kommt man dem Problem auf die Spur ?
Erstinstallation von Debian 9
keine weitere Software installiert, sofort nach Installation beginnt das Problem
Sound funktioniert reibungslos bis man das System in Suspend-to-RAM schickt,
Nach dem Aufwecken geht kein Sound mehr
Pavucontrol meint nach dem Aufwecken, daß die Lautsprecher unavailable sind, dafür der Kopfhörer plugged-in ist
nach einem Reboot ist der Sound wieder da, pavucontrol findet die Lautsprecher wieder und kein Kopfhörer
nach dem nächsten Suspend sind die Lautsprecher wieder weg und ein unsichtbarer Kopfhörer eingesteckt
Ratlos
wie kommt man dem Problem auf die Spur ?
Zuletzt geändert von snowy am 15.04.2018 23:55:42, insgesamt 1-mal geändert.
-
- Beiträge: 3791
- Registriert: 26.02.2009 14:35:56
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
Eventuell mal in den Stromspar-Einstellungen im Bios nachschauen, ob da was Richtung Sound ist. Ansonsten, soweit mir bekannt, kann man für den Wakeup aus dem Suspend auch Scripte laufen lassen. Hier mal einfach den Soundtreiber per rmmod entladen und mit modprobe wieder neu laden. Eventuell hilft das ja schon.
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
werde ich tun, aber Windows hatte bisher keine Sound-Probleme nach dem Aufwachenpferdefreund hat geschrieben:13.04.2018 09:15:54Eventuell mal in den Stromspar-Einstellungen im Bios nachschauen, ob da was Richtung Sound ist.
ich will aber Windows los werden
bevor ich jetzt suche, wo an welche Stelle ich so ein Skript einbinden müßte, könnte ich ja die Befehle mal in einem Terminal absetzen und schauen ob es überhaupt hilft.pferdefreund hat geschrieben:13.04.2018 09:15:54mal einfach den Soundtreiber per rmmod entladen und mit modprobe wieder neu laden. Eventuell hilft das ja schon.
Aber was genau müßte ich mit rmmod und modprobe machen ??? Bin in Linux noch nicht so richtig fit
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
Der erste Schritt wäre festzustellen welche Audiomodule geladen sind. Das sagt dir der Befehl
Code: Alles auswählen
# lsmod | grep "^snd"
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
AlsaMixer v1.1.3 erkennt ein
Gerät: HDA Intel PCH
Chip: Realtek ALC269VB
lsmod-Ausgabe
Gerät: HDA Intel PCH
Chip: Realtek ALC269VB
lsmod-Ausgabe
Code: Alles auswählen
snd_hda_codec_hdmi 49152 1
snd_hda_codec_realtek 90112 1
snd_hda_codec_generic 69632 1 snd_hda_codec_realtek
snd_hda_intel 36864 6
snd_hda_codec 135168 4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_core 86016 5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hwdep 16384 1 snd_hda_codec
snd_pcm 110592 6 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi
snd_timer 32768 1 snd_pcm
snd 86016 18 snd_hda_intel,snd_hwdep,snd_hda_codec,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek,snd_pcm
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
Das sind dieselben wie bei mir – die ersten 4 bis 5 der Liste würdest du denke ich entladen müssen
Habe es gerade bei mir ausprobiert und wegen der Abhängigkeiten untereinander nicht geschafft auch nur eines der Module geordnet zu entladen (erzwungenes entladen habe ich nicht versucht).
Wenn Pferdefreund nicht noch eine Idee für das Entladen der Module hat, würde ich glatt versuchen ob es nicht möglicherweise eine einfachere Lösung gibt.
Ändert sich zum Beispiel etwas, wenn du nach dem Aufwachen mit
Pulseaudio beendest, woraufhin es sich automatisch neu starten sollte?
Habe es gerade bei mir ausprobiert und wegen der Abhängigkeiten untereinander nicht geschafft auch nur eines der Module geordnet zu entladen (erzwungenes entladen habe ich nicht versucht).
Wenn Pferdefreund nicht noch eine Idee für das Entladen der Module hat, würde ich glatt versuchen ob es nicht möglicherweise eine einfachere Lösung gibt.
Ändert sich zum Beispiel etwas, wenn du nach dem Aufwachen mit
Code: Alles auswählen
$ pulseaudio -k
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
Der Restart von pulseaudio hat genau einmal eine Änderung bewirkt.
Daraufhin war der unsichtbare Kopfhörer weg, Lautspecher angeblich wieder angeschlossen, aber der Ton weiterhin nicht zu hören.
Erst ein Reboot hat den Ton wieder hervor gezaubert. Danach verändert ein Restart von pulseaudio überhaupt nichts mehr
nach einem Suspend bleibt der Ton weg und ein unsichtbarer Kopfhörer ist angeblich eingesteckt
Daraufhin war der unsichtbare Kopfhörer weg, Lautspecher angeblich wieder angeschlossen, aber der Ton weiterhin nicht zu hören.
Erst ein Reboot hat den Ton wieder hervor gezaubert. Danach verändert ein Restart von pulseaudio überhaupt nichts mehr
nach einem Suspend bleibt der Ton weg und ein unsichtbarer Kopfhörer ist angeblich eingesteckt
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
bin bei der Suche auf einen Hinweis gestossen:
Wenn ich diesen ausführe, kommen zwei Fehlermeldungen
ich verstehe die dabei genannte Datei 40263 leider nicht
Aber vielleicht kapiert ja jemand anders den Inhalt und es entwickelt sich daraus eine neue Idee
Code: Alles auswählen
alsactl init
Code: Alles auswählen
asus:~$ /usr/sbin/alsactl init
Found hardware: "HDA-Intel" "Realtek ALC269VB" "HDA:10ec0269,104313c7,00100100 HDA:80862805,80860101,00100000" "0x1043" "0x13c7"
Hardware is initialized using a generic method
/usr/share/alsa/init/default:263: value write error: Input/output error
/usr/share/alsa/init/default:263: value write error: Input/output error
Aber vielleicht kapiert ja jemand anders den Inhalt und es entwickelt sich daraus eine neue Idee
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
alsactl init stellt die Lautstärkeregler und Schalter des Mixers auf (soweit ich weiß hardwareunabhängige) Standardwerte, die in der Datei »/usr/share/alsa/init/default« hinterlegt sind. Im Fehler steht etwas von Zeile 263 und in dieser Zeile geht es offensichtlich um den Wert von "Capture Volume" also den Wert eines Aufnahmereglers.
Ich würde also vermuten, dass der Fehler harmlos ist und nichts mit dem Suspend-Problem zu tun hat.
Mich stört weniger, dass Pulseaudio zu den Kopfhörern umschaltet - ähnliche Bugs gab es in Pulseaudio bereits in früheren Versionen, sondern viel mehr, dass Pulseaudio meint die Lautsprecher wären nicht verfügbar. Und das ändert sich nun auch mit einem Neustart von Pulseaudio nicht mehr?
Dann klingt das nämlich weniger nach einem Problem von Pulseaudio sondern von Kernel/Treibern. Mach vielleicht noch einen anderen Test:
Leg – egal ob vor oder nach dem Suspend – einen neuen Benutzer an und melde dich nach dem Aufwachen aus dem Suspend als dieser Benutzer an. Besteht unter diesem Benutzer das Problem ebenfalls?
Ich würde also vermuten, dass der Fehler harmlos ist und nichts mit dem Suspend-Problem zu tun hat.
Mich stört weniger, dass Pulseaudio zu den Kopfhörern umschaltet - ähnliche Bugs gab es in Pulseaudio bereits in früheren Versionen, sondern viel mehr, dass Pulseaudio meint die Lautsprecher wären nicht verfügbar. Und das ändert sich nun auch mit einem Neustart von Pulseaudio nicht mehr?
Dann klingt das nämlich weniger nach einem Problem von Pulseaudio sondern von Kernel/Treibern. Mach vielleicht noch einen anderen Test:
Leg – egal ob vor oder nach dem Suspend – einen neuen Benutzer an und melde dich nach dem Aufwachen aus dem Suspend als dieser Benutzer an. Besteht unter diesem Benutzer das Problem ebenfalls?
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
okay, ausprobiert, der neue Benutzer hat auch keinen Soundsmutbert hat geschrieben:14.04.2018 10:59:36Dann klingt das nämlich weniger nach einem Problem von Pulseaudio sondern von Kernel/Treibern. Mach vielleicht noch einen anderen Test:
Leg – egal ob vor oder nach dem Suspend – einen neuen Benutzer an und melde dich nach dem Aufwachen aus dem Suspend als dieser Benutzer an. Besteht unter diesem Benutzer das Problem ebenfalls?
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
Verflixt, ich fürchte dann wäre tatsächlich Audiomodule vor dem suspend ent- und beim Aufwachen wieder laden ein geeigneter Ansatz. Ich hab aber wie gesagt momentan keine Idee wie man das sauber machen könnte.
Was mir sonst noch einfällt:
Ausprobieren ob die Moduloption power_save_controller eventuell für einen Reset des Audiocontrollers beim Suspend sorgt und so die Probleme beseitigt. Dazu legst du eine beliebige .conf-Datei in »/etc/modprobe.d«, zum Beispiel »/etc/modprobe.d/snd-powersave.conf« an und schreibst dort
hinein. Sicherheitshalber führst du danach noch
aus, damit die Änderungen auch in der initrd landen und startest neu. Ändert sich dann etwas am Verhalten?
und wenn das auch nichts hilft dieser Ansatz
https://www.reddit.com/r/archlinux/comm ... estarting/
und zwar die Antwort von ropid. Also einfach einmal
ausführen, dort sollte dann ein Intel HD Audio Controller auftauchen und mit der Adresse am Anfang der Zeile sollte man dann dieses Gerät aus dem System sozusagen entfernen und dann wieder neu erkennen können.
Am besten probierst du einfach einmal nach einem Suspend aus, ob das den gewünschten Effekt (und vielleicht irgendwelche unerwünschten Nebenwirkungen) hat, zum Beispiel (du musst natürlich die Adresse aus der lspci-Ausgabe verwenden)
Was mir sonst noch einfällt:
Ausprobieren ob die Moduloption power_save_controller eventuell für einen Reset des Audiocontrollers beim Suspend sorgt und so die Probleme beseitigt. Dazu legst du eine beliebige .conf-Datei in »/etc/modprobe.d«, zum Beispiel »/etc/modprobe.d/snd-powersave.conf« an und schreibst dort
Code: Alles auswählen
options snd_hda_intel power_save_controller=1
Code: Alles auswählen
# update-initramfs -u
und wenn das auch nichts hilft dieser Ansatz
https://www.reddit.com/r/archlinux/comm ... estarting/
und zwar die Antwort von ropid. Also einfach einmal
Code: Alles auswählen
$ lspci -bD
Am besten probierst du einfach einmal nach einem Suspend aus, ob das den gewünschten Effekt (und vielleicht irgendwelche unerwünschten Nebenwirkungen) hat, zum Beispiel (du musst natürlich die Adresse aus der lspci-Ausgabe verwenden)
Code: Alles auswählen
# echo 1 > "/sys/bus/pci/devices/0000:00:1b.0/remove"
# echo 1 > /sys/bus/pci/rescan
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
@Smutbert, Du bist genial
Interessanter Nebenaspekt. Der Remove+Rescan ist scheinbar nur einmalig nach einem Reboot notwendig. Alle weiteren Suspends behalten dann weiterhin die Ton-Ausgabe
Kommen wir damit nun der Problemursache auf den Grund oder nehmen wir dies als funktionsfähigen Workaround, im Sinne prophylaktisch noch einem Suspend ablaufen lassen?
Wobei sich dann hier für mich noch die Frage stellt, wie ich das wo am besten anstelle.
Im Moment habe ich die Commands immer als root ablaufen lassen, ich gehe ja mal davon aus, daß diese Commands kein anderer ausführen darf.
leider keine Änderung , aber ......smutbert hat geschrieben:14.04.2018 13:37:52Ausprobieren ob die Moduloption power_save_controller eventuell für einen Reset des Audiocontrollers beim Suspend sorgt und so die Probleme beseitigt. Dazu legst du eine beliebige .conf-Datei in »/etc/modprobe.d«, zum Beispiel »/etc/modprobe.d/snd-powersave.conf« an und schreibst dorthinein. Sicherheitshalber führst du danach nochCode: Alles auswählen
options snd_hda_intel power_save_controller=1
aus, damit die Änderungen auch in der initrd landen und startest neu. Ändert sich dann etwas am Verhalten?Code: Alles auswählen
# update-initramfs -u
genial, Ton ist wieder dasmutbert hat geschrieben:14.04.2018 13:37:52und wenn das auch nichts hilft dieser Ansatz
https://www.reddit.com/r/archlinux/comm ... estarting/
und zwar die Antwort von ropid. Also einfach einmalausführen, dort sollte dann ein Intel HD Audio Controller auftauchen und mit der Adresse am Anfang der Zeile sollte man dann dieses Gerät aus dem System sozusagen entfernen und dann wieder neu erkennen können.Code: Alles auswählen
$ lspci -bD
Am besten probierst du einfach einmal nach einem Suspend aus, ob das den gewünschten Effekt (und vielleicht irgendwelche unerwünschten Nebenwirkungen) hat, zum Beispiel (du musst natürlich die Adresse aus der lspci-Ausgabe verwenden)Code: Alles auswählen
# echo 1 > "/sys/bus/pci/devices/0000:00:1b.0/remove" # echo 1 > /sys/bus/pci/rescan
Interessanter Nebenaspekt. Der Remove+Rescan ist scheinbar nur einmalig nach einem Reboot notwendig. Alle weiteren Suspends behalten dann weiterhin die Ton-Ausgabe
Kommen wir damit nun der Problemursache auf den Grund oder nehmen wir dies als funktionsfähigen Workaround, im Sinne prophylaktisch noch einem Suspend ablaufen lassen?
Wobei sich dann hier für mich noch die Frage stellt, wie ich das wo am besten anstelle.
Im Moment habe ich die Commands immer als root ablaufen lassen, ich gehe ja mal davon aus, daß diese Commands kein anderer ausführen darf.
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
Also, dass es nur einmal notwendig ist, ist interessant. Ich würde es als Workaround nehmen, solange es nicht durch ein BIOS- oder Kernel-Update überflüssig wird (ich hätte bei dem beschriebenen Verhalten vor allem das BIOS in Verdacht, liege aber möglicherweise komplett falsch).
Ja, root ist notwendig und einbauen ließen sich die Befehle zum Beispiel in eine systemd-Unit, aber ich bin mir ein bisschen unsicher wie man das am geschicktesten macht. Denn im Link wird zwischen den beiden Befehlen eine Sekunde gewartet – ich nehme an es muss keine Sekunde sein, könnte mir aber schon vorstellen, dass eine kurze Wartezeit bis zum PCI-rescan wichtig ist.
Eventuell ließe sich das mit einer systemd.timer-Unit oder komplett anderes eleganter lösen, aber ich würde mangels besseren Wissens einfach ein kurzes Shellskript »/usr/local/bin/sound-workaround« mit dem Inhalt
schreiben, ausführbar machen
und mit einer systemd-unit »/etc/systemd/system/sound-workaround.service«
die du mit
für zukünftige Systemstarts aktivieren kannst.
Ja, root ist notwendig und einbauen ließen sich die Befehle zum Beispiel in eine systemd-Unit, aber ich bin mir ein bisschen unsicher wie man das am geschicktesten macht. Denn im Link wird zwischen den beiden Befehlen eine Sekunde gewartet – ich nehme an es muss keine Sekunde sein, könnte mir aber schon vorstellen, dass eine kurze Wartezeit bis zum PCI-rescan wichtig ist.
Eventuell ließe sich das mit einer systemd.timer-Unit oder komplett anderes eleganter lösen, aber ich würde mangels besseren Wissens einfach ein kurzes Shellskript »/usr/local/bin/sound-workaround« mit dem Inhalt
Code: Alles auswählen
#!/bin/sh
/bin/echo 1 > "/sys/bus/pci/devices/0000:00:1b.0/remove"
/bin/sleep 0.5
/bin/echo 1 > /sys/bus/pci/rescan
Code: Alles auswählen
# chmod +x /usr/local/bin/sound-workaround
Code: Alles auswählen
[Unit]
Description=Reset Onboardsound to work around suspend Bug
ConditionFileExecutable=/usr/local/bin/sound-workaround
[Service]
Type=oneshot
ExecStart=/usr/local/bin/sound-workaround
[Install]
After=sound.target
WantedBy=multi-user.target
Code: Alles auswählen
# systemctl enable sound-workaround.service
Zuletzt geändert von smutbert am 15.04.2018 22:52:37, insgesamt 1-mal geändert.
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
wenn man einen kleinen Schreibfehler korrigiert, wird es auch gestartet
3.Unterorder heißt nur system (ohne d)
Leider funktioniert diese Art des Workarounds nicht, denn meine Tests waren unvollständig. Die Befehle nützen nichts, wenn man sie direkt nach dem Booten ausführt.
Sie müssen nach einem ersten Suspend ausgeführt werden. Nach weiteren Suspends sind sie nicht mehr nötig, aber wohl auch nicht schädlich.
Kann man eine systemd-Unit auch in Abhängigkeit von einem Suspend (genauer nach/während einem Resume) starten.
Ich habe einen Hinweis darauf gefunden, aber nicht wirklich verstanden
https://unix.stackexchange.com/question ... -suspend-t
Code: Alles auswählen
mit einer systemd-unit »/etc/systemd/systemd/sound-workaround.service«
Leider funktioniert diese Art des Workarounds nicht, denn meine Tests waren unvollständig. Die Befehle nützen nichts, wenn man sie direkt nach dem Booten ausführt.
Sie müssen nach einem ersten Suspend ausgeführt werden. Nach weiteren Suspends sind sie nicht mehr nötig, aber wohl auch nicht schädlich.
Kann man eine systemd-Unit auch in Abhängigkeit von einem Suspend (genauer nach/während einem Resume) starten.
Ich habe einen Hinweis darauf gefunden, aber nicht wirklich verstanden
https://unix.stackexchange.com/question ... -suspend-t
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
Entschuldige den Tippfehler (und das obwohl ich mir die Pfadangaben 3 Mal durchgelesen habe bevor ich den Beitrag abgeschickt habe).
Immerhin wird es dadurch einfacher. Die systemd-Unit kannst du wieder deaktivieren und löschen und stattdessen das Skript leicht modifizieren und nach »/lib/systemd/system-sleep/« verschieben (ich frage mich gerade ob auch ein selbst erstelltes Verzeichnis »/etc/systemd/system-sleep/« funktionieren würde – eleganter wäre es unter /etc/...).
Skripte in diesem Verzeichnis werden beim suspend und resume aufgerufen und zwar beim Aufwachen mit der Option resume oder thaw, also könnte die Anpassung so aussehen (resume ist Aufwachen von Suspend2ram und thaw ist „auftauen“ von Suspend2disk)
edit:
Habe gerade wo gesehen, dass jetzt laut manpage statt "resume|thaw" "post" für das Aufwachen benutzt wird. Habe es ausgebessert und hoffe es stimmt...
Immerhin wird es dadurch einfacher. Die systemd-Unit kannst du wieder deaktivieren und löschen und stattdessen das Skript leicht modifizieren und nach »/lib/systemd/system-sleep/« verschieben (ich frage mich gerade ob auch ein selbst erstelltes Verzeichnis »/etc/systemd/system-sleep/« funktionieren würde – eleganter wäre es unter /etc/...).
Skripte in diesem Verzeichnis werden beim suspend und resume aufgerufen und zwar beim Aufwachen mit der Option resume oder thaw, also könnte die Anpassung so aussehen (resume ist Aufwachen von Suspend2ram und thaw ist „auftauen“ von Suspend2disk)
Code: Alles auswählen
#!/bin/bash
case "${1}" in
post)
/bin/echo 1 > "/sys/bus/pci/devices/0000:00:1b.0/remove"
/bin/sleep 0.5
/bin/echo 1 > /sys/bus/pci/rescan
;;
esac
Habe gerade wo gesehen, dass jetzt laut manpage statt "resume|thaw" "post" für das Aufwachen benutzt wird. Habe es ausgebessert und hoffe es stimmt...
Re: nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
supernach »/lib/systemd/system-sleep/« verschieben (ich frage mich gerade ob auch ein selbst erstelltes Verzeichnis »/etc/systemd/system-sleep/« funktionieren würde – eleganter wäre es unter /etc/...).
unter /lib/systemd/system-sleep funktioniert es bisher prima
ich glaube mit diesem Workaround kann ich prima leben und der letzte Windows-Rechner scheint endgültig auf Linux umgestellt
unter »/etc/systemd/system-sleep/« wird das Skript leider gar nicht aufgerufen
@smutberd vielen herzlichen Dank für die tolle Unterstützung
Re: [gelöst] nach Suspend kein Sound - (eingebaute) Lautsprecher unavailable - (nicht vorhandener) Kopfhörer plugged in
Der Workaround funktioniert scheinbar nun nicht mehr --> viewtopic.php?f=25&t=171144