Diagnostizieren eines HSP/HFP-Problems eines Bluetooth-Headsets mit PipeWire – Ubuntu 20.04

Diagnostizieren eines HSP/HFP-Problems eines Bluetooth-Headsets mit PipeWire – Ubuntu 20.04

Nein, dies ist nicht noch eine „Ich habe Ubuntu 20.04 und mein Bluetooth-Mikrofon funktioniert nicht“-Frage.

Ich habe ein wenig recherchiert und bin auf Probleme mit Pulseaudio und oFono gestoßen. Ich habe vieles ausprobiert, darunter auch die Installation von Kernel 5.12.12 – nichts hat geholfen. Ich habe kurz aufgegeben und das alte kabelgebundene Headset aus der Garage hervorgekramt. Dann habe ich Fedora 34 auf meinem zweiten Computer installiert und zu meiner Überraschung festgestellt, dass es dort kein Problem mit meinem Headset gab. Es war wie das Licht am Ende des Tunnels. Ich nahm an, dass es PipeWire war, also habe ich es auf meinem Hauptcomputer installiert. Leider hat sich die Situation hier nicht verbessert.

Nach der Installation von PipeWire verhält sich das System genauso wie zuvor, d. h.:

  • Ich kann das HSP/HFP-Profil sowohl für die Eingabe als auch für die Ausgabe wählen;
  • nach dem Wechsel zum HSP/HFP-Profil höre ich im Kopfhörer keinen Ton (nur tiefe Stille) und mein Mikrofon nimmt keinen Ton auf;
  • nach dem Wechsel zum A2DP-Profil höre ich den Ton im Kopfhörer problemlos.

Nach dem Wechsel zum HSP/HFP-Profil pactl list cardserhalte ich:

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 infogibt mir:

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

und cat /proc/versionergibt:

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

Ich brauche Hilfe bei der Diagnose des Problems. Ich bin entschlossen, meine Windows-Kollegen zum Schweigen zu bringen, die mir bei meinen Problemen ins Gesicht lachen.

Bitte sagen Sie mir, welche Informationen ich noch bereitstellen kann. Ich kann das Setup auch mit Fedora vergleichen, aber ich muss wissen, wo ich suchen muss. Ich brauche mehr Daten, damit ich den Kampf fortsetzen kann (vielleicht in einem anderen, präziseren Forum).

Antwort1

Seit Version 0.3.28 werden Conf-Dateien in /usr/share/das Verzeichnis von verschoben /etc/. Sie müssen sie /etc/manuell in das Verzeichnis kopieren. Ab jetzt /etc/pipewire/kann als systemweiter Drop-In für vom Benutzer bearbeitete Conf-Dateien verwendet werden. Das überschriebene Verhalten von Conf-Dateien ist$HOME/.config/pipewire > /etc/pipewire > /usr/share/pipewire

So kopieren Sie Conffiles von /usr/share/nach /etc/:

sudo cp -vRa /usr/share/pipewire /etc/

Stellen Sie sicher, dass Sie PulseAudio maskiert haben, und starten Sie den Pipewire-Dienst neu mit:

systemctl --user mask pulseaudio
systemctl --user restart pipewire pipewire-pulse

Wenn es immer noch nicht funktioniert, empfehle ich eine Neuinstallation über den folgenden Linkhttps://pipewire-debian.github.io/pipewire-debian/

verwandte Informationen