Problem: When my Bluetooth Headset (auvisio ZX-3182) autoconnects to my Ubuntu 20.04 the bluetooth daemon confirms a connection,
~$ hcitool con
Connections:
> ACL 76:XX:XX:XX:XX:75 handle 256 state 1 lm MASTER
however PulseAudio (15.0) does not recognize the connected bluetooth device as a sound card automatically
~$ pactl list sinks short
0 alsa_output.pci-0000_00_1f.3.analog-stereo module-alsa-card.c s16le 2ch 48000Hz RUNNING
~$ pacmd list-cards
1 card(s) available.
index: 0
name: <alsa_card.pci-0000_00_1f.3>
driver: <module-alsa-card.c>
although the headset has the capabilities of being a sound card:
~$ hcitool info 76:XX:XX:XX:XX:75
Requesting information ...
BD Address: 76:XX:XX:XX:XX:75
Device Name: ZX-3182
LMP Version: 5.1 (0xa) LMP Subversion: 0x22bb
Manufacturer: not assigned (1494)
Features page 0: 0xbf 0xfe 0x8d 0xfa 0xd8 0x3d 0x79 0x83
<3-slot packets> <5-slot packets> <encryption> <slot offset>
<timing accuracy> <role switch> <sniff mode> <RSSI>
<channel quality> <SCO link> <HV2 packets> <HV3 packets>
<u-law log> <A-law log> <CVSD> <power control>
<transparent SCO> <broadcast encrypt> <EDR ACL 2 Mbps>
<enhanced iscan> <interlaced iscan> <interlaced pscan>
<inquiry with RSSI> <extended SCO> <AFH cap. slave>
<AFH class. slave> <LE support> <3-slot EDR ACL>
<5-slot EDR ACL> <pause encryption> <AFH cap. master>
<AFH class. master> <EDR eSCO 2 Mbps> <extended inquiry>
<simple pairing> <encapsulated PDU> <err. data report>
<non-flush flag> <LSTO> <inquiry TX power> <extended features>
Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Features page 2: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
What works: When I connect to the bluetooth headset manually, the headset is recognised by PulseAudio correctly and I can use it as a A2DP headset as well as a HFS/HPS dual-mode headset+headphone. Only if the headset autoconnects, it is not recognised by PulseAudio.
What the logs say: Nothing, no error message. I looked into
~$ tail /var/log/syslog
: No relevant output~$ systemctl --user status pulseaudio
: No relevant output~$ dmesg | tail
[ 6751.711444] perf: interrupt took too long (3202 > 3167), lowering kernel.perf_event_max_sample_rate to 62250
[ 6853.470790] input: ZX-3182 (AVRCP) as /devices/virtual/input/inputXX
Questions:
- Does anybody know this behaviour, that autoconnected bluetooth devices are not recognized by PulseAudio?
- Does anybody have a tip where to find a log message to come closer to the actual error?
- Can I find out which processes are using the bluetooth connection? Maybe another process is "catching" the bluetooth connection before pulseaudio can get it?
What I already tried:
- Made sure that
module-switch-on-connect
,module-bluetooth-discover
andmodule-bluetooth-policy
are loaded bypulseaudio
as suggested in Pulseaudio not detecting bluetooth headset automatically - Tried adding
Enable=Source,Sink,Media,Socket
under[General]
in/etc/bluetooth/main.conf
as suggested in PulseAudio fails to set card profile to 'a2dp_sink'. How can I see the logs and figure out whats wrong?. - Tried adding
FastConnectable=true
in/etc/bluetooth/main.conf
as suggested in Why is my Bluetooth headset not working now? - Tried removing
pulseaudio
fromgdm
as suggested in https://wiki.debian.org/BluetoothUser/a2dp - Tried
pipewire
on top ofpulseaudio
Any other ideas? Thanks for your help.