timschneeb / GalaxyBudsClient

Unofficial Galaxy Buds Manager for Windows, macOS, Linux, and Android
GNU General Public License v3.0
3.58k stars 191 forks source link

[BUG] Buds2Pro don't appear as audio device after restart on Linux #555

Open amenaijp opened 2 weeks ago

amenaijp commented 2 weeks ago

Describe the bug
After restarting host laptop, my buds2pro don't appear as an audio device on KDE Plasma. The buds appear in the bluetooth devices menu, and GalaxyBudsClient can read data such as battery info. After forgetting the device and repairing, they work as expected, and can be put away and taken out again, and they will continue to work as expected. They also continue to work after host sleep/wake.

To Reproduce

  1. restart host device with the buds2pro already paired from a previous session
  2. open GalaxyBudsClient
  3. open buds case
  4. try and connect from GalaxyBudsClient
  5. After a while, expected battery info etc shows in GalaxyBudsClient; buds however don't appear in the Audio Volume menu and aren't listed as an audio device

bonus:

  1. Open bluetooth system settings menu
  2. forget earbuds
  3. open buds2pro case, set them to pairing mode
  4. open "Add New Device..." and pair normally
  5. should work as expected now, even after putting buds away and opening again

Expected behavior
After restart buds should be working normally after connecting to them, listed as an audio device etc Shouldn't have to forget and repair them

Desktop (please complete the following information):

Additional context
bluez version (from bluetoothd --version): 5.64 (persists in 5.72) can send dump.bins of the bluetooth exchanges if you want (is there anything sensitive stored in the dumps) might be a bluez issue? but since the buds seem to have a lot of proprietary stuff going on anyways i wanted to check here first

Log files
Killed the app after both tests, IME errors probably aren't related

Not working example:

[22:56:51 INF] PlatformImpl: Using LinuxPlatformImplCreator
[22:56:51 INF] IpcService: Service listening on the session bus
[22:56:51 WRN] IDeviceSpec: Cannot compare revision for AmbientExtraLoud. No ExtendedStatusUpdate cached
[22:56:51 WRN] IDeviceSpec: Cannot compare revision for AmbientExtraLoud. No ExtendedStatusUpdate cached
[22:56:52 INF] User script directory: /home/amenaijp/.local/share/GalaxyBudsClient/scripts
[22:56:52 INF] ScriptManager: 0 user script(s) found
[22:56:52 INF] Translator mode file location: /home/amenaijp/.local/share/GalaxyBudsClient/custom_language.xaml
[22:56:52 DBG] Environment: Production
[22:56:52 DBG] Linux.BluetoothService: Using Bluetooth adapter: hci0
[22:56:52 DBG] Linux.BluetoothService: Connecting... (attempt 1/5)
[22:56:52 DBG] Linux.HotkeyReceiver: All hotkeys unregistered
[22:56:52 INF] Startup time: 00:00:01.6427360
[IME] Unable to create IME input context:
Tmds.DBus.Protocol.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "CreateInputContext" with signature "a(ss)" on interface "org.fcitx.Fcitx.InputMethod1" doesn't exist
   at Tmds.DBus.Protocol.DBusConnection.MyValueTaskSource`1.System.Threading.Tasks.Sources.IValueTaskSource<T>.GetResult(Int16 token)
   at Tmds.DBus.Protocol.DBusConnection.CallMethodAsync[T](MessageBuffer message, MessageValueReader`1 valueReader, Object state)
   at Tmds.DBus.Protocol.Connection.CallMethodAsync[T](MessageBuffer message, MessageValueReader`1 reader, Object readerState)
   at Avalonia.FreeDesktop.DBusIme.Fcitx.FcitxX11TextInputMethod.Connect(String name)
   at Avalonia.FreeDesktop.DBusIme.DBusTextInputMethodBase.OnNameChange(Exception e, ValueTuple`3 args) (FcitxX11TextInputMethod #39516413)
[22:57:05 DBG] Linux.BluetoothService: Device ready. Registering profile client for UUID 2e73a4ad-332d-41fc-90e2-16bef06523f2...
[22:57:05 INF] Linux.BluetoothService: Unregistering profile failed: org.bluez.Error.DoesNotExist: Does Not Exist
[22:57:05 DBG] Linux.BluetoothService: Connecting to profile... (attempt 1/10)
[22:57:05 DBG] Linux.BluetoothService: Already connecting
[22:57:05 DBG] Linux.BluetoothService: Disconnected
[22:57:05 DBG] Linux.BluetoothService: Connecting to profile... (attempt 2/10)
[22:57:06 DBG] Linux.BluetoothService: Reconnected. Attempting to auto-connect to profile...
[22:57:06 DBG] Linux.BluetoothService: Connecting... (attempt 1/5)
[22:57:06 DBG] Linux.BluetoothService: Device ready. Registering profile client for UUID 2e73a4ad-332d-41fc-90e2-16bef06523f2...
[22:57:06 INF] Linux.BluetoothService: Unregistering profile failed: org.bluez.Error.DoesNotExist: Does Not Exist
[22:57:06 WRN] Linux.BluetoothService: UUID already registered. This may be fatal when multiple instances are active
[22:57:06 DBG] Linux.BluetoothService: Connecting to profile... (attempt 1/10)
[22:57:06 DBG] Linux.BluetoothService: Already connecting
[22:57:07 DBG] Linux.BluetoothService: Connecting to profile... (attempt 2/10)
[22:57:07 DBG] Linux.BluetoothService: Already connecting
[22:57:07 DBG] Linux.BluetoothSocket: Connected to profile
[22:57:07 DBG] Linux.BluetoothService: Connection established. Launching BluetoothServiceLoop
[22:57:07 DBG] Cleaning up old battery stats for F4:2B:8C:AF:26:C7
[22:57:07 WRN] IDeviceSpec: Cannot compare revision for AdvancedTouchLockForCalls. No ExtendedStatusUpdate cached
[22:57:07 DBG] Linux.BluetoothService: Connecting to profile... (attempt 3/10)
[22:57:07 DBG] Linux.BluetoothService: Already connecting
[22:57:08 DBG] Linux.BluetoothService: Connecting to profile... (attempt 4/10)
[22:57:33 DBG] Cleaning up old battery stats for F4:2B:8C:AF:26:C7
[22:57:33 DBG] Linux.BluetoothService: Disconnected
[22:57:33 DBG] Linux.BluetoothService: Disconnected
[22:57:37 DBG] MainWindow.OnClosing: Termination cancelled
[22:57:49 INF] TrayManager: Exit requested by user
[22:57:49 DBG] MainWindow.OnClosing: closing event, continuing termination
[22:57:49 DBG] Linux.BluetoothService: Disconnecting...
[22:57:49 DBG] Linux.BluetoothService: Cancelling BluetoothServiceLoop...
[22:57:49 INF] MainWindow: Shutting down normally
[22:57:49 DBG] Linux.BluetoothService: Profile disconnected

vs working example:

[22:59:04 INF] PlatformImpl: Using LinuxPlatformImplCreator
[22:59:04 INF] IpcService: Service listening on the session bus
[22:59:04 WRN] IDeviceSpec: Cannot compare revision for AmbientExtraLoud. No ExtendedStatusUpdate cached
[22:59:04 WRN] IDeviceSpec: Cannot compare revision for AmbientExtraLoud. No ExtendedStatusUpdate cached
[22:59:05 INF] User script directory: /home/amenaijp/.local/share/GalaxyBudsClient/scripts
[22:59:05 INF] ScriptManager: 0 user script(s) found
[22:59:05 INF] Translator mode file location: /home/amenaijp/.local/share/GalaxyBudsClient/custom_language.xaml
[22:59:05 DBG] Environment: Production
[22:59:05 DBG] Linux.BluetoothService: Using Bluetooth adapter: hci0
[22:59:05 DBG] Linux.BluetoothService: Connecting... (attempt 1/5)
[22:59:05 DBG] Linux.HotkeyReceiver: All hotkeys unregistered
[22:59:05 INF] Startup time: 00:00:01.7497977
[IME] Unable to create IME input context:
Tmds.DBus.Protocol.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "CreateInputContext" with signature "a(ss)" on interface "org.fcitx.Fcitx.InputMethod1" doesn't exist
   at Tmds.DBus.Protocol.DBusConnection.MyValueTaskSource`1.System.Threading.Tasks.Sources.IValueTaskSource<T>.GetResult(Int16 token)
   at Tmds.DBus.Protocol.DBusConnection.CallMethodAsync[T](MessageBuffer message, MessageValueReader`1 valueReader, Object state)
   at Tmds.DBus.Protocol.Connection.CallMethodAsync[T](MessageBuffer message, MessageValueReader`1 reader, Object readerState)
   at Avalonia.FreeDesktop.DBusIme.Fcitx.FcitxX11TextInputMethod.Connect(String name)
   at Avalonia.FreeDesktop.DBusIme.DBusTextInputMethodBase.OnNameChange(Exception e, ValueTuple`3 args) (FcitxX11TextInputMethod #39516413)
[22:59:10 DBG] Linux.BluetoothService: Failed: 'br-connection-create-socket'
[22:59:11 DBG] Linux.BluetoothService: Connecting... (attempt 2/5)
[22:59:14 DBG] Linux.BluetoothService: Device ready. Registering profile client for UUID 2e73a4ad-332d-41fc-90e2-16bef06523f2...
[22:59:14 INF] Linux.BluetoothService: Unregistering profile failed: org.bluez.Error.DoesNotExist: Does Not Exist
[22:59:14 DBG] Linux.BluetoothService: Connecting to profile... (attempt 1/10)
[22:59:14 DBG] Linux.BluetoothService: Already connecting
[22:59:15 DBG] Linux.BluetoothService: Connecting to profile... (attempt 2/10)
[22:59:15 DBG] Linux.BluetoothSocket: Connected to profile
[22:59:15 DBG] Linux.BluetoothService: Connection established. Launching BluetoothServiceLoop
[22:59:15 DBG] Cleaning up old battery stats for F4:2B:8C:AF:26:C7
[22:59:17 WRN] IDeviceSpec: Cannot compare revision for ChargingState. No ExtendedStatusUpdate cached
[22:59:17 WRN] IDeviceSpec: Cannot compare revision for ChargingState. No ExtendedStatusUpdate cached
[22:59:21 WRN] IDeviceSpec: Cannot compare revision for AdvancedTouchLockForCalls. No ExtendedStatusUpdate cached
[22:59:28 DBG] SpatialAudioDataDecoder.Gyrocal: Bias: 0,21,2,0,10
[22:59:32 DBG] Cleaning up old battery stats for F4:2B:8C:AF:26:C7
[22:59:32 DBG] Linux.BluetoothService: Disconnected
[22:59:39 INF] TrayManager: Exit requested by user
[22:59:39 DBG] MainWindow.OnClosing: closing event, continuing termination
[22:59:39 DBG] Linux.BluetoothService: Disconnecting...
[22:59:39 DBG] Linux.BluetoothService: Cancelling BluetoothServiceLoop...
[22:59:39 INF] MainWindow: Shutting down normally
[22:59:39 DBG] Linux.BluetoothService: Profile disconnected
[22:59:39 WRN] Linux.BluetoothService: (Non-critical) Exception raised while unregistering profile: org.bluez.Error.DoesNotExist: Does Not Exist
T-Six commented 1 week ago

I have this regardless of the Buds2Pro app. I don't have it installed right now and I also need to pair my buds after every single reboot. Subscribing in case anyone has a solution.