![ALSA - 将 KDE 从 5.7 升级到 5.14 后,Arch 中的 USB 声卡声音停止工作](https://linux22.com/image/141894/ALSA%20-%20%E5%B0%86%20KDE%20%E4%BB%8E%205.7%20%E5%8D%87%E7%BA%A7%E5%88%B0%205.14%20%E5%90%8E%EF%BC%8CArch%20%E4%B8%AD%E7%9A%84%20USB%20%E5%A3%B0%E5%8D%A1%E5%A3%B0%E9%9F%B3%E5%81%9C%E6%AD%A2%E5%B7%A5%E4%BD%9C.png)
昨天,在出现显示问题后,我将 KDE 从 5.7 升级到 5.14,因为事实证明我安装了错误的软件包。最初在 5.7 中让声音正常工作时遇到了一些麻烦,但我最终设法让它检测并使用我的 USB 声卡(Bose USB 扬声器)。
然而,升级后,它肯定也对 ALSA 做了一些事情,因为它完全停止播放声音,只能检测板载卡。
我知道系统正在检测最低层的设备,因为这是输出lsusb
:
Bus 008 Device 003: ID 05e3:0612 Genesys Logic, Inc. Hub
Bus 008 Device 002: ID 05e3:0612 Genesys Logic, Inc. Hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 007: ID 1410:1410 Novatel Wireless Merlin U740 (non-Vodafone)
Bus 007 Device 004: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 007 Device 006: ID 04d9:4545 Holtek Semiconductor, Inc.
Bus 007 Device 005: ID 046d:c07d Logitech, Inc. G502 Mouse
Bus 007 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 007 Device 002: ID 05a7:1020 Bose Corp.
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 003: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 005 Device 002: ID 0d8c:016c C-Media Electronics, Inc.
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 048d:8295 Integrated Technology Express, Inc.
Bus 001 Device 002: ID 8087:0a2b Intel Corp.
Bus 001 Device 004: ID 045e:028e Microsoft Corp. Xbox360 Controller
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
果然,007 路公交车的 002 号设备上有 Bose 扬声器。
但这是我的输出aplay -l
:
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital]
Subdevices: 0/1
Subdevice #0: subdevice #0
正如您所看到的,没有发现任何 USB 声卡。我尝试加载snd-usb-audio
模块modprobe snd-usb-audio
并验证模块已加载cat /proc/modules | grep snd
:
snd_seq_dummy 16384 0 - Live 0x0000000000000000
snd_seq_oss 45056 0 - Live 0x0000000000000000
snd_seq_midi_event 16384 1 snd_seq_oss, Live 0x0000000000000000
snd_seq 81920 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event, Live 0x0000000000000000
snd_pcm_oss 61440 0 - Live 0x0000000000000000
snd_mixer_oss 28672 1 snd_pcm_oss, Live 0x0000000000000000
snd_hda_codec_hdmi 57344 1 - Live 0x0000000000000000
snd_hda_codec_realtek 110592 1 - Live 0x0000000000000000
snd_usb_audio 249856 0 - Live 0x0000000000000000
snd_hda_codec_generic 86016 1 snd_hda_codec_realtek, Live 0x0000000000000000
snd_hda_intel 45056 5 - Live 0x0000000000000000
snd_usbmidi_lib 32768 1 snd_usb_audio, Live 0x0000000000000000
snd_hda_codec 151552 4 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel, Live 0x0000000000000000
snd_rawmidi 36864 1 snd_usbmidi_lib, Live 0x0000000000000000
snd_seq_device 16384 3 snd_seq_oss,snd_seq,snd_rawmidi, Live 0x0000000000000000
snd_hda_core 94208 5 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel,snd_hda_codec, Live 0x0000000000000000
snd_hwdep 16384 2 snd_usb_audio,snd_hda_codec, Live 0x0000000000000000
snd_pcm 131072 6 snd_pcm_oss,snd_hda_codec_hdmi,snd_usb_audio,snd_hda_intel,snd_hda_codec,snd_hda_core, Live 0x0000000000000000
snd_timer 36864 2 snd_seq,snd_pcm, Live 0x0000000000000000
snd 98304 26 snd_seq_oss,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_usb_audio,snd_hda_codec_generic,snd_hda_intel,snd_usbmidi_lib,snd_hda_codec,snd_rawmidi,snd_seq_device,snd_hwdep,snd_pcm,snd_timer, Live 0x0000000000000000
soundcore 16384 1 snd, Live 0x0000000000000000
我们可以看到,snd_usb_audio 已加载。
那么为什么我的声卡没有被检测到呢?我尝试过alsactl init
,,alsactl nrestore
和alsactl kill rescan
。这些都没有任何效果。此外,alsamixer
也不显示设备。
所以我想这现在更像是几个问题:我如何让它最初工作,然后如何让它在系统启动后工作?这首先是怎么发生的?我认为在任何情况下升级桌面环境都不会影响我的系统找到声卡的能力。