Deixe-me começar esclarecendo que minha saída de áudio estéreo é detectada/listada como um dispositivo IEC958
/ S/PDIF
, mas não é uma saída óptica, é uma tomada estéreo padrão. Essa já pode ser a causa do problema.
No Windows, a detecção de conexão/desconexão funciona bem e funcionou antes no Linux (usando Mint 4.10.0-35-generic), mas em outros WMs, atualmente usando i3
, mas acho que não está relacionado ao WM e algo mais pode ter mudado enquanto isso. Não me lembro de ter instalado nenhum driver de áudio, já funcionou.
O problema
Não consigo disparar o evento plug-in/desconectar do conector de áudio.
O que funciona
Mudar manualmente pavucontrol
para a saída estéreo digital (IEC958) ( iec985-stereo-output
) silenciará meus alto-falantes ( analog-output-speaker
) e me dará controle de áudio e volume no conector. Bom.
Não há outra opção na lista que forneça áudio exclusivo ao meu conector (portanto, os alto-falantes são silenciados). (Além desse outro problema com o qual estava lidando primeiro, até descobrir que precisava mudar para a IEC958
saída:O volume do áudio vai de 0 a 100 no aux (basicamente apenas ligado/desligado)&https://forums.linuxmint.com/viewtopic.php?f=48&t=256467&p=1391958#p1391958mas essa é uma toca de coelho totalmente diferente para descer), mas de qualquer maneira.
Testando eventos de audiojack
Acho que esgotei as maneiras de testar os eventos
teste de evento:
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Sleep Button
/dev/input/event2: Power Button
/dev/input/event3: Power Button
/dev/input/event4: AT Translated Set 2 keyboard
/dev/input/event5: Video Bus
/dev/input/event6: Video Bus
/dev/input/event7: Logitech MX Master 2S
/dev/input/event8: ETPS/2 Elantech Touchpad
/dev/input/event9: Metadot - Das Keyboard Das Keyboard
/dev/input/event10: Metadot - Das Keyboard Das Keyboard
/dev/input/event11: MSI WMI hotkeys
/dev/input/event12: NEC HD WebCam
/dev/input/event13: HDA Intel PCH Mic
/dev/input/event14: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event15: HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event16: HDA Intel PCH HDMI/DP,pcm=8
14, 15, 16 não estão detectando absolutamente nada. 13 é acionado quando eu o conecto ao microfone, então pelo menos esse funciona.
acpi_listen
❱ acpi_listen
nada... Mas para o microfone:
jack/microphone MICROPHONE plug
jack/microphone MICROPHONE unplug
eventos diferentes
Pelo que entendi, podemos zombar dos eventos com:
sudo cat /proc/asound/card0/codec\#0 > unplugged
sudo cat /proc/asound/card0/codec\#0 > plugged
diff unplugged plugged
Mas o diff não produz nada.
Hardware
pacmd
❱ pacmd list-sinks | grep -e 'name' -e 'index'
* index: 68
name: <alsa_output.pci-0000_00_1f.3.iec958-stereo>
alsa.name = "ALC898 Digital"
alsa.subdevice_name = "subdevice #0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xdf120000 irq 133"
alsa.driver_name = "snd_hda_intel"
device.vendor.name = "Intel Corporation"
device.profile.name = "iec958-stereo"
alsa.mixer_name = "Realtek ALC898"
device.icon_name = "audio-card-pci"
Lista mais longa
❱ pacmd list-sinks
1 sink(s) available.
* index: 68
name: <alsa_output.pci-0000_00_1f.3.iec958-stereo>
driver: <module-alsa-card.c>
flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: RUNNING
suspend cause:
priority: 9958
volume: front-left: 44895 / 69% / -9.86 dB, front-right: 44895 / 69% / -9.86 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 19.98 ms
max request: 4 KiB
max rewind: 64 KiB
monitor source: 82
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
Stereo
used by: 1
linked by: 5
configured latency: 23.22 ms; range is 0.50 .. 371.52 ms
card: 0 <alsa_card.pci-0000_00_1f.3>
module: 6
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "ALC898 Digital"
alsa.id = "ALC898 Digital"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "1"
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xdf120000 irq 133"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:1f.3"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "a171"
device.form_factor = "internal"
device.string = "iec958:0"
device.buffering.buffer_size = "65536"
device.buffering.fragment_size = "32768"
device.access_mode = "mmap+timer"
device.profile.name = "iec958-stereo"
device.profile.description = "Digital Stereo (IEC958)"
device.description = "Built-in Audio Digital Stereo (IEC958)"
alsa.mixer_name = "Realtek ALC898"
alsa.components = "HDA:10ec0899,146211ac,00100003 HDA:8086280b,80860101,00100000"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
ports:
iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
properties:
active port: <iec958-stereo-output>
um jogo
❱ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC898 Analog [ALC898 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC898 Digital [ALC898 Digital]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
lsmod
❱ lsmod | grep '^snd' | column -t
snd_hda_codec_hdmi 49152 1
snd_hda_codec_realtek 90112 1
snd_hda_codec_generic 73728 1 snd_hda_codec_realtek
snd_hda_intel 36864 7
snd_hda_codec 126976 4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_core 81920 5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hwdep 16384 1 snd_hda_codec
snd_pcm 102400 6 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi
snd_seq_midi 16384 0
snd_seq_midi_event 16384 1 snd_seq_midi
snd_rawmidi 32768 1 snd_seq_midi
snd_seq 65536 2 snd_seq_midi_event,snd_seq_midi
snd_seq_device 16384 3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer 32768 2 snd_seq,snd_pcm
snd 77824 23 snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,snd_timer,snd_rawmidi,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_seq_device,snd_hda_codec_realtek,snd_pcm
Não tenho certeza se é relevante, mas vou compartilhar de qualquer maneira:
O mixer Alsa mostra S/PDIF em 0:
Enquanto o pavucontrol mostra o volume correto para o conector de áudio
Tenho apenas 1 dispositivo no alsamixer:
Ah, e quando seleciono Duplex/Saída Estéreo Analógica, não consigo selecionar nenhuma porta diferente em Output Devices
Apenas "Alto-falantes", suspeito que deveria listar o conector de áudio como uma porta, mas não o faz.
Além disso, quando abre as configurações de áudio canela, ele mostra apenas estas 2 como fontes de áudio separadas:
Atualizar
Saídas de:
teste hdajacksense
❱ sudo hdajacksensetest
Pin 0x18 (Black Mic, Rear side): present = Yes
hdajackretask
Tentei substituir porhdajackretask
Mas ainda sem detecção...
um misturador
❱ amixer
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 0 [0%] [-65.25dB] [off]
Simple mixer control 'PCM',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 255 [100%] [0.00dB]
Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Front',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 87 [100%] [0.00dB] [on]
Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Surround',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 87 [100%] [0.00dB] [on]
Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Center',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'LFE',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Side',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 87 [100%] [0.00dB] [on]
Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Mic',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 0 [0%] [-34.50dB] [off]
Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Mic Boost',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 3
Front Left: 0 [0%] [0.00dB]
Front Right: 0 [0%] [0.00dB]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958 Default PCM',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',1
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',2
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',16
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Beep',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 0 [0%] [-34.50dB] [off]
Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 63
Front Left: Capture 50 [79%] [20.25dB] [on]
Front Right: Capture 50 [79%] [20.25dB] [on]
Simple mixer control 'Loopback Mixing',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Disabled'
Responder1
Adivinha: o BIOS está mentindo sobre a atribuição dos conectores, e está faltando uma "peculiaridade" nos drivers para contornar isso, ou quando você atualizou, você obteve uma peculiaridade que não se adapta à sua situação.
No Windows isso não importa, porque o driver pré-instalado ignora as informações do BIOS e usa a atribuição correta (conhecida).
Dê uma olhada em hdajackretask
e hdajacksensetest
(pacote alsa-tools-gui
no Debian etc.) e veja se você consegue consertar a atribuição. Informações sobre qual é o codec da atribuição podem ser encontradas em cat /proc/asound/card*/codec\#*
. Lá você também pode ver se o conector está configurado para emitir "eventos não solicitados" (também conhecidos como eventos de plug).