Ubuntu 16.04 无法使用 USB 音频:fwupd 错误

neu*_*eno 3 sound usb pulseaudio alsa

在 15.10 中,内部 Intel 和外部 USB 音频都在工作。升级到 16.04 后,USB 音频已停止工作,但 Intel 仍能正常工作。有任何想法吗?

/etc/modprobe.d/alsa-base.conf修改:

# options snd-usb-audio index=-2  # comment out the default setting
options snd-hda-intel index=0,2 model=dell-m6-amic
options snd-usb-audio index=1 vid=0x1235 pid=0x800a
Run Code Online (Sandbox Code Playgroud)

好像有两个问题:

  1. 开机后,lsusb不再列出USB声卡。

  2. 如果声卡被手动重新插入,pulseaudio 被杀死,并且 alsa force 重新加载,它确实会出现,lsusb但仍然不会出现在声音设置中(仅板载声音工作)。在这种情况下,以下调试信息可用:

$ lsusb

ID 1235:800a Focusrite-Novation Scarlett 2i4
Run Code Online (Sandbox Code Playgroud)

$ cat /proc/asound/cards

0 [PCH            ]: HDA-Intel - HDA Intel PCH
                  HDA Intel PCH at 0xd2710000 irq 33
1 [U0x12350x800a  ]: USB-Audio - USB Device 0x1235:0x800a
                  USB Device 0x1235:0x800a at usb-0000:00:14.0-4, high speed
Run Code Online (Sandbox Code Playgroud)

$ cat /proc/asound/modules

0 snd_hda_intel
1 snd_usb_audio
Run Code Online (Sandbox Code Playgroud)

$ lspci -v | grep snd

Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
Run Code Online (Sandbox Code Playgroud)

$ aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CA0132 Analog [CA0132 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: CA0132 Digital [CA0132 Digital]
  Subdevices: 1/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 1: U0x12350x800a [USB Device 0x1235:0x800a], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
Run Code Online (Sandbox Code Playgroud)

neu*_*eno 5

结果证明问题比原先想象的要复杂,并且在重新启动时不断重新出现。

非常感谢@nakasya 指出这是升级到 Ubuntu 16.04 时出现的fwupd中的错误。请参阅音频设备问题 (ALC-889) - Ubuntu 16.04

在主要版本中包含修复程序之前的临时解决方法是运行sudo killall fwupd并重新连接 USB 音频设备。