Weird bluetooth device reconnects and no audio

Hi all,

I have a Fosi Audio BT20A bluetooth amplifier that I want to use as audio output device for my desktop.
The amplifier works great with Android and Apple phones.

Unfortunately, it does not with Fedora (or probably any other distribution). The device gets connected and registers as audio sink that is selectable in the gnome settings, but: no audio.

Interestingly the device seems to reconnect randomly every few minutes or seconds. Also it tries to register as hid as well:

…
kernel: input: Fosi Audio BT20A (AVRCP) as /devices/virtual/input/input90
kernel: input: Fosi Audio BT20A (AVRCP) as /devices/virtual/input/input91
kernel: input: Fosi Audio BT20A (AVRCP) as /devices/virtual/input/input92
…
Jan 06 14:42:15 wireplumber[30743]: 0x55f665467b98: error 24
Jan 06 14:42:15 /usr/libexec/gdm-x-session[2828]: (II) event21 - Fosi Audio BT20A (AVRCP): device removed
Jan 06 14:42:15 /usr/libexec/gdm-x-session[2828]: (II) config/udev: removing device Fosi Audio BT20A (AVRCP)
Jan 06 14:42:15 /usr/libexec/gdm-x-session[2828]: (**) Option "fd" "74"
Jan 06 14:42:15 /usr/libexec/gdm-x-session[2828]: (II) UnloadModule: "libinput"
Jan 06 14:42:15 /usr/libexec/gdm-x-session[2828]: (II) systemd-logind: releasing fd for 13:85
Jan 06 14:42:15 wireplumber[30743]: Failed to release transport /org/bluez/hci0/dev_F4_4E_FD_81_BB_33/sep2/fd4: Method "Release" with signature "" on interface "org.bluez.MediaTransport1" doesn't exist
Jan 06 14:42:15 gsd-media-keys[3256]: gvc_mixer_card_get_index: assertion 'GVC_IS_MIXER_CARD (card)' failed
Jan 06 14:42:15 gsd-media-keys[3256]: Unable to get default sink
Jan 06 14:42:15 gnome-shell[3022]: gvc_mixer_card_get_index: assertion 'GVC_IS_MIXER_CARD (card)' failed
Jan 06 14:42:17 kernel: input: Fosi Audio BT20A (AVRCP) as /devices/virtual/input/input95
Jan 06 14:42:17 bluetoothd[35362]: /org/bluez/hci0/dev_F4_4E_FD_81_BB_33/sep2/fd5: fd(41) ready
Jan 06 14:42:17 systemd-logind[1626]: Watching system buttons on /dev/input/event21 (Fosi Audio BT20A (AVRCP))
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (II) config/udev: Adding input device Fosi Audio BT20A (AVRCP) (/dev/input/event21)
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (**) Fosi Audio BT20A (AVRCP): Applying InputClass "evdev keyboard catchall"
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (**) Fosi Audio BT20A (AVRCP): Applying InputClass "libinput keyboard catchall"
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (**) Fosi Audio BT20A (AVRCP): Applying InputClass "system-keyboard"
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (II) Using input driver 'libinput' for 'Fosi Audio BT20A (AVRCP)'
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (II) systemd-logind: got fd for /dev/input/event21 13:85 fd 74 paused 0
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (**) Fosi Audio BT20A (AVRCP): always reports core events
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (**) Option "Device" "/dev/input/event21"
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (II) event21 - Fosi Audio BT20A (AVRCP): is tagged by udev as: Keyboard
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (II) event21 - Fosi Audio BT20A (AVRCP): device is a keyboard
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (II) event21 - Fosi Audio BT20A (AVRCP): device removed
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (**) Option "config_info" "udev:/sys/devices/virtual/input/input95/event21"
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (II) XINPUT: Adding extended input device "Fosi Audio BT20A (AVRCP)" (type: KEYBOARD, id 14)
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (**) Option "xkb_layout" "de"
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (**) Option "xkb_variant" "deadtilde"
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (II) event21 - Fosi Audio BT20A (AVRCP): is tagged by udev as: Keyboard
Jan 06 14:42:17 /usr/libexec/gdm-x-session[2828]: (II) event21 - Fosi Audio BT20A (AVRCP): device is a keyboard

(and so on, this is what I get every now and then).

bluetoothctl shows:

Device F4:4E:FD:81:BB:33 (public)
	Name: Fosi Audio BT20A
	Alias: Fosi Audio BT20A
	Class: 0x00240404
	Icon: audio-headset
	Paired: yes
	Bonded: yes
	Trusted: yes
	Blocked: no
	Connected: yes
	LegacyPairing: no
	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)

When connected the amplifier sends two “play” commands (first one “pushed”, second one “released”, found this while using btmon) which result in a ø-symbol on my screen.

I’m not sure what happens here. But no matter whether I play some audio files before or after the amp sends its “play” command, I get no sound from it.

Can I stop the amplifier somehow from being registered as input device? How do I get some sound out of it?

fwiw: a bluetooth headset (linklike fly 9) works fine with my desktop.