it-swarm.com.de

Ubuntu 16.04 Kein Ton von den Lautsprechern, nur funktionierende Kopfhörer

Ich bin mit diesem Problem am Ende. Ich weiß, dass ich dieses Problem millionenfach gesehen habe, aber keine der Lösungen scheint zu funktionieren.

Ich habe einen ASUS-Laptop mit Windows 8.1 dual gebootet, von 15.10 auf 16.04 aktualisiert und die Lautsprecher nicht mehr verwendet. Die Soundkarte denkt ständig, dass die Kopfhörer angeschlossen sind, wie diese Screenshots belegen.

alsamixer

pavucontrol

Dies ist kein Hardwareproblem, da 1) der Sound unter Windows 8.1 funktioniert. 2) Ich kann die Lautsprecher zum Funktionieren bringen, indem ich die Kopfhörerbuchse mit hdajackretask deaktiviere (Einstellung überschreiben und dann auf "Nicht verbunden" setzen), aber dann die Hotkeys nicht verwenden kann um die Lautstärke zu ändern

Ich habe versucht, alsa neu zu laden und auch alsa zu löschen und neu zu installieren.

Ich plane, meine Windows 8-Partition trotzdem zu löschen. Ich sah hier: Kein Ton von Laptop-Lautsprechern in Ubuntu 14.04 nach dem Booten in Windows 8.1 dass Windows das Problem verursachen könnte. Wird das Löschen der Partition das Problem beheben?

Bearbeiten: Wie in dieser Frage vorgeschlagen, habe ich Hybrid Boot bereits deaktiviert.

8
jhutch

Ich hatte auch dieses Problem beim Upgrade meines Xubuntu 14.04 auf Xubuntu 16.04 (Kopfhörer erzeugten Ton, aber nicht die Lautsprecher). Ich habe eine HD Intel Soundkarte mit einem Realtek ALC259 Chip. Das Problem bestand weiterhin, wenn mit verschiedenen Kerneln von 3.13.X bis 4.10.X gebootet wurde.

Allerdings habe ich es behoben, und hier ist, wie:

Es ist wichtig zu verstehen, dass Pulseaudio (PA) das Standard-Soundkontrollsystem für Ubuntu und die meisten (alle?) Seiner Varianten ist. PA ist im Wesentlichen eine Überlagerung des ALSA-Soundsystems. Für jede in PA durchgeführte Aktion gibt es eine nachfolgende Reaktion in ALSA. Für jeden in PA definierten Ausgang (aka Port) gibt es eine definierte Anpassung an das ALSA-System. Diese Einstellung wird als "Mischweg" bezeichnet.

!!! WICHTIG !!!

Bevor Sie fortfahren, ist jetzt ein guter Zeitpunkt, um zu überprüfen, ob dies tatsächlich Ihr Problem ist, und es gibt keinen anderen Grund, warum Ihre Lautsprecher nicht funktionieren. Sie können dies sehr einfach tun, indem Sie den folgenden Test durchführen. (Wenn Sie an Ihrem Soundsystem herumgespielt haben, können Sie es vor dem Testen auf die Standardeinstellungen zurücksetzen.):

  1. Trennen Sie alle Kopfhörer oder andere Audiogeräte AUSSER den nicht funktionierenden Lautsprechern.
  2. Starten Sie die Wiedergabe einer Audiodatei, die normalerweise über Ihre Lautsprecher wiedergegeben wird, obwohl dies derzeit nicht der Fall ist. Dann,
  3. Öffnen Sie Ihr Terminal und führen Sie den Befehl aus:

    alsamixer
    

Sie sollten Folgendes sehen:

alsamixer Aufgrund von Unterschieden zwischen Soundkarten können sich Ihre Geräte geringfügig von denen auf dem Bild unterscheiden. In meinem Fall und bevor das Problem behoben wurde, sah mein Alsamixer genauso aus wie das obige Bild.

  1. Deaktivieren Sie alle Geräte, die derzeit stumm geschaltet sind (verwenden Sie die Taste 'm', um die Stummschaltung umzuschalten). Erhöhen Sie dann die Lautstärkeregler auf Geräten, die nicht auf 100% eingestellt sind.

Wenn Sie Ton aus Ihren Lautsprechern hören können, ist dieses Update für Sie!

Wenn Sie keinen Ton hören, kehren Sie zu "The Google" zurück und suchen Sie weiter. Diese Methode wird Ihnen NICHT helfen.


Wenn Sie den obigen Test erfolgreich abgeschlossen haben, müssen Sie jetzt mit den alsamixer-Einstellungen spielen, um Folgendes zu bestimmen:

  1. Der Lautstärkeregler des Geräts regelt die Lautstärke Ihrer Lautsprecher
  2. Welches der Geräte muss nicht stummgeschaltet sein, damit die Lautsprecher funktionieren? Möglicherweise müssen mehrere Geräte stummgeschaltet werden.

Sobald wir die ALSA-Einstellungen kennen, mit denen die Lautsprecher arbeiten, können wir diese Informationen verwenden, um die erforderlichen Änderungen an unseren PA-Mixer-Pfaden vorzunehmen.

In meinem Fall habe ich festgestellt, dass meine Kopfhörer und Lautsprecher in ALSA folgendermaßen verbunden sind:

  1. Meine Kopfhörerlautstärke wird vom "Kopfhörer" -Gerät gesteuert.
  2. Um Ton von meinen Kopfhörern zu erhalten, müssen die Geräte "Master" und "Headphone" nicht stummgeschaltet sein.
  3. Meine Lautsprecherlautstärke wird AUCH vom "Kopfhörer" -Gerät gesteuert. (Die Einstellung der ALSA-Lautsprecherlautstärke hat überraschenderweise keinen Einfluss auf die Lautstärke meines Lautsprechers.)
  4. Um Ton von meinen Lautsprechern zu erhalten, müssen die Geräte "Master" und "Speaker" nicht stummgeschaltet sein.

Der Standardmixerpfad des Lautsprechers in PulseAudio (PA) ging davon aus, dass meine Lautsprecher von meinen Kopfhörern unabhängig waren. Was, wie oben aus Beobachtung 3 hervorgeht, nicht der Fall war. Anschließend hat der Standardmischerpfad in PA für meine Lautsprecher die folgenden problematischen Änderungen in ALSA vorgenommen, wenn die Lautsprecherausgabe in PA ausgewählt wurde:

  1. Sank die Kopfhörerlautstärke auf 0.
  2. Stellen Sie das Lautsprechergerät als Lautstärkeregler ein.

In Anbetracht dessen, wie ich die zuvor beschriebene Verknüpfung meiner Lautsprecher und Kopfhörer mit ALSA beobachtet hatte, würden diese Änderungen an ALSA verhindern, dass Ton aus meinen Lautsprechern kommt.

Die Lösung für dieses Problem wird also durch Ändern des Mixerpfads des Lautsprechers erreicht.

Die PA-Mixer-Pfaddateien befinden sich in:

/usr/share/pulseaudio/alsa-mixer/path/

Um zu bestimmen, welche Mixer-Pfaddatei Ihre Lautsprecher steuert, müssen Sie:

  1. Stellen Sie sicher, dass Ihr Lautsprecherausgang in PA ausgewählt ist (d. H. Nicht Ihre Kopfhörer). enter image description here

  2. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:

    pactl list | grep 'Active Port.*output.*'
    
  3. Es sollte etwas ausgeben, das so aussieht:

    Aktiver Port: Audiotyp - Ausgabe -Gerät

d.h.

enter image description here

Der "aktive Port" ist der PA-Port, der derzeit die ALSA-Einstellungen steuert. Da Sie Ihren Lautsprecher bereits als PA-Ausgang ausgewählt haben, werden Sie über diesen Ausgang des Terminalbefehls aufgefordert, die Mixer-Pfaddatei zu bearbeiten Audiotyp - Ausgang -Gerät. Conf. In meinem Fall war die Mixer-Pfaddatei analog-output-speaker.conf.

Nachdem wir die richtige Mixer-Pfad-Datei haben, müssen wir unsere Änderungen vornehmen.

HINWEIS: In diesem Ordner mit den Mixerpfaden befindet sich eine Datei mit dem Namen 'analog-output.conf.common'. Der Inhalt dieser Datei erklärt, wie die Mixer-Pfaddateien interpretiert werden. Wenn Sie die folgenden Änderungen verstehen möchten, empfehle ich dringend, diese Datei zu lesen, bevor Sie Ihre Mixer-Pfade bearbeiten!

Jede Mixer-Pfaddatei enthält zahlreiche "Elemente". Idealerweise gibt es in jeder der Dateien ein Element, das jedes ALSA-Gerät auf Ihrem Computer darstellt. Es gibt wahrscheinlich Elemente, die Sie nicht so gut haben. Das ist normal.

In meinem Fall musste ich die Headphone- und Speaker-Elemente im Mixer-Pfad für die analog-output-speaker.conf folgendermaßen ändern:

  1. Erlauben Sie der PA-Lautstärke, die Kopfhörer-ALSA-Lautstärke anzupassen.

Original:

[Element Headphone]
switch = off
volume = off

Bearbeitet:

[Element Headphone]
switch = off
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
  1. (Optional) Schalten Sie die Lautsprecherlautstärke aus und verhindern Sie, dass die PA-Lautstärke die ALSA-Lautstärke beeinflusst. (Wenn Sie dies nicht tun, wird Ihr Sound weiterhin funktionieren, aber die Lautsprechereinstellungen in ALSA werden ungewollt herumspringen.)

Original:

[Element Speaker]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

Bearbeitet:

[Element Speaker]
required-any = any
switch = mute
volume = off

Starten Sie dann PA neu, indem Sie Folgendes ausführen:

pulseaudio -k && pulseaudio --start

Voilà!

7
notorious.dds