LINUX.ORG.RU

Программно отключать колонки при включении наушников на десктопе


0

2

Есть ли способ на десктопе cделать subj? На ноуте это работает из коробки, на десктопе нет.

Колонки подлючены на задней панеле, наушники подкючаются на передней. Звук работает через alsa. В alsamixer есть headphones, но speakers отсутствуют. Если на headphones нажать «m», то они как и полагается замолкают, отдельно заглушить колонки через alsamixer не выходит, только весь звук вообще.

Звук встроенный. Так проверяется какой?

lspci | grep -i audio
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1)

Хм, почему две штуки?

проверять наличие HID устройств от джеков


serge@blacktablet:~$ dmesg|grep input.*HDA
[ 6.660295] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input9
[ 6.663057] input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10
[ 6.663349] input: HDA Intel Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input11

exception13 ★★★★★
()
Ответ на: комментарий от pekmop1024

Не очень вкурсе, что такое HDMI audio? Оно на видюхе судя по всему располагается и как-то связано с подключением к внешнему прибору для вывода аудио и видео сигнала?

Olegymous ★★★
() автор топика
Ответ на: комментарий от exception13
dmesg|grep input.*HDA
[    5.436532] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input5
[    5.441082] input: HDA ATI SB Headphone as /devices/pci0000:00/0000:00:14.2/sound/card0/input6

Это когда подключаются наушники в dmesg должно появиться соответствующее сообщение? Судя по всему у меня не появляется.

Olegymous ★★★
() автор топика
Ответ на: комментарий от snoopcat

О, вот этой штуковиной с гуи смог заглушить колонки поставив галочки mute на одном из PIN NODE. Но делать это автоматизированно при втыкании наушников в моём случае не выйдет?

Olegymous ★★★
() автор топика

Я сделал аппаратно и забыл об этой проблеме.

segfault ★★★★★
()
Ответ на: комментарий от uzbl
grep Codec /proc/asound/card*/codec* 
/proc/asound/card0/codec#0:Codec: Realtek ALC888
/proc/asound/card1/codec#0:Codec: Nvidia GPU 0a HDMI/DP
/proc/asound/card1/codec#1:Codec: Nvidia GPU 0a HDMI/DP
/proc/asound/card1/codec#2:Codec: Nvidia GPU 0a HDMI/DP
/proc/asound/card1/codec#3:Codec: Nvidia GPU 0a HDMI/DP
Olegymous ★★★
() автор топика
Ответ на: комментарий от Olegymous

Читаем:
https://wiki.archlinux.org/index.php/Alsa#Model_Settings
Опции для вашей карты:

ALC882/883/885/888/889
======================
  3stack-dig	3-jack with SPDIF I/O
  6stack-dig	6-jack digital with SPDIF I/O
  arima		Arima W820Di1
  targa		Targa T8, MSI-1049 T8
  asus-a7j	ASUS A7J
  asus-a7m	ASUS A7M
  macpro	MacPro support
  mb5		Macbook 5,1
  macmini3	Macmini 3,1
  mba21		Macbook Air 2,1
  mbp3		Macbook Pro rev3
  imac24	iMac 24'' with jack detection
  imac91	iMac 9,1
  w2jc		ASUS W2JC
  3stack-2ch-dig	3-jack with SPDIF I/O (ALC883)
  alc883-6stack-dig	6-jack digital with SPDIF I/O (ALC883)
  3stack-6ch    3-jack 6-channel
  3stack-6ch-dig 3-jack 6-channel with SPDIF I/O
  6stack-dig-demo  6-jack digital for Intel demo board
  acer		Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc)
  acer-aspire	Acer Aspire 9810
  acer-aspire-4930g Acer Aspire 4930G
  acer-aspire-6530g Acer Aspire 6530G
  acer-aspire-7730g Acer Aspire 7730G
  acer-aspire-8930g Acer Aspire 8930G
  medion	Medion Laptops
  targa-dig	Targa/MSI
  targa-2ch-dig	Targa/MSI with 2-channel
  targa-8ch-dig Targa/MSI with 8-channel (MSI GX620)
  laptop-eapd   3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE)
  lenovo-101e	Lenovo 101E
  lenovo-nb0763	Lenovo NB0763
  lenovo-ms7195-dig Lenovo MS7195
  lenovo-sky	Lenovo Sky
  haier-w66	Haier W66
  3stack-hp	HP machines with 3stack (Lucknow, Samba boards)
  6stack-dell	Dell machines with 6stack (Inspiron 530)
  mitac		Mitac 8252D
  clevo-m540r	Clevo M540R (6ch + digital)
  clevo-m720	Clevo M720 laptop series
  fujitsu-pi2515 Fujitsu AMILO Pi2515
  fujitsu-xa3530 Fujitsu AMILO XA3530
  3stack-6ch-intel Intel DG33* boards
  intel-alc889a	Intel IbexPeak with ALC889A
  intel-x58	Intel DX58 with ALC889
  asus-p5q	ASUS P5Q-EM boards
  mb31		MacBook 3,1
  sony-vaio-tt  Sony VAIO TT
  auto		auto-config reading BIOS (default)

uzbl
()
Ответ на: комментарий от snoopcat

Я имел ввиду репозиторий с исходниками. Ну ладно, уже скачал какие-то исходники с альтлинуксовского сайта.

Olegymous ★★★
() автор топика
Ответ на: комментарий от snoopcat

короче set_connect_sel 0 это что-то типа «убрать галочку там-то», set_connect_sel 1 соответственно «поставить галочку»

snoopcat ★★★★★
()

Так. Я уже до чего то дошел:

hda-verb /dev/snd/hwC0D0 0x14 SET_AMP_GAIN_MUTE 0xb080
hda-verb /dev/snd/hwC0D0 0x14 SET_AMP_GAIN_MUTE 0xb010
Первая команда вырубает колонки, а вторая включает. Если повесить на шорткат то будет достаточно удобно. Можно даже не вынимать наушники.

Только не понял как правильно вычилсять параметры для SET_AMP_GAIN_MUTE. 0xb080 и 0xb010 получились эксперементально.

Olegymous ★★★
() автор топика
Ответ на: комментарий от snoopcat

короче set_connect_sel 0 это что-то типа «убрать галочку там-то», set_connect_sel 1 соответственно «поставить галочку»

snoopcat ★★★★★
()
Ответ на: комментарий от Olegymous

у меня тоже всё чисто экспериментально получилось :)

snoopcat ★★★★★
()
Ответ на: комментарий от snoopcat

установленный в 1 set_connect_sel как я понял должен реагировать на втыкание наушников. Судя по gui наушники у меня в 0x1b.

hda-verb /dev/snd/hwC0D0 0x1b SET_CONNECT_SEL 1
Эта команда ни на что не влияет. Звук в обоих устройствах при втыкании.

Olegymous ★★★
() автор топика
Ответ на: комментарий от Olegymous

Да, обычно срабатывает.
Нужно перезагружать модуль с параметрами из списка и проверять не заработало ли (те закрыли плееры; rmmod модуль; modprobe модуль model=из_списка)

uzbl
()
Ответ на: комментарий от uzbl

Попробовал все. Не срабатывает.
Останавлюсь на варианте с hda-verb. Всем спасибо.

Olegymous ★★★
() автор топика
Ответ на: комментарий от Olegymous

>>Это когда подключаются наушники в dmesg должно появиться соответствующее сообщение? Судя по всему у меня не появляется.

нет. это при загрузке создаются input девайсы которые при вставке/вынимании джека посылают соответствующие евенты.

exception13 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.