Nonaktifkan deteksi jack headphone di pulseaudio

19

Saya memiliki port headphone yang cerdik pada laptop saya yang tidak dapat diandalkan mendeteksi ketika headphone / speaker eksternal dicolokkan. Ini berarti bahwa output terus-menerus diredam / dibunyikan yang agak mengganggu

Bagaimana saya bisa mengonfigurasi pulseaudio untuk menonaktifkan deteksi jack (atau alternatifnya hanya memaksa output melalui jack ini)?

Saya menganggap itu akan melibatkan pengeditan analog-output-headphones.conf namun saya tidak tahu bagaimana melakukannya (analog-output.conf.common tidak membantu).

Ross
sumber
2
Sudahkah Anda mempertimbangkan / mencoba menghapus pulseaudio dan hanya menggunakan ALSA?
goldilocks
Ya, tapi saya agak suka kontrol ekstra yang diberikan pulseaudio. Selain itu saya yakin ada solusi sederhana - saya hanya tidak tahu apa itu.
Ross
Menggunakan ALSA akan membuat solusinya sederhana. Jadi akan memilih untuk menggunakan jack yang berbeda. Menghindari kedua opsi itu saya akan memilih untuk memperbaiki jack yang keripik (membutuhkan besi solder dan beberapa pengalaman) :)
Penatua Geek

Jawaban:

7

Anda dapat mencoba menangguhkan jack headphone. Untuk menemukan indeks jack headphone:

pactl list short sinks

Kemudian tunda wastafel itu:

pactl suspend-sink [SINK] 1|0

Di mana "SINK" adalah indeks dari perintah pertama, dan "1" akan ditangguhkan dan "0" akan dibatalkan.

Sunting: Maaf, salah paham situasinya. Menemukan utas Lengkungan yang memiliki metode menonaktifkan peralihan otomatis. Edit /etc/pulse/default.pa(gdamjan menyarankan alternatif ~/.config/pulse/default.pa) untuk menghapus baris berikut:

load-module module-switch-on-port-available
fooot
sumber
1
Terima kasih, tapi saya tidak ingin menonaktifkan headphone, melainkan memaksakan output melalui mereka - bahkan ketika mereka tidak mendeteksi kabel terpasang.
Ross
Mengenai penonaktifan: load-module-switch-on-port-available - Saya sudah mencobanya tetapi sepertinya tidak ada bedanya.
Ross
1
sebelumnya coba ~ / .config / pulse / default.pa
gdamjan
Saya mencoba ini untuk mendapatkan suara yang datang melalui speaker ketika saya mencolokkan mikrofon (ini adalah mikrofon headset - tapi saya ingin mikrofon untuk mengambil suara speaker untuk merekam). Ketika saya mencoba melepas sakelar, saya bisa mendapatkannya (dengan perintah "pacmd set-sink-port") hanya untuk output ke speaker (tidak ada suara yang keluar di headphone), tetapi suara masih akan keluar dari speaker ketika tidak ada dicolokkan ke jack. Arrrggghhhh ....
anthony
5

Saya tidak tahu bagaimana (atau jika) ini dapat dilakukan secara langsung melalui PulseAudio itu sendiri, tetapi saya tahu ini dapat dilakukan melalui kontrol ALSA bernama "Auto-Mute Mode", membatalkan kontrol ini (dengan 'alsamixer' misalnya) harus mencegah output Anda dinonaktifkan secara otomatis ketika sesuatu dicolokkan ke jack depan.

Mengubahnya dengan cara ini akan berfungsi bahkan jika sistem Anda menjalankan PulseAudio, asalkan menggunakan ALSA sebagai backend (tapi saya pikir ini adalah kasus di kebanyakan distro Linux secara default).

Jika Anda menggunakan 'alsamixer' untuk mengubah pengaturan ini, Anda harus memilih perangkat perangkat keras yang tepat terlebih dahulu (tekan F6), karena perangkat default kemungkinan adalah perangkat virtual PulseAudio, yang tidak memiliki "Mode Bisu Otomatis" kontrol.

Untuk menjadikan pengaturan ini permanen, jalankan sebagai root:

# alsactl store
hnsr
sumber
Terima kasih telah memasukkan detail tentang mengubah perangkat melalui F6. Saya menghabiskan setengah jam di alsa dan file konfigurasi / kontrol lainnya mencoba mencari sesuatu yang berhubungan dengan "AutoMute" sampai membaca komentar Anda, saya tidak berpikir untuk mengubah perangkat.
Daniel
1

dengan asumsi setidaknya salah satu jack Anda masih berfungsi tanpa kesalahan, saya sarankan Anda merujuk pertanyaan ini di askubuntu - bukannya tergantung pada jack audio yang salah, saya sarankan Anda menggunakan port mic in untuk headphone.

Poruri Sai Rahul
sumber
Saya kira saya tidak menjelaskan semuanya dengan jelas. Output dari jack baik-baik saja. Untuk alasan apa pun ada masalah dalam mendeteksi apakah kabel dicolokkan atau tidak. Hal ini menyebabkan pulseaudio membisukan aliran secara acak karena menganggap steker telah dihapus (saat itu belum).
Ross
1

Lari pavucontrol. Di bawah menu "Konfigurasi", pilih opsi "Mati" untuk kartu Audio Bawaan.

iElectric
sumber
1

Kalau-kalau ini berguna untuk seseorang saya akan menjelaskan bagaimana saya memecahkan masalah saya dengan jack depan pada Ubuntu 14.04

Saya pikir mikrofon depan tidak berfungsi dengan baik, saya mencoba membunyikannya dalam alsamixerdan ribuan kemungkinan solusi, tapi akhirnya yang dipecahkan adalah menginstal alsa-toolsdan menggunakan hdajackretaskuntuk mengatur mikrofon depan sebagai "mikrofon internal", kemudian alsamixersaya hanya unmuted internal mic dan internal mic boost channel dan menyesuaikan nilainya (53 pada kedua kasus saya)

lordscales91
sumber
1

Saya memiliki masalah dengan pendeteksian headphone yang menonaktifkan speaker, yang tampaknya terhubung ke jack headphone saya di laptop. HDA-intel di Fujitsu Siemens Amilo 1520 di sini.

Apa yang seharusnya memberi Anda petunjuk adalah membiarkan alsamixer terbuka pada kartu suara Anda dan melihat kontrol volume untuk speaker dan headphone sedang dipengaruhi (saat memasang headphone, suara speaker dan headphone bersuara, dan sebaliknya).

kemudian menggunakan hdajackretask yang saya pilih: headphone hijau (sisi belakang) - pilih override - dan set ke "speaker internal"

Anda kemudian dapat memeriksa dengan benar-benar memasukkan dan mengeluarkan headphone jika itu berfungsi untuk konfigurasi Anda (dokumentasi sedikit).

Dalam kasus saya ini berhasil, dan saya mengklik tombol "Install boot override". Nyalakan ulang sistem dan jalankan suara ...

(Saya benar-benar ingin tahu apa yang telah diatur di bawah tenda, akan mengetahui hal itu nanti.)

Tjeerd Pinkert
sumber
1

Masalah saya adalah jacksense di port depan beralih ke "headphone" terus-menerus (bahkan ketika header panel depan tidak terhubung) dan motherboard MSI yang rusak mereka menolak saya RMA aktif. Bahkan ketika jack sense dinonaktifkan di konfigurasi dengan berkomentar di default.pa. Pekerjaan yang mengerikan di sekitar adalah menggunakan panel depan dan mendapatkan keretakan konstan. Saya mencoba semua solusi yang tercantum di sini dan di mana-mana di google.

Saya mencoba hdajackretask yang tidak berfungsi pada Debian Stretch, namun yang diperlukan hanyalah / lib / firmware yang akan dibuat. Ketika itu dilakukan boot override install script yang dibuatnya di bawah / tmp dengan benar menyalin file .fw di sana.

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

# 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

(yang mengharapkan file di bawah / lib / firmware,)

Saya tidak yakin apakah opsi lain snd-hda-intel menimpanya atau mengganggu jadi coba nonaktifkan itu jika gagal.

File firmware saya terlihat seperti ini, tidak yakin apakah saya hanya dapat menggunakan bait [petunjuk] karena saya senang untuk menyembunyikannya:

/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

Saya tidak dapat memilih jawaban atau komentar di atas, Jika Anda membaca ini dan Anda mencoba setiap solusi yang terdaftar seperti yang saya miliki, Cobalah untuk retask jack ke "tidak terhubung". Pada hdajackretask saya itu disebut "Sisi Depan Headphone Hijau"

Russ
sumber
Saya punya port audio panel depan yang tidak memiliki pin deteksi jack, sehingga selalu ditampilkan sebagai dicabut. Akhirnya memperbaikinya dan jawaban ini adalah yang terbaik. Seseorang tidak dapat menerapkan pengaturan karena pulseaudio mungkin menggunakan kartu dan menghentikan PA sangat sulit. Jika seseorang mengaktifkan penggantian lanjutan, dimungkinkan untuk mematikan deteksi jack pada basis per port. Juga memiliki prioritas port port non-pendeteksi di PA lebih rendah daripada mendeteksi port, jika jack Anda mendeteksi line out tidak akan pernah digunakan karena headphone yang rusak tampaknya selalu terhubung.
TrentP
0

Inilah solusi sederhana, penggantian manual, yang berhasil untuk saya (Edisi Mint Debian dengan Cinnamon):

  1. Buka pengaturan Suara (Anda bisa sampai di sana dari widget kontrol volume atau Pengaturan Sistem)
  2. Di bawah tab Output default, di bawah Device, klik "Audio Built-in Output Analog"

Itu dia. Kamu sudah selesai.

Saya menghabiskan satu setengah hari untuk ini. Ya, Anda perlu mengatur secara manual perangkat yang ingin Anda gunakan setiap kali, tetapi bagi saya dua detik melakukan itu lebih baik daripada beberapa hari pencarian lainnya dan sepertinya, mengatur output ke satu atau lain dan hanya mengubah dengan reboot . Saya belum melihat ada perbaikan untuk masalah root deteksi serpihan.

Yang penting, suara tes selalu berfungsi untuk heapdphones atau speaker eksternal, jadi dalam kasus saya ini adalah masalah deteksi serpihan. Mungkin itu bukan kasus universal. Saya menggambarkan gejala dalam kasus saya secara lebih rinci di tempat lain .

mlncn
sumber
0

Edit /etc/pulse/default.pa

komentar berikut:

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

dan hapus komentar dua baris terakhir:

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

Sekarang colokan Jack Anda akan aktif setelah boot.

linuxmarc
sumber