You are not logged in.
System Information:
Operating System: Arch Linux
Desktop Environment: GNOME
Bluetooth Adapter: Realtek RTL8852BU
Bluetooth Device: Bluetooth Earphones (Model: Noise buds X prime) (not very relevant)
Problem Description: Bluetooth works intermittently. The device connects normally for a few days, but then disconnects unexpectedly. After disconnecting, it fails to reconnect and stops detecting new devices for a few days, then starts working again normally without any intervention.
(note : the earphones are fully functional and connect normally to any other device)
Steps to Reproduce:
Bluetooth works normally and earphones are connected.
After a few days, earphones automatically disconnect.
Attempting to reconnect results in the device not being found or failing to pair/connect.
This issue persists for several days, after which the Bluetooth device may reconnect on its own without any configuration changes.
Logs & Output:
systemctl status bluetooth:
The Bluetooth service is up and running without issues, but the following error is present in the logs:
Dec 24 20:08:30 (username) bluetoothd[673]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
Dec 24 21:17:49 (username) bluetoothd[673]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
The service itself shows no active errors but indicates issues with the Hands-Free Voice gateway record.
dmesg Output: Relevant lines show that the Bluetooth adapter is being initialized correctly, but sometimes it does not reconnect:
[ 1.211664] usb 3-10: Product: Bluetooth Radio
[ 4.679552] Bluetooth: Core ver 2.22
[ 4.679577] NET: Registered PF_BLUETOOTH protocol family
[ 4.679578] Bluetooth: HCI device and connection manager initialized
[ 4.799754] Bluetooth: hci0: RTL: examining hci_ver=0b hci_rev=000b lmp_ver=0b lmp_subver=8852
[ 4.800792] Bluetooth: hci0: RTL: rom_version status=0 version=1
[ 4.800798] Bluetooth: hci0: RTL: loading rtl_bt/rtl8852bu_fw.bin
[ 4.831627] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 5.127932] Bluetooth: hci0: RTL: fw version 0x04479301
[ 5.211786] Bluetooth: hci0: AOSP extensions version v1.00
[ 5.211808] Bluetooth: hci0: AOSP quality report is supported
hciconfig Output: The Bluetooth adapter is detected and initialized (hci0), but intermittently fails to connect with devices.
Steps Taken to Resolve:
Rebooted the system and restarted the Bluetooth service:
sudo systemctl restart bluetooth
Tried removing and re-pairing the Bluetooth device manually with bluetoothctl:
Powering on Bluetooth, enabling pairing, scanning for devices, pairing, and connecting did not resolve the issue.
Attempted to clear cached devices: (note : after clearing cached devices, the system fails to redetect the uncached devices)
Cleared old device cache and attempted reconnect, but it failed.
Checked power-saving settings and ensured Bluetooth was not being autosuspended:
Tried disabling autosuspend for Bluetooth via TLP and modifying btusb.enable_autosuspend=n in GRUB settings. No resolution.
Checked for hardware interference:
The device was in close proximity with no other potential sources of interference.
Tried using another live Linux environment: (pop os 22.04 LTS)
Bluetooth did not work in the live environment either, indicating that the issue is likely hardware or driver related.
Additional Information:
The issue has occurred multiple times in the past, and the system Bluetooth works again after several days without any intervention.
The Bluetooth device seems to "reset" itself after a few days, reconnecting automatically without changes on my part.
Possible Causes: (completely hypothetical, i have no idea)
Intermittent failure or instability with the internal Realtek RTL8852BU Bluetooth chipset or its drivers.
Driver or firmware issues related to the Realtek Bluetooth chipset, as seen with Realtek's Bluetooth devices on Linux.
Power-saving or interference issues affecting Bluetooth performance intermittently.
Requested Assistance:
Suggestions for troubleshooting driver or firmware issues with the Realtek RTL8852BU chipset.
Any additional Linux kernel parameters or configuration options that may improve Bluetooth stability.
any other way to fix the issue permanently and explanation (if possible) for what was causing it
System Environment:
Kernel Version: 6.12.6-arch1-1
Bluetooth Adapter: Realtek RTL8852BU
Bluetooth Driver: rtl8852bu
Linux Distribution: Arch Linux with GNOME
Bluetooth Device: Bluetooth Earphones (Model: Noise buds X prime) (not relevant to the issue)
thank you.
Offline
Bluetooth works intermittently. The device connects normally for a few days, but then disconnects unexpectedly.
After disconnecting, it fails to reconnect and stops detecting new devices for a few days, then starts working again normally without any intervention.
1. is there a parallel windows installation?
2. is there a parallel windows installation?
3. is there a parallel windows installation?
4. Still radio interference? Do you connect to a 2.4GHz AP or have a dongle for wireless input devices (logitech unifying receiver etc)? Maybe an open microwave to heat the room?
dmesg Output: Relevant lines show that
Please post your complete system journal for an affected boot, eg.
sudo journalctl -b -1 | curl -F 'file=@-' 0x0.st
for the previous (-1) one.
The Bluetooth device seems to "reset" itself after a few days, reconnecting automatically without changes on my part.
Does it help to shutdown, remove the power supply (battery), wait a couple of minutes and then reboot?
Or is it a bluetooth dongle? Have you try to yank it reps. run it on a different host resp. use a different USB port (preferably a USB3 one and even then - not all usb ports are equal, some get more power than others)?
Offline
No, there is no parallel windows installation.
Interference does not seem to be the issue here.
Is there a way to anonymize the journal before posting it?
No, it isn't a dongle. I will try removing the battery, waiting and couple of minutes and rebooting.
Offline
Is there a way to anonymize the journal before posting it?
There're not supposed any actually senstive data logged in the journal but you can
sed 's/embarrassing detail/generic replacement/g'
Please make sure to pseudonymize things (ie. aaa => xxx, bbb => yyy - *not* "aaa => xxx, bbb => xxx")
Interference does not seem to be the issue here.
If you're using 2.4GHz wifi, try to switch to 5GHz or off to rule that out.
Another thing: do you only have the headphones as testcase? Any other BT devices to detect (your phone or so)?
Offline
Hello, I'm really sorry for the late reply.
journalctl log : http://0x0.st/8rEQ.txt
I am using 5GHz wifi.
I tried to make my laptop detect other bluetooth devices too, it detects nothing.
The earphones are being detected by other devices normally.
Offline
I am using 5GHz wifi.
No you're not.
Dec 25 13:05:32 govind wpa_supplicant[736]: wlp1s0: SME: Trying to authenticate with 10:10:81:fc:02:f6 (SSID='govind' freq=2462 MHz)
Dec 25 13:05:32 govind wpa_supplicant[736]: wlp1s0: Trying to associate with 10:10:81:fc:02:f6 (SSID='govind' freq=2462 MHz)
Dec 25 13:25:29 govind wpa_supplicant[736]: wlp1s0: SME: Trying to authenticate with 10:10:81:fc:02:f6 (SSID='govind' freq=2462 MHz)
Dec 25 13:26:28 govind wpa_supplicant[736]: wlp1s0: SME: Trying to authenticate with 10:10:81:fc:02:f6 (SSID='govind' freq=2462 MHz)
Dec 25 13:26:28 govind wpa_supplicant[736]: wlp1s0: Trying to associate with 10:10:81:fc:02:f6 (SSID='govind' freq=2462 MHz)
Dec 25 13:26:43 govind wpa_supplicant[736]: wlp1s0: SME: Trying to authenticate with 10:10:81:fc:02:f6 (SSID='govind' freq=2462 MHz)
Dec 25 13:26:56 govind wpa_supplicant[736]: wlp1s0: SME: Trying to authenticate with 10:10:81:fc:02:f6 (SSID='govind' freq=2462 MHz)
Dec 25 13:26:56 govind wpa_supplicant[736]: wlp1s0: Trying to associate with 10:10:81:fc:02:f6 (SSID='govind' freq=2462 MHz)
Disable the WiFi, rfkill it if you have to.
There're no glaring BT issues in the journal, also not reg. the main rtw89_8852be chip.
The other thing would be to completely disable TLP, not sure how relevant that is wrt. the PopOS situation, though
Offline
I had a problem with Bluetooth yesterday. Completely different hardware, but moving to linux-lts solved it (pacman -S linux-lts, then select the LTS kernel on bootscreen). Maybe it's worth a try.
Offline
I had a problem with Bluetooth yesterday. Completely different hardware, but moving to linux-lts solved it (pacman -S linux-lts, then select the LTS kernel on bootscreen). Maybe it's worth a try.
I tried that, did not change anything. thanks for the suggestion.
No you're not.
my wifi router has both frequencies and my laptop randomly switched between the two. I have now tried explicitly connecting to the 5GHz network, that didn't help either.
I tried disabling TLP, that too, did not change anything.
Last edited by aperiogon3141 (2024-12-27 05:37:55)
Offline
@esdrasbeleza, mediatek chip?
tried explicitly connecting … tried disabling TLP
Please post your complete system journal for the boot:
sudo journalctl -b | curl -F 'file=@-' 0x0.st
Bluetooth works intermittently. The device connects normally for a few days, but then disconnects unexpectedly. After disconnecting, it fails to reconnect and stops detecting new devices for a few days, then starts working again normally without any intervention.
Ideally also an (older) journal from a boot where bt was working.
Tried removing and re-pairing the Bluetooth device manually with bluetoothctl:
Powering on Bluetooth, enabling pairing, scanning for devices, pairing, and connecting did not resolve the issue.
At which step does this fail? Pairing, scanning or connecting (maybe post the entire IO)
Offline
Please post your complete system journal for the boot
Im note sure that the current boot's journal will contain the required information as I had rebooted after disabling TLP.
Since checking whether disabling TLP did anything, I have re-enabled it and rebooted.
http://0x0.st/8s8L.txt
Ideally also an (older) journal from a boot where bt was working.
how can I identify a boot in which bluetooth was working?
At which step does this fail? Pairing, scanning or connecting (maybe post the entire IO)
if the earphones are already cached by my laptop, the error occurs at pairing :
bluetoothd[673]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
and if the bluetooth device I am trying to connect is not cached, It is not detected at all.
Offline
contain the required information as I had rebooted after disabling TLP
That's actually the boot I'd like to see - the less noise the more prominent the signal - hopefully
how can I identify a boot in which bluetooth was working?
Either by date or checking it for connection indicating messages (PA/PW should™ post something when you attach headphones) - otherwise you'll have to wait until it magically fixes itself.
Just to be sure, you're using the in-tree module and not https://aur.archlinux.org/packages/rtl8852bu-dkms-git ?
lsmod
modinfo 8852bu
dkms status
Offline
Either by date or checking it for connection indicating messages (PA/PW should™ post something when you attach headphones) - otherwise you'll have to wait until it magically fixes itself.
For a moment, it started detecting bluetooth devices, But within a few minutes, it stopped doing so again.
this is the current boot's journal (in which this temporary bluetooth working state occured) : http://0x0.st/8sff.txt
Just to be sure, you're using the in-tree module and not https://aur.archlinux.org/packages/rtl8852bu-dkms-git ?
i am not sure what that means, but i dont have this aur package installed on my system.
lsmod
modinfo 8852bu
dkms status
output : https://pastebin.com/4XRmeHSj
That's actually the boot I'd like to see - the less noise the more prominent the signal - hopefully
ill reboot my system after disabling tlp and send the journal.
Offline
ill reboot my system after disabling tlp and send the journal.
"unfortunately", after rebooting with tlp off, bluetooth started working again,
journal : http://0x0.st/8sfU.txt
Offline
For a moment, it started detecting bluetooth devices, But within a few minutes
How many minutes? The journal covers 2.5h and a sleep cycle?
Bluetooth Driver: rtl8852bu
isn't loaded, where did you get the idea to be using that driver?
"Good" boot has
Dec 29 19:31:37 govind bluetoothd[522]: Failed to set mode: Failed (0x03)
The "bad" boot includes
Dec 29 14:28:49 govind dbus-broker[595]: A security policy denied :1.12 to send method call /midi/profile:org.bluez.GattProfile1.Release to :1.82.
Both have
Dec 29 19:31:37 govind bluetoothd[522]: src/main.c:get_mode() Unknown controller mode "bredrand"
What does your /etc/bluetooth/main.conf look like?
Offline
How many minutes? The journal covers 2.5h and a sleep cycle?
Not more than a minute at the very end of that boot.
isn't loaded, where did you get the idea to be using that driver?
I suspected a driver issue, so I tried installing :
https://aur.archlinux.org/packages/rtl8852bu-dkms-git and https://github.com/morrownr/rtl8852bu, both to no avail.
"Good" boot has
Dec 29 19:31:37 govind bluetoothd[522]: Failed to set mode: Failed (0x03)
The "bad" boot includesDec 29 14:28:49 govind dbus-broker[595]: A security policy denied :1.12 to send method call /midi/profile:org.bluez.GattProfile1.Release to :1.82.
Both haveDec 29 19:31:37 govind bluetoothd[522]: src/main.c:get_mode() Unknown controller mode "bredrand"
I'm sorry, but I genuinely have no idea what is up with this.
One thing I do recognize is "bredrand". When I was first looking for help on this problem, I had stumbled across a github issue which recommended I change the ControllerMode in /etc/bluetooth/main.conf to "bredrand"
What does your /etc/bluetooth/main.conf look like?
https://pastebin.com/87UDbS33
The only change I have made (as far as I remember) is changing the ControllerMode to bredrand.
Last edited by aperiogon3141 (2024-12-29 15:31:19)
Offline
The only change I have made (as far as I remember) is changing the ControllerMode to bredrand.
Undo that, "bredr" is a valid controller type, "bredrand" is… random.
Also see the config itself
# Possible values: "dual", "bredr", "le"
Actually do try "bredr", though.
Offline
Should I set it to "dual" instead? It enables both modes.
Also, Bluetooth is currently in a working state. Is there any other data I can collect right now that might help diagnose the issue?
Offline
Dual is the default and what you - probably - get for bogus values.
So rather try "bredr", see whether the "Failed to set mode: Failed (0x03)" messages (do you currently have it in your journal) disappears and whether that stabilizes your BT.
Edit: in case that's not clear, "LE" is the low energy mode and seems prone to cause this if it's not working properly.
Last edited by seth (2024-12-30 12:56:05)
Offline
I have set the ControllerMode to "bredr". It has caused the "Failed to set mode: Failed" messages to disappear but hasn't stabilized bluetooth. It stopped working again.
journal log for bluetooth from the point it stopped working mid-use : https://pastebin.com/0T1pGVeW (stopped working at 23:08:37)
for reference, this is the log when i take the connected bt device out of range : https://pastebin.com/4sC8ei2i
there seem to be a few differences, but I can't find where or what the problem is using this.
Last edited by aperiogon3141 (2024-12-30 18:03:47)
Offline
journal log for bluetooth from the point it stopped working mid-use
That's only starting at 23:08:37
Dec 30 23:08:54 govind bluetoothd[789]: plugins/policy.c:reconnect_timeout() Reconnecting services failed: Device or resource busy (16)
this is "how" but the "why" would be ahead of that - and it doesn't appear in the journal in #12
=> please post the complete journal of that boot, before 23:08:37 and not filtered for bluetooth.
Offline
please post the complete journal of that boot, before 23:08:37 and not filtered for bluetooth.
Dec 30 23:08:54 govind bluetoothd[789]: plugins/policy.c:reconnect_timeout() Reconnecting services failed: Device or resource busy (16)
which device or resource is it calling busy here?
Last edited by aperiogon3141 (2025-01-01 06:13:53)
Offline
Dec 30 18:56:45 govind bluetoothd[789]: /org/bluez/hci0/dev_0C_61_FF_81_34_73/sep1/fd0: fd(29) ready
Dec 30 18:58:29 govind wireplumber[1867]: pw.node: (bluez_output.0C_61_FF_81_34_73.1-87) graph xrun not-triggered (0 suppressed)
Dec 30 18:58:29 govind wireplumber[1867]: pw.node: (-87) xrun state:0x7745951be008 pending:1/3 s:142289882397 a:142290082403 f:142290090258 waiting:200006 process:7855 status:triggered
Dec 30 20:54:02 govind wireplumber[1867]: spa.bluez5.native: RFCOMM receive command but modem not available: AT+CHLD=?
Dec 30 20:54:02 govind wireplumber[1867]: spa.bluez5.native: RFCOMM receive command but modem not available: AT+NREC=0
Dec 30 20:54:02 govind wireplumber[1867]: spa.bluez5.native: RFCOMM receive command but modem not available: AT+CGMI?
Dec 30 20:54:07 govind bluetoothd[789]: /org/bluez/hci0/dev_0C_61_FF_81_34_73/sep1/fd1: fd(29) ready
Dec 30 21:09:48 govind wireplumber[1867]: spa.bluez5.native: RFCOMM receive command but modem not available: AT+CHLD=?
Dec 30 21:09:48 govind wireplumber[1867]: spa.bluez5.native: RFCOMM receive command but modem not available: AT+NREC=0
Dec 30 21:09:48 govind wireplumber[1867]: spa.bluez5.native: RFCOMM receive command but modem not available: AT+CGMI?
Dec 30 21:09:54 govind bluetoothd[789]: /org/bluez/hci0/dev_0C_61_FF_81_34_73/sep1/fd2: fd(29) ready
Dec 30 21:34:07 govind wireplumber[1867]: pw.node: (bluez_output.0C_61_FF_81_34_73.1-90) graph xrun not-triggered (0 suppressed)
Dec 30 21:34:07 govind wireplumber[1867]: pw.node: (-90) xrun state:0x7745951be008 pending:1/1 s:9480092218960 a:9480092351847 f:9480092392630 waiting:132887 process:40783 status:triggered
Dec 30 22:26:49 govind wireplumber[1867]: pw.node: (bluez_output.0C_61_FF_81_34_73.1-90) graph xrun not-triggered (0 suppressed)
Dec 30 22:26:49 govind wireplumber[1867]: pw.node: (-90) xrun state:0x7745951be008 pending:1/2 s:12642205025114 a:12642205063792 f:12642205085852 waiting:38678 process:22060 status:triggered
Dec 30 23:08:37 govind wireplumber[1867]: spa.bluez5: Failed to release transport /org/bluez/hci0/dev_0C_61_FF_81_34_73/sep1/fd2: Input/output error
looks like pipewire/wireplumber?
What "other" bluetooth devices did you test? Also audio?
Offline
What "other" bluetooth devices did you test? Also audio?
A mobile phone and another pair of earphones.
looks like pipewire/wireplumber?
But then why would the phone too have issues connecting, then?
Offline
Do you have access to a USB keyboard/mouse?
Was the phone the only BT connection or did it maybe fall victim to the headphones?
Looking beyond BT, there's also
Dec 30 23:08:37 govind bluetoothd[789]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
Dec 30 23:08:37 govind bluetoothd[789]: profiles/audio/avdtp.c:handle_unanswered_req() No reply to Suspend request
Dec 30 23:08:37 govind wireplumber[1867]: spa.bluez5: Failed to release transport /org/bluez/hci0/dev_0C_61_FF_81_34_73/sep1/fd2: Input/output error
Dec 30 23:08:37 govind gsd-media-keys[1548]: Unable to get default sink
Dec 30 23:08:40 govind wpa_supplicant[742]: wlp1s0: CTRL-EVENT-BEACON-LOSS
Try
rtw89_pci.disable_clkreq=y rtw89_pci.disable_aspm_l1=y rtw89_pci.disable_aspm_l1ss=y rtw89_core.disable_ps_mode=y
Offline
Do you have access to a USB keyboard/mouse?
yes, wired usb devices are working normally
Was the phone the only BT connection or did it maybe fall victim to the headphones?
Do you mean that the phone might have connected to the headphones, blocking the laptop from connecting to the phone?
If so, that’s not the issue. I turned the earphones off and then tried connecting the laptop to the phone, but it still didn’t work.
Try
Added it to kernel parameters, didn't help
I still don't get it. What exactly does the problem seem to be?
Last edited by aperiogon3141 (2025-01-02 05:35:00)
Offline