Wyłącz wykrywanie gniazda słuchawkowego w pulseaudio

19

Mam podejrzany port słuchawek na laptopie, który nie wykrywa w sposób niezawodny, kiedy podłączone są słuchawki / głośniki zewnętrzne. Oznacza to, że wyjście jest ciągle wyciszane / nie wyciszone, co jest dość denerwujące

Jak skonfigurować pulseaudio, aby wyłączyć wykrywanie gniazda (lub alternatywnie po prostu wymusić wyjście przez to gniazdo)?

Zakładam, że będzie to wymagało edycji analogowo-wyjściowych-słuchawek.conf, jednak nie mogę wymyślić, jak to zrobić (analog-output.conf.common nie pomaga).

Ross
źródło
2
Czy rozważałeś / próbowałeś usunąć pulseaudio i po prostu używasz ALSA?
złotowłosa
Tak, ale lubię dodatkową kontrolę, jaką daje pulseaudio. Poza tym jestem pewien, że istnieje proste rozwiązanie - po prostu nie mogę pojąć, co to jest.
Ross
Użycie ALSA uprościłoby to rozwiązanie. Więc zdecydowałbym się użyć innego jacka. Unikając obu tych opcji, wybrałbym naprawę łuszczącego się podnośnika (wymaga lutownicy i trochę doświadczenia) :)
Starszy Geek

Odpowiedzi:

7

Możesz spróbować zawiesić gniazdo słuchawkowe. Aby znaleźć indeks gniazda słuchawkowego:

pactl list short sinks

Następnie zawiesić zlew:

pactl suspend-sink [SINK] 1|0

Gdzie „SINK” jest indeksem pierwszego polecenia, a „1” zawiesza się, a „0” zawiesza.

Edycja: Przepraszam, źle zrozumiałem sytuację. Znaleziono wątek Arch, który ma metodę wyłączenia automatycznego przełączania. Edytuj /etc/pulse/default.pa(gdamjan sugeruje alternatywę ~/.config/pulse/default.pa), aby usunąć następujący wiersz:

load-module module-switch-on-port-available
stopić
źródło
1
Dzięki, ale nie chcę wyłączać słuchawek, a raczej wymuszać na nich wyjście - nawet jeśli nie wykryją podłączonego kabla.
Ross
Odnośnie wyłączenia: moduł obciążenia moduł-włącz-port-dostępny - próbowałem tego, ale wydaje się, że to nie ma znaczenia.
Ross
1
aletrancyjnie spróbuj ~ / .config / puls / default.pa
gdamjan
Próbowałem to uzyskać, aby dźwięk dochodził przez głośniki po podłączeniu mikrofonu (jest to mikrofon zestawu słuchawkowego - ale chcę, aby mikrofon przechwytywał dźwięki głośników do nagrywania). Kiedy próbowałem usunąć przełącznik, mogę go uzyskać (za pomocą polecenia „pacmd set-sink-port”), aby wyprowadzał sygnał tylko do głośnika (nie słychać dźwięku w słuchawkach), ale dźwięk będzie nadal wychodził z głośnika, gdy nic jest podłączony do gniazda. Arrrggghhhh ....
Anthony
5

Nie wiem, jak (lub czy) można to zrobić bezpośrednio za pomocą samego PulseAudio, ale wiem, że można to zrobić za pomocą kontrolki ALSA o nazwie „Tryb automatycznego wyciszania”, odznaczając tę ​​kontrolę (na przykład za pomocą „alsamixer”) powinien zapobiec automatycznemu wyciszeniu sygnału wyjściowego, gdy coś zostanie podłączone do przedniego gniazda.

Zmiana w ten sposób będzie działać, nawet jeśli twój system działa PulseAudio, o ile używa ALSA jako backendu (ale myślę, że tak jest w większości dystrybucji Linuksa).

Jeśli użyjesz „alsamixer” do zmiany tego ustawienia, musisz najpierw wybrać odpowiednie urządzenie sprzętowe (naciśnij F6), ponieważ domyślnym urządzeniem będzie prawdopodobnie urządzenie wirtualne PulseAudio, które nie ma „Trybu automatycznego wyciszania” kontrola.

Aby ustawić to ustawienie na stałe, uruchom jako root:

# alsactl store
hnsr
źródło
Dziękujemy za podanie szczegółów na temat zmiany urządzenia za pomocą F6. Spędziłem pół godziny w alsa i innych plikach konfiguracyjnych / kontrolnych, próbując znaleźć coś związanego z „AutoMute”, aż przeczytałem twój komentarz, nie pomyślałem o zmianie urządzenia.
Daniel
1

zakładając, że przynajmniej jeden z twoich gniazd nadal działa bezbłędnie, sugeruję, abyś zapoznał się z tym pytaniem na askubuntu - zamiast zależeć od wadliwego gniazda audio, sugeruję, abyś używał mikrofonu w porcie słuchawek.

Poruri Sai Rahul
źródło
Chyba nie wyjaśniłem tego tak jasno. Wyjście z gniazda jest w porządku. Z jakiegokolwiek powodu istnieje problem z wykryciem, czy kabel jest podłączony czy nie. Prowadzi to do losowego wyciszenia strumienia przez pulseaudio, ponieważ uważa, że ​​wtyczka została usunięta (jeśli nie została).
Ross
1

Uruchom pavucontrol. W menu „Konfiguracja” wybierz opcję „Wył.” Dla wbudowanej karty dźwiękowej.

iElectric
źródło
1

Na wypadek, gdyby było to przydatne dla kogoś, opiszę, w jaki sposób rozwiązałem problem z przednimi gniazdami w systemie Ubuntu 14.04

Wydaje mi się, że przedni mikrofon nie działał poprawnie, próbowałem go wyciszyć alsamixeri tysiąc innych możliwych rozwiązań, ale w końcu udało się go zainstalować alsa-toolsi użyć, hdajackretaskaby ustawić przedni mikrofon jako „wewnętrzny mikrofon”, a potem po alsamixerprostu wyciszono mikrofon wewnętrzny i kanały wzmocnienia mikrofonu wewnętrznego i dostosowano ich wartości (53 w obu przypadkach)

lordscales91
źródło
1

Miałem problem polegający na tym, że wykrywanie słuchawek wyłączało głośnik, który najwyraźniej jest podłączony do mojego gniazda słuchawkowego w laptopie. HDA-intel na Fujitsu Siemens Amilo 1520 tutaj.

To, co powinno dać ci wskazówkę, to otworzyć alsamixer na karcie dźwiękowej i zobaczyć, jak wpływają na głośność głośnika i słuchawek (po podłączeniu słuchawek, wyciszeniu głośnika i wyciszeniu słuchawek i odwrotnie).

następnie za pomocą hdajackretask wybrałem: zielone słuchawki (z tyłu) - wybierz nadpisanie - i ustaw na „głośnik wewnętrzny”

możesz wtedy sprawdzić, podłączając i wyjmując słuchawki, czy to działa w twojej konfiguracji (dokumentacja jest skromna).

W moim przypadku zadziałało i kliknąłem przycisk „Zainstaluj zastąpienie rozruchu”. Uruchom ponownie system i działaj dźwięk ...

(Naprawdę chciałbym wiedzieć, co ustawił pod maską, dowie się o tym później).

Tjeerd Pinkert
źródło
1

Moim problemem jest jacksense na przednim porcie przełączające się stale na „słuchawki” (nawet gdy nagłówek panelu przedniego nie jest podłączony) i wadliwa płyta główna MSI, na którą odmówili mi RMA. Nawet jeśli funkcja wyczuwania wtyczki jest wyłączona w konfiguracji, komentując ją w default.pa. Strasznym obejściem było używanie panelu przedniego i ciągłe trzaskanie. Wypróbowałem wszystkie obejścia wymienione tutaj i wszędzie w Google.

Próbowałem hdajackretask, który nie działał na Debian Stretch, jednak wszystko, czego potrzebowałem, to / lib / firmware do utworzenia. Kiedy to zrobisz, skrypt instalacyjny zastępujący rozruch tworzy w / tmp poprawnie kopiuje tam plik .fw.

/etc/modprobe.d/hda-jack-retask.conf zawiera:

# 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

(który oczekuje pliku w katalogu / lib / firmware)

Nie jestem pewien, czy inne opcje snd-hda-intel zastępują je lub przeszkadzają, więc spróbuj je wyłączyć, jeśli się nie powiedzie.

Mój plik oprogramowania układowego wygląda tak: nie jestem pewien, czy mógłbym po prostu użyć zwrotki [podpowiedzi], ponieważ jestem szczęśliwy, że mogę to powiedzieć:

/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

Nie mogę głosować za tymi odpowiedziami ani komentować ich. Jeśli czytasz to i wypróbowałeś wszystkie inne rozwiązania, jakie mam, spróbuj ponownie przypisać jack do „brak połączenia”. Na moim hdajackretask nazywało się to „Green Headphone Front Side”

Russ
źródło
Mam port audio na panelu przednim, który nie ma styku wykrywania gniazda, dlatego zawsze jest wyświetlany jako odłączony. Ostatecznie to naprawiłem i ta odpowiedź jest najlepsza. Nie można zastosować ustawień, ponieważ pulseaudio prawdopodobnie używa karty, a zatrzymanie PA jest zaskakująco trudne. Jeśli włączysz funkcję przesłonięcia zaawansowanego, możliwe jest wyłączenie wykrywania gniazd dla poszczególnych portów. Priorytet portu niewykrywającego portu w PA ma również niższy priorytet niż porty wykrywające, w przeciwnym razie wyjście wykrywające gniazda nie będzie nigdy używane, ponieważ zepsute słuchawki są zawsze podłączone.
TrentP
0

Oto martwa prosta, ręczna zmiana, obejście, które zadziałało dla mnie (Mint Debian Edition with Cinnamon):

  1. Otwórz ustawienia dźwięku (możesz się tam dostać z widżetu regulacji głośności lub ustawień systemu)
  2. Na domyślnej karcie Wyjście w obszarze Urządzenie kliknij „Wbudowane wyjście analogowe”

Otóż ​​to. Jesteś skończony.

Spędziłem na tym półtora dnia. Tak, musisz ręcznie ustawić urządzenie, z którego chcesz korzystać za każdym razem, ale dla mnie dwie sekundy robi to lepiej niż kolejne kilka dni wyszukiwania, a co najwyżej wydaje się, ustawiając dane wyjściowe na jedno lub drugie i zmieniając się tylko przy ponownym uruchomieniu . Nie widziałem żadnej naprawy podstawowego problemu wykrywania płatków.

Co ważne, dźwięk testowy zawsze działał na słuchawkach lub głośniku zewnętrznym, więc w moim przypadku jest to kwestia wykrywalności. To prawdopodobnie nie jest uniwersalny przypadek. Opisałem objawy w moim przypadku bardziej szczegółowo w innym miejscu .

mlncn
źródło
0

Edytować /etc/pulse/default.pa

komentarz następujący:

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

i usuń komentarz z ostatnich dwóch wierszy:

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

Teraz wtyczki Jack będą aktywne po uruchomieniu.

linuxmarc
źródło