먼저 명확히 하자면, 내 스테레오 잭 오디오 출력이 장치로 감지/목록에 표시되지만 IEC958
이는 S/PDIF
광 출력이 아니며 표준 스테레오 잭입니다. 이것이 이미 문제의 원인일 수 있습니다.
Windows에서는 플러그/플러그 해제 감지가 제대로 작동하고 이전에는 Linux(Mint 4.10.0-35-generic 사용)에서 작동했지만 다른 WM에서는 현재 작동 i3
하지만 관련이 없는 것 같습니다. 그 동안 WM 및 기타 콘텐츠가 변경되었을 수 있습니다. 오디오 드라이버를 설치한 기억이 없는데 이미 작동합니다.
질문
오디오 잭 연결/분리 이벤트를 실행할 수 없습니다.
효과는 무엇입니까?
pavucontrol
디지털 스테레오(IEC958) 출력( )으로 수동으로 전환하면 iec985-stereo-output
스피커( analog-output-speaker
)가 음소거되고 잭에서 오디오 및 볼륨 제어 기능이 제공됩니다. 좋아요
목록에는 내 잭에 독점적인 오디오를 제공하는 다른 옵션이 없습니다(따라서 스피커가 음소거됩니다). (내가 먼저 처리한 또 다른 문제를 제외하고는 출력으로 전환해야 한다는 사실을 알기 전까지는 다음과 같습니다 IEC958
.0에서 100까지 보조 오디오 볼륨(기본적으로 켜기/끄기)&https://forums.linuxmint.com/viewtopic.php?f=48&t=256467&p=1391958#p1391958하지만 그건 완전히 다른 토끼굴입니다.) 하지만 어쨌든요.
오디오 잭 이벤트 테스트
이벤트를 테스트하는 방법이 지친 것 같습니다.
시험:
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에서는 아무것도 감지되지 않았습니다. 마이크에 연결하면 13이 작동하므로 적어도 하나는 작동합니다.
acpi_listen
❱ acpi_listen
아무것도... 마이크 외에는:
jack/microphone MICROPHONE plug
jack/microphone MICROPHONE unplug
차등 이벤트
내가 아는 한, 이러한 이벤트를 다음과 같은 방식으로 시뮬레이션할 수 있습니다.
sudo cat /proc/asound/card0/codec\#0 > unplugged
sudo cat /proc/asound/card0/codec\#0 > plugged
diff unplugged plugged
그러나 diff는 아무것도 출력하지 않습니다.
하드웨어
파 순서
❱ 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"
더 긴 목록
❱ 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>
아프라
❱ 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
관련성이 있는지 확실하지 않지만 어쨌든 공유하겠습니다.
Alsa 믹서는 S/PDIF를 0으로 표시합니다.
pavucontrol은 오디오 잭의 올바른 볼륨을 표시합니다.
내 alsamixer에는 장치가 1개만 있습니다.
아, 그리고 "아날로그 스테레오 이중/출력"을 선택하면 "스피커" 아래에서 다른 포트를 선택할 수 없습니다 Output Devices
. 오디오 잭이 포트로 나열되어야 하는데 그렇지 않습니다.
또한 Cinnamon 오디오 설정을 열면 다음 2개만 별도의 오디오 소스로 표시됩니다.
고쳐 쓰다
산출:
hdajacksense 테스트
❱ sudo hdajacksensetest
Pin 0x18 (Black Mic, Rear side): present = Yes
hdajack 헤비 듀티
무시하려고 해hdajackretask
그런데 아직 감지가 안되네요...
믹서
❱ 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'
답변1
추측: BIOS가 잭 할당에 대해 거짓말을 했고, 드라이버에 이 문제를 해결하기 위한 "특징"이 빠졌거나, 업데이트할 때 상황에 맞지 않는 특이 사항이 발생했습니다.
Windows에서는 사전 설치된 드라이버가 BIOS 정보를 무시하고 올바른(알려진) 할당을 사용하기 때문에 이는 중요하지 않습니다.
작업을 수정할 수 있는지 확인하려면 hdajackretask
및 hdajacksensetest
(Debian 등의 패키지 )을 확인하세요 . alsa-tools-gui
할당된 코덱 콘텐츠에 대한 정보는 를 통해 확인할 수 있습니다 cat /proc/asound/card*/codec\#*
. 또한 잭이 "원치 않는 이벤트"(플러그 이벤트라고도 함)를 생성하도록 구성되었는지 여부도 여기에서 확인할 수 있습니다.