Unfortunately, it does not work as out of box. After applying following workarounds, finally, it works.
- Fedora 32 x86_64
- Linux kernel 5.7.10 vanilla
- PulseAudio 13.99 + pulseaudio-module-bluetooth-freeworld (for proprietary codecs aptX)
- BlueZ 5.54
😱🙀😱🙀😱
pulseaudio
xxx xx xx:xx:xx xxx pulseaudio[14636]: E: [pulseaudio] bluez5-util.c: Transport Acquire() failed for transport /org/bluez/hci1/dev_xx_xx_xx_xx_xx_xx/sep4/fd11 (Input/output error)
bluetoothd
xxx xx xx:xx:52 sushi bluetoothd[54384]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
xxx xx xx:xx:52 sushi bluetoothd[54384]: No reply to Start request
xxx xx xx:xx:45 sushi bluetoothd[54384]: xx:xx:xx:xx:xx:xx: error updating services: Input/output error (5)
xxx xx xx:xx:45 sushi bluetoothd[54384]: No reply to Start request
# vim /var/lib/gdm/.pulse/client.conf
autospawn = no
daemon-binary = /bin/true
# systemctl edit --full bluetooth.service
ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=avrcp
# systemctl restart bluetooth.service
$ bluetooth
[NEW] Device XX:XX:XX:XX:XX:XX MOMENTUM TW 2
pair XX:XX:XX:XX:XX:XX
connect XX:XX:XX:XX:XX:XX
trust XX:XX:XX:XX:XX:XX
info XX:XX:XX:XX:XX:XX
Device XX:XX:XX:XX:XX:XX (public)
Name: MOMENTUM TW 2
Alias: MOMENTUM TW 2
Class: 0x00240404
Icon: audio-card
Paired: yes
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Serial Port (00001101-0000-1000-8000-00805f9b34fb)
UUID: Headset (00001108-0000-1000-8000-00805f9b34fb)
UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb)
UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)
UUID: Handsfree (0000111e-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
UUID: Vendor specific (0000eb03-d102-11e1-9b23-00025b00a5a5)
Modalias: usb:v1377p7001d0480
$ pactl list
Card #1
Name: bluez_card.xx_xx_xx_xx_xx_xx
Driver: module-bluez5-device.c
Owner Module: 23
Properties:
device.description = "MOMENTUM TW 2"
device.string = "xx:xx:xx:xx:xx:xx"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci1/dev_xx_xx_xx_xx_xx_xx"
bluez.class = "0x240404"
bluez.alias = "MOMENTUM TW 2"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
Profiles:
headset_head_unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 30, available: yes)
a2dp_source_sbc: High Fidelity Capture (A2DP Source: SBC) (sinks: 0, sources: 1, priority: 20, available: yes)
a2dp_source_aac: High Fidelity Capture (A2DP Source: AAC) (sinks: 0, sources: 1, priority: 20, available: no)
a2dp_source_aptx: High Fidelity Capture (A2DP Source: APTX) (sinks: 0, sources: 1, priority: 20, available: no)
a2dp_source_aptx_hd: High Fidelity Capture (A2DP Source: aptX HD) (sinks: 0, sources: 1, priority: 20, available: no)
a2dp_sink_sbc: High Fidelity Playback (A2DP Sink: SBC) (sinks: 1, sources: 0, priority: 40, available: yes)
a2dp_sink_aac: High Fidelity Playback (A2DP Sink: AAC) (sinks: 1, sources: 0, priority: 40, available: yes)
a2dp_sink_aptx: High Fidelity Playback (A2DP Sink: aptX) (sinks: 1, sources: 0, priority: 40, available: yes)
a2dp_sink_aptx_hd: High Fidelity Playback (A2DP Sink: aptX HD) (sinks: 1, sources: 0, priority: 40, available: no)
a2dp_sink_ldac: High Fidelity Playback (A2DP Sink: LDAC) (sinks: 1, sources: 0, priority: 40, available: no)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: a2dp_sink_aptx
Ports:
headset-output: Headset (priority: 0, latency offset: 0 usec, available)
Part of profile(s): headset_head_unit, a2dp_sink_sbc, a2dp_sink_aac, a2dp_sink_aptx, a2dp_sink_aptx_hd, a2dp_sink_ldac
headset-input: Headset (priority: 0, latency offset: 0 usec)
Part of profile(s): headset_head_unit, a2dp_source_sbc, a2dp_source_aac, a2dp_source_aptx, a2dp_source_aptx_hd
$ pacmd set-card-profile 1 a2dp_sink_aptx
Any idea how to make Momentum 4 work properly in Ubuntu 20.04 ?
Behavior: After headset connected, the output sound is good, but after switched input device from computer mic to headset mic, my noise cancel is activated and the output sounds like too far away. Do you know anything about it?
This strange behavior seems like the "enhancement option" that Windows have.
Any idea how to solve this?
Before switching mic (audio is good):

After switching mic to headset mic (audio seems be far away and noise cancel is activated):
