Диагностика проблемы HSP/HFP гарнитуры Bluetooth с помощью PipeWire — Ubuntu 20.04
Нет, это не очередной вопрос «У меня Ubuntu 20.04, и мой bluetooth-микрофон не работает».
Я провел небольшое исследование и узнал о проблемах с Pulseaudio и oFono. Много чего перепробовал, включая установку ядра 5.12.12 - ничего не помогло. Я на мгновение сдался, выкапывая из гаража старую проводную гарнитуру. Затем я установил Fedora 34 на свой второй компьютер и, к своему удивлению, обнаружил, что там нет проблем с моей гарнитурой. Это было похоже на свет в конце туннеля. Я предположил, что это PipeWire, поэтому установил его на свою основную машину. К сожалению, здесь ситуация не улучшилась.
После установки PipeWire система ведет себя точно так же, как и раньше, а именно:
- Я могу выбрать профиль HSP/HFP как для ввода, так и для вывода;
- после переключения на профиль HSP/HFP я не слышу звук в наушниках (только глухая тишина) и мой микрофон не улавливает никаких звуков;
- после переключения на профиль A2DP я без проблем слышу звук в наушниках.
После переключения на профиль HSP/HFP
pactl list cards
дает мне:
Card #37
Name: bluez_card.38_18_4C_59_F1_6A
Driver: module-bluez5-device.c
Owner Module: n/a
Properties:
device.api = "bluez5"
device.bus = "bluetooth"
media.class = "Audio/Device"
device.name = "bluez_card.38_18_4C_59_F1_6A"
device.description = "WH-1000XM3"
device.alias = "WH-1000XM3"
device.form_factor = "headset"
device.string = "38:18:4C:59:F1:6A"
api.bluez5.icon = "audio-card"
api.bluez5.path = "/org/bluez/hci0/dev_38_18_4C_59_F1_6A"
api.bluez5.address = "38:18:4C:59:F1:6A"
api.bluez5.device = ""
api.bluez5.class = "0x240404"
api.bluez5.connection = "connected"
device.icon_name = "audio-headset-bluetooth"
bluez5.auto-connect = "[ hfp_hf hsp_hs a2dp_sink ]"
factory.id = "14"
client.id = "30"
object.id = "37"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
a2dp-sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 0, available: yes)
headset-head-unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 0, available: yes)
a2dp-sink-sbc: High Fidelity Playback (A2DP Sink, codec SBC) (sinks: 1, sources: 0, priority: 0, available: yes)
headset-head-unit-cvsd: Headset Head Unit (HSP/HFP, codec CVSD) (sinks: 1, sources: 1, priority: 0, available: yes)
Active Profile: headset-head-unit-cvsd
Ports:
headset-input: Headset (priority: 0, latency offset: 0 usec, available)
Properties:
port.type = "headset"
Part of profile(s): headset-head-unit, headset-head-unit-cvsd
headset-output: Headset (priority: 0, latency offset: 0 usec, available)
Properties:
port.type = "headset"
Part of profile(s): a2dp-sink, headset-head-unit, a2dp-sink-sbc, headset-head-unit-cvsd
pactl info
дает мне:
Server String: /run/user/1001/pulse/native
Library Protocol Version: 33
Server Protocol Version: 35
Is Local: yes
Client Index: 37
Tile Size: 65472
User Name: kamyllus
Host Name:
Server Name: PulseAudio (on PipeWire 0.3.30)
Server Version: 14.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
Default Source: alsa_input.usb-DisplayLink_Dell_D3100_USB3.0_Dock_1712133780-02.iec958-stereo
Cookie: 0404:22f4
а также
cat /proc/version
дает:
Linux version 5.8.0-55-generic (buildd@lgw01-amd64-050) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #62~20.04.1-Ubuntu SMP Wed Jun 2 08:55:04 UTC 2021
Мне нужна помощь в диагностике проблемы. Я полон решимости заставить моих коллег по Windows смеяться мне в лицо, пока я борюсь.
Скажите, пожалуйста, какую информацию я также могу предоставить. Я также могу сравнить настройку с Fedora, но мне нужно знать, где искать. Мне нужно больше данных, чтобы я мог продолжить борьбу (может быть, в другом, более точном, форуме).
1 ответ
Начиная с версии 0.3.28 файлы conf перемещаются в каталог из . Вы должны скопировать их в каталог вручную. Отныне
/etc/pipewire/
может использоваться в качестве общесистемного доступа к редактируемым пользователем файлам конфигурации. переопределенное поведение conffile
$HOME/.config/pipewire > /etc/pipewire > /usr/share/pipewire
Копировать конфи из
/usr/share/
к
/etc/
:
sudo cp -vRa /usr/share/pipewire /etc/
Убедитесь, что вы замаскировали PulseAudio и перезапустите Pipewire Service, используя:
systemctl --user mask pulseaudio
systemctl --user restart pipewire pipewire-pulse
Если все еще не работает, я бы предложил переустановить, используя следующую ссылку https://pipewire-debian.github.io/pipewire-debian/