Я только что обновил Ubuntu 20.04 до 21.04. После обновления я не могу выводить звук на USB-гарнитуры. Микрофон на гарнитуре работает. Также работает выход на встроенные динамики или разъем для гарнитуры.
Это отлично работало в Ubuntu 20.04.
В настройках звука, если я пытаюсь протестировать наушники, динамики не отображаются. Это происходит с двумя протестированными мной USB-гарнитурами (Sennheiser PC 8 и Plantronics 5200)
Насколько я понимаю, реализация звука была изменена с Pulseaudio на Pipewire. Все, что я нахожу через Google, по-прежнему относится к Pulseaudio. Так что я немного растерялся.
Мы будем очень благодарны за любые советы по устранению этой проблемы.
Обновление:
карты списка пакетов
Показывает гарнитуру. Я считаю, что это выглядит нормально ... но я не эксперт.
Card #71
Name: alsa_card.usb-Sennheiser_Communications_Sennheiser_USB_headset-00
Driver: alsa
Owner Module: n/a
Properties:
device.enum.api = "udev"
device.api = "alsa"
media.class = "Audio/Device"
api.alsa.path = "hw:1"
api.alsa.card = "1"
api.alsa.card.name = "Sennheiser USB headset"
api.alsa.card.longname = "Sennheiser Communications Sennheiser USB headset at usb-0000:00:14.0-2, full sp"
device.plugged.usec = "998216405"
device.bus_path = "pci-0000:00:14.0-usb-0:2:1.0"
device.sysfs.path = "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/sound/card1"
device.bus-id = "usb-Sennheiser_Communications_Sennheiser_USB_headset-00"
device.bus = "usb"
device.subsystem = "sound"
device.vendor.id = "5013"
device.vendor.name = "Sennheiser Communications"
device.product.id = "37"
device.product.name = "Headset [PC 8]"
device.serial = "Sennheiser_Communications_Sennheiser_USB_headset"
device.form_factor = "headset"
device.name = "alsa_card.usb-Sennheiser_Communications_Sennheiser_USB_headset-00"
device.description = "Headset [PC 8]"
device.nick = "Sennheiser USB headset"
device.icon_name = "audio-headset-usb"
api.alsa.use-acp = "true"
api.acp.auto-profile = "false"
api.acp.auto-port = "false"
api.dbus.ReserveDevice1 = "Audio1"
factory.id = "14"
client.id = "31"
object.id = "71"
object.path = "alsa:pcm:1"
alsa.card = "1"
alsa.card_name = "Sennheiser USB headset"
alsa.long_card_name = "Sennheiser Communications Sennheiser USB headset at usb-0000:00:14.0-2, full sp"
alsa.driver_name = "snd_usb_audio"
device.string = "1"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
output:analog-stereo+input:mono-fallback: Analog Stereo Output + Mono Input (sinks: 1, sources: 1, priority: 6501, available: yes)
output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes)
pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes)
input:mono-fallback: Mono Input (sinks: 0, sources: 1, priority: 1, available: yes)
Active Profile: output:analog-stereo+input:mono-fallback
Ports:
analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability unknown)
Properties:
port.type = "mic"
device.icon_name = "audio-input-microphone"
card.profile.port = "0"
Part of profile(s): input:mono-fallback, output:analog-stereo+input:mono-fallback
analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, availability unknown)
Properties:
port.type = "headphones"
device.icon_name = "audio-headphones"
card.profile.port = "1"
Part of profile(s): output:analog-stereo, output:analog-stereo+input:mono-fallback
Однако список pactl сокращается
не показывает его, только встроенные динамики, которые работают:
43 alsa_output.pci-0000_00_1f.3.analog-stereo PipeWire s32le 2ch 48000Hz SUSPENDED
Продолжая свое исследование, я в конце концов обнаружил проблему в journalctl --user -u pipewire
:
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.USB-Audio.pcm.front.0:CARD=1'
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: ALSA lib conf.c:5233:(snd_config_expand) Evaluate error: No such file or directory
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM front:1
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: 'front:1': playback open failed: No such file or directory
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: adapter 0x55c2e968c8b0: can't get format: No such file or directory
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: usage: node.name=<string>
Это привело меня к следующему отчету об ошибке: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/332
I есть pipewire 0.3.32, поэтому я не понимаю, почему это не устранило мою проблему.
Пока ошибка, упомянутая в конце моего вопроса, не будет должным образом решена, правильный ответ (и обходной путь) на мой вопрос, по-видимому, заключается в том, чтобы вручную перезапустить все службы, связанные с Pipewire:
systemctl --user restart pipewire-media-session pipewire-pulse pipewire
Обновление: я зарегистрировал новую проблему с Pipewire для этого, поскольку мне кажется, что я не могу повторно открыть предыдущий: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1478