Deaktivieren Sie die Kopfhörerbuchsenerkennung in pulseaudio

19

Ich habe einen zwielichtigen Kopfhöreranschluss an meinem Laptop, der nicht zuverlässig erkennt, wenn Kopfhörer / externe Lautsprecher angeschlossen sind. Dies bedeutet, dass der Ausgang ständig stummgeschaltet / nicht stummgeschaltet wird, was ziemlich ärgerlich ist

Wie kann ich pulseaudio so konfigurieren, dass die Buchsenerkennung deaktiviert wird (oder alternativ nur die Ausgabe über diese Buchse erzwingen)?

Ich gehe davon aus, dass die analog-output-headphones.conf bearbeitet werden muss, aber ich kann nicht herausfinden, wie das geht (analog-output.conf.common hilft nichts).

Ross
quelle
2
Haben Sie überlegt / versucht, pulseaudio zu entfernen und nur ALSA zu verwenden?
Goldlöckchen
Ja, aber ich mag die zusätzliche Kontrolle, die pulseaudio bietet. Außerdem bin ich mir sicher, dass es eine einfache Lösung gibt - ich kann einfach nicht herausfinden, was es ist.
Ross
Die Verwendung von ALSA würde die Lösung vereinfachen. Also würde ich mich für eine andere Buchse entscheiden. Wenn ich diese beiden Optionen vermeide, würde ich mich dafür entscheiden, den schuppigen Wagenheber zu reparieren (erfordert Lötkolben und etwas Erfahrung) :)
Elder Geek

Antworten:

7

Sie können versuchen, die Kopfhörerbuchse anzuhalten. So finden Sie den Index der Kopfhörerbuchse:

pactl list short sinks

Dann setzen Sie das Waschbecken aus:

pactl suspend-sink [SINK] 1|0

Wobei "SINK" der Index vom ersten Befehl ist und "1" angehalten wird und "0" nicht angehalten wird.

Edit: Sorry, habe die Situation falsch verstanden. Es wurde ein Arch-Thread gefunden , mit dem die automatische Umschaltung deaktiviert werden kann. Bearbeiten /etc/pulse/default.pa(gdamjan schlägt die Alternative vor ~/.config/pulse/default.pa), um die folgende Zeile zu entfernen:

load-module module-switch-on-port-available
zu Fuß
quelle
1
Danke, aber ich möchte die Kopfhörer nicht deaktivieren, sondern die Ausgabe durch sie erzwingen - auch wenn sie kein eingestecktes Kabel erkennen.
Ross
In Bezug auf die Deaktivierung: Lademodul-Modul-Switch-On-Port-verfügbar - Ich habe das versucht, aber es scheint keinen Unterschied zu machen.
Ross
1
Versuchen Sie es mit ~ / .config / pulse / default.pa
gdamjan
Ich habe versucht, den Ton über die Lautsprecher wiederzugeben, wenn ich ein Mikrofon anschließe (es ist ein Headset-Mikrofon - aber ich möchte, dass das Mikrofon die Lautsprechertöne für die Aufnahme aufnimmt). Als ich versuchte, den Schalter zu entfernen, konnte ich ihn (mit einem "pacmd set-sink-port" -Befehl) nur an den Lautsprecher ausgeben (über Kopfhörer wird kein Ton ausgegeben), aber der Ton wird immer noch nur aus dem Lautsprecher ausgegeben, wenn nichts ist in die Buchse eingesteckt. Arrrggghhhh ....
Anthony
5

Ich weiß nicht, wie (oder ob) dies direkt über PulseAudio selbst erfolgen kann, aber ich weiß, dass dies über das ALSA-Steuerelement mit dem Namen "Auto-Mute Mode" erfolgen kann, indem dieses Steuerelement deaktiviert wird (z. B. mit "alsamixer"). sollte verhindern, dass Ihr Ausgang automatisch stumm geschaltet wird, wenn etwas in die Frontbuchse eingesteckt wird.

Die Änderung auf diese Weise funktioniert auch dann, wenn auf Ihrem System PulseAudio ausgeführt wird, sofern ALSA als Backend verwendet wird (dies ist jedoch in den meisten Linux-Distributionen standardmäßig der Fall).

Wenn Sie 'alsamixer' verwenden, um diese Einstellung zu ändern, müssen Sie zuerst das richtige Hardwaregerät auswählen (drücken Sie F6), da das Standardgerät wahrscheinlich das virtuelle PulseAudio-Gerät ist, das nicht über den "Auto-Mute-Modus" verfügt. Steuerung.

Um diese Einstellung dauerhaft zu machen, führen Sie sie als root aus:

# alsactl store
hnsr
quelle
Vielen Dank, dass Sie Details zum Gerätewechsel über F6 eingegeben haben. Ich habe eine halbe Stunde in alsa und anderen Konfigurations- / Steuerungsdateien verbracht, um nach etwas zu suchen, das mit "AutoMute" zu tun hat, bis ich Ihren Kommentar gelesen habe. Ich hatte nicht daran gedacht, das Gerät zu wechseln.
Daniel
1

Angenommen, mindestens eine Ihrer Buchsen funktioniert noch ohne Fehler. Ich schlage vor, Sie beziehen sich auf diese Frage auf askubuntu. Anstatt von der fehlerhaften Audiobuchse abzuhängen , schlage ich vor, Sie verwenden den Mikrofoneingang für die Kopfhörer.

Poruri Sai Rahul
quelle
Ich glaube, ich habe das alles nicht so klar erklärt. Die Ausgabe über die Buchse ist in Ordnung. Aus irgendeinem Grund kann nicht festgestellt werden, ob ein Kabel eingesteckt ist oder nicht. Dies führt dazu, dass pulseaudio den Stream zufällig stummschaltet, da es denkt, dass der Plug entfernt wurde (wenn dies nicht der Fall ist).
Ross
1

Rennen pavucontrol. Wählen Sie im Menü "Konfiguration" die Option "Aus" für die integrierte Audiokarte.

iElectric
quelle
1

Nur für den Fall, dass dies für jemanden nützlich ist, werde ich beschreiben, wie ich mein Problem mit Front-Buchsen unter Ubuntu 14.04 gelöst habe

Ich meinen Fall das vordere Mikrofon war nicht richtig funktioniert, habe ich versuchte unmuting es in alsamixerund tausend möglichen Lösungen mehr, aber schließlich , was es gelöst war die Installation alsa-toolsund Verwendung hdajackretaskdas vordere Mikrofon als „internes Mikrofon“ einzurichten, dann alsamixermir nur hebt die Stummschaltung des internen Mikrofons und der internen Mikrofonverstärkungskanäle auf und passt deren Werte an (53 bei beiden in meinem Fall)

lordscales91
quelle
1

Ich hatte das Problem, dass die Kopfhörererkennung den Lautsprecher deaktiviert hat, der anscheinend an meiner Kopfhörerbuchse im Laptop angeschlossen ist. HDA-Informationen zu Fujitsu Siemens Amilo 1520 finden Sie hier.

Was Ihnen einen Hinweis geben sollte, ist, dass der Alsamixer auf Ihrer Soundkarte geöffnet ist und die Lautstärkeregler für Lautsprecher und Kopfhörer beeinflusst werden (beim Anschließen von Kopfhörern, Stummschalten von Lautsprechern und Aufheben der Stummschaltung von Kopfhörern und umgekehrt).

dann mit der von mir ausgewählten hdajackretask: grüner kopfhörer (rückseite) - override auswählen - und auf "interner lautsprecher" stellen

Sie können dann überprüfen, indem Sie die Kopfhörer tatsächlich ein- und ausstecken, ob sie für Ihre Konfiguration geeignet sind (die Dokumentation ist dürftig).

In meinem Fall hat dies funktioniert und ich habe auf die Schaltfläche "Boot Override installieren" geklickt. Starten Sie das System neu und arbeiten Sie mit Sound ...

(Ich würde wirklich gerne wissen, was es unter der Haube eingerichtet hat, werde das später herausfinden.)

Tjeerd Pinkert
quelle
1

Mein Problem ist Jacksense am Front-Port, der ständig auf "Kopfhörer" umschaltet (auch wenn der Front-Panel-Header nicht angeschlossen ist) und ein fehlerhaftes MSI-Motherboard, das mir die RMA verweigert hat. Auch wenn Jack Sense in der Konfiguration deaktiviert ist, indem es in default.pa auskommentiert wird. Es war eine schreckliche Arbeit, die Frontplatte zu benutzen und nur konstantes Knistern zu bekommen. Ich habe alle hier und überall in Google aufgeführten Umgehungsmöglichkeiten ausprobiert.

Ich habe hdajackretask ausprobiert, was auf Debian Stretch nicht funktionierte. Es musste jedoch nur / lib / firmware erstellt werden. Wenn das erledigt ist, kopiert das Boot-Override-Installationsskript, das es unter / tmp erstellt, die .fw-Datei korrekt dorthin.

/etc/modprobe.d/hda-jack-retask.conf enthält:

# 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

(was die Datei unter / lib / firmware erwartet,)

Ich bin nicht sicher, ob andere Optionen snd-hda-intel außer Kraft setzen oder stören. Versuchen Sie daher, diese zu deaktivieren, falls dies fehlschlägt.

Meine Firmwaredatei sieht so aus, ich bin mir nicht sicher, ob ich die Zeilengruppe [hint] verwenden könnte, da ich nur froh bin, die Sache zu nuken:

/lib/firmware/hda-jack-retask.fw

[codec]
0x10ec0892 0x1458a002 2

[pincfg]
0x11 0x99430130
0x12 0x4037c540
0x14 0x01014010
0x15 0x01011012
0x16 0x01016011
0x17 0x411111f0
0x18 0x01a19050
0x19 0x02a19060
0x1a 0x0181305f
0x1b 0x43f1413f
0x1c 0x411111f0
0x1d 0x4045e601
0x1e 0x01452140
0x1f 0x411111f0

[hints]
jack_detect=no

Ich kann diese Antworten nicht positiv bewerten oder kommentieren. Wenn Sie dies lesen und jede andere der aufgelisteten Lösungen wie ich ausprobiert haben, versuchen Sie Jack erneut mit der Aufgabe "nicht verbunden" zu beauftragen. Auf meiner hdajackretask hieß es "Green Headphone Front Side"

Russ
quelle
Ich habe einen Audio-Anschluss an der Vorderseite, der nicht über den Jack Detection Pin verfügt und daher immer als nicht eingesteckt angezeigt wird. Irgendwann behoben und diese Antwort ist die beste. Man kann die Einstellungen nicht anwenden, da pulseaudio wahrscheinlich die Karte verwendet und es überraschend schwierig ist, PA zu stoppen. Wenn Sie die erweiterte Außerkraftsetzung aktivieren, können Sie die Buchsenerkennung für jeden Port einzeln deaktivieren. Stellen Sie außerdem sicher, dass die Portpriorität des nicht erkannten Ports in PA niedriger ist als die der erkannten Ports. Andernfalls wird der Line-Out der Buchse niemals verwendet, da der defekte Kopfhörer immer angeschlossen zu sein scheint.
TrentP
0

Hier ist die absolut einfache, manuelle Umgehung, die bei mir funktioniert hat (Mint Debian Edition with Cinnamon):

  1. Öffnen Sie die Audioeinstellungen (diese erhalten Sie über das Lautstärkeregelungs-Widget oder über die Systemeinstellungen).
  2. Klicken Sie auf der Registerkarte "Standardausgabe" unter "Gerät" auf "Integrierte Audioausgabe".

Das ist es. Sie sind fertig.

Ich habe anderthalb Tage damit verbracht. Ja, Sie müssen das Gerät, das Sie verwenden möchten, jedes Mal manuell einstellen, aber für mich sind zwei Sekunden besser als ein paar Tage langes Suchen. Im besten Fall wird die Ausgabe auf den einen oder anderen Wert gesetzt und nur mit einem Neustart geändert . Ich habe keine Lösung für das Grundproblem der Flockendetektion gesehen.

Wichtig ist, dass der Testton immer für die Heap-Telefone oder die externen Lautsprecher funktioniert hat. In meinem Fall handelt es sich also um eine Flockendetektion. Das ist vermutlich nicht der universelle Fall. Ich habe die Symptome in meinem Fall an anderer Stelle genauer beschrieben .

mlncn
quelle
0

Bearbeiten /etc/pulse/default.pa

Kommentar folgt:

#load-module module-switch-on-port-available
#load-module module-suspend-on-idle

und entkommentiere die letzten beiden Zeilen:

set-default-sink output
set-default-source input

Jetzt sind Ihre Klinkenstecker nach dem Booten aktiv.

linuxmarc
quelle