Trying to connect my headphones gives a "connection failed: disconnected too early" error

Removing and repairing the device works, but trying to do that is very annoying since bluetooth just won’t see my headphones sometimes, requiring restart after restart, rescan after rescan until it magically works… until next boot. I have no idea why. It’s a Xiaomi Mi TW Earphones 2 Basic. Restarting bluetooth (sudo systemctl restart bluetooth or sudo bluetooth off && sudo bluetooth on) doesn’t work. Running blueman-manager in commandline provides this:

blueman-manager 10.39.31 ERROR    Base:85 callback  : Unhandled error for org.bluez.Adapter1.StopDiscovery
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/blueman/bluez/Base.py", line 78, in callback
    value = proxy.call_finish(result).unpack()
gi.repository.GLib.GError: g-io-error-quark: GDBus.Error:org.bluez.Error.Failed: No discovery started (36)
blueman-manager 10.39.44 WARNING  ManagerDeviceMenu:141 fail      : fail g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.Failed: blueman.bluez.errors.DBusFailedError:  Disconnected early
 (0)

What does this mean? How can I fix it? Thank you for your help in advance.