hdajackretask to narzędzie do zmiany przypisania funkcji gniazd do różnych sygnałów wejściowych, wyjściowych lub wyłączonych - np. zmień gniazdo mikrofonu w dodatkowe słuchawki lub dlaczego nie sprawisz, aby oba wyjścia liniowe były podłączone do odbiornika surround?
Zainstaluj alsa-tools-gui
sudo apt-get update
sudo apt-get install alsa-tools-gui
Uruchom hdajackretask
następnie Aby zastąpić jeden ze swoich gniazd:
- Wybierz kodek
- Kliknij pole wyboru „Zastąp” dla tego pinu i wybierz nową żądaną funkcję
- Kliknij „Zastosuj teraz”.
Uwaga: Jeśli gniazdo słuchawkowe ma wbudowany przełącznik sprzętowy, który przekierowuje dźwięk, oznacza to, że jesteś SOL (przepraszam, niestety powodzenia). Jeśli jednak system operacyjny wykryje podłączenie linii do gniazda słuchawkowego, dźwięk najprawdopodobniej nie zostanie przełączony mechanicznie.
Przekonałem się, że jednoczesne przesłonięcie zarówno słuchawek, jak i głośników działa najlepiej.
Zrzut ekranu z hdajackretask, aby przełączyć słuchawki na głośniki:
Po kliknięciu przycisku „Zastosuj teraz” tworzony jest skrypt powłoki, który wprowadza zmiany i monituje o podanie hasła superużytkownika. Skrypt jest również zapisywany, w /tmp
którym można go skopiować i później wykonać za pomocą sudo z wiersza poleceń.
Wykonanie linii poleceń
Jak wspomniano wcześniej, hdajackretask
tworzy scenariusz, script.sh
w /tmp
podobnym celu /tmp/hda-jack-retask-QW1EEZ/
dla funkcji jack ty pragnienie:
#!/bin/sh
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
Skopiuj ten skrypt gdzie indziej w twoim systemie (inny niż / tmp)
cd /tmp/hda-jack-retask-QW1EEZ
cp script.sh ~username/speaker.sh
Następnie edytuj speaker.sh
cd ~username
nano speaker.sh
Dodaj linię killall pulseaudio &
u góry pliku. Jest to konieczne, ponieważ funkcji jack nie można zmienić podczas pulseaudio
działania. Domyślnie pulseaudio
odrodzi się. Zmień także ścieżkę do errors.log
pliku /tmp
lub gdziekolwiek chcesz:
#!/bin/sh
killall pulseaudio &
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/errors.log
Aby uruchomić skrypt:
sudo ./speaker.sh
Z dokumentacji alsa-tools-1.1.5 / hdajackretask / README :
Dokumentacja dla hdajackretask
Większość kart dźwiękowych Intel HDA można w pewnym stopniu odzyskać, tzn. Można ich używać do więcej niż jednej rzeczy. To narzędzie jest graficznym interfejsem użytkownika, aby ułatwić ponowne przypisanie gniazd - np. Zmień wtyczkę Mic w dodatkowe słuchawki, albo dlaczego nie połączyć ich z obydwoma wyjściami liniowymi i podłączyć do odbiornika surround?
Szybki start
Uruchom aplikację „hdajackretask” z wiersza poleceń. Wybierz kodek na górnym pasku; niektóre osoby mają tylko jeden - jeśli masz więcej niż jeden, jeden jest „główny”, a reszta to prawdopodobnie kodeki HDMI.
Wszystkie gniazda (i inne wejścia / wyjścia) są pokazane w „Konfiguracja pinów”. Aby zastąpić jeden ze swoich gniazd, kliknij pole wyboru „Zastąp” dla tego pinu i wybierz żądaną funkcję. Uwaga: Jeśli wybierzesz przesłonięcie „Wyjście liniowe (z tyłu)”, powinieneś również mieć przesłonięcie „Wyjście liniowe (z przodu)”. Przesłonięcie „Wyjście liniowe (środkowe / LFE)” będzie działać tylko z dwoma poprzednimi zastąpieniami i tak dalej.
Możesz wypróbować nową konfigurację, klikając „Zastosuj teraz”. Aby ustawić domyślną konfigurację uruchamiania jako nową, kliknij „Zainstaluj zastąpienie rozruchu”. Wykonanie któregokolwiek z tych wymaga uprawnień administratora, więc prawdopodobnie zostaniesz poproszony o podanie hasła.
Quickend
Spieprzyłeś? Kliknij przycisk „Usuń zastąpienie rozruchu”, a po zakończeniu procesu zamknij komputer, poczekaj chwilę i włącz go ponownie. Powinieneś teraz wrócić tam, gdzie zacząłeś.
Zadziałało?
Jeśli tak, bądź szczęśliwy, dziel się radością, zrób coś miłego!
Jeśli nie, oto kilka rzeczy do wypróbowania:
Wejdź do alsamixer i sprawdź, czy są nowe elementy sterujące głośnością, i sprawdź, czy nie są one wyciszone i ustawione na rozsądną wartość.
Czasami sterownik nie odcina niepodłączonych styków (jeśli nie są podłączone, po co się martwić?). Możesz to naprawić, wyłączając komputer na chwilę.
Zobacz opcję „model = auto” poniżej
Jeśli to nie pomoże, istnieje duże prawdopodobieństwo, że napotkasz sterownik lub ograniczenie sprzętowe. Możesz napotkać błędy sterowników (być może nikt wcześniej nie testował czterech słuchawek!). Jeśli to zrobisz, możesz zgłosić je na liście dyskusyjnej alsa-devel: jednak z powodu braku siły roboczej istnieje szansa, że zostanie to potraktowane z bardzo niskim priorytetem (dźwięk działający po wyjęciu z pudełka dla standardowej konfiguracji to ważniejsze niż obsługa dziwnych konfiguracji). Jednak jeśli jesteś hakerem jądra i opracujesz łatkę, która rozwiązuje twój problem bez zepsucia czegokolwiek innego, istnieje duże prawdopodobieństwo, że zostanie on scalony.
Jeśli podejrzewasz, że problem dotyczy tej aplikacji GUI, a nie sterownika jądra, napisz do mnie e-mail (a jeśli chcesz, dołącz łatkę!). Jeśli tak, napisz na adres diwic@ubuntu.com.
Opcje
Pokaż niepodłączone piny Twój BIOS jest odpowiedzialny za ustawienie, które piny kodeka są faktycznie podłączone do czegoś, a które nie. Czasami BIOS jest wadliwy i nie wyświetla wszystkich twoich gniazd. Jeśli masz gniazdo, twój BIOS mówi, że nie masz, możesz spróbować włączyć losowe piny i sprawdzić, czy to działa.
Ustaw model = auto Niektóre kodeki, szczególnie starsze i na jądrach 3.8 i niższych, są zakodowane na sztywno w celu użycia określonego modelu, a zatem nie będą dbać o twoje przesłonięcia. W wielu przypadkach i przy całkiem nowym jądrze auto parser działa teraz dobrze również dla tych kodeków. Możesz wymusić użycie automatycznego parsera, zaznaczając to pole. Jednak w niektórych przypadkach jawny model istnieje z jakiegoś powodu, jeśli tak, to utkniesz.
Zaawansowane zastąpienie To jest tylko dla ekspertów. Umożliwia wybranie każdego pola konfiguracji osobno, zamiast tylko kilku wstępnie zdefiniowanych wartości, które mają sens. Zauważ, że większość kombinacji tutaj jest nieprawidłowa w taki czy inny sposób, więc prawdopodobnie nie powinieneś z tym zadzierać, chyba że przeczytałeś i zrozumiałeś sekcję „Konfiguracja domyślna” specyfikacji HD Audio. (Który w momencie pisania tego tekstu jest dostępny tutaj:
http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/high-definition-audio-specification. pdf )
Wskazówki dotyczące analizatora składni Umożliwia wysyłanie specjalnych „wskazówek” do sterownika, które powodują, że parsowanie zachowuje się inaczej. Pozostaw je w ustawieniu „domyślnym”, chyba że przeczytałeś dokumentację sterownika. (Który w chwili pisania tego tekstu jest dostępny tutaj: https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt - patrz sekcja „Ciągi podpowiedzi”.)