Bug 512462 - Bluetooth Applet Shows Duplicate Devices After Suspend/Resume
Summary: Bluetooth Applet Shows Duplicate Devices After Suspend/Resume
Status: REPORTED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Bluetooth widget (other bugs)
Version First Reported In: 6.5.3
Platform: Kubuntu Linux
: NOR normal
Target Milestone: 1.0
Assignee: Andrew Gigena
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-11-22 07:28 UTC by Aleksey Kontsevich
Modified: 2026-01-21 21:30 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
Screenshot (246.85 KB, image/png)
2026-01-21 21:10 UTC, Aleksey Kontsevich
Details
journalctl.log (118.33 KB, text/x-log)
2026-01-21 21:29 UTC, Aleksey Kontsevich
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aleksey Kontsevich 2025-11-22 07:28:23 UTC
SUMMARY
Bluetooth applet (Bluedevil) displays duplicate entries for previously paired devices after suspend/resume cycles. Duplicate entries accumulate across multiple suspend/resume events.

STEPS TO REPRODUCE
1. Pair one or more Bluetooth devices (headphones are easiest to reproduce with).
2. Suspend the system.
3. Resume the system.
4. Open the Bluetooth applet from the Plasma system tray.
5. Observe: device list now contains duplicated entries (often with “hci0” appended).
6. Repeating suspend/resume leads to additional duplicates.

OBSERVED RESULT
- After resume, Bluetooth devices appear multiple times in the Plasma applet.
- Duplicated items increase with each suspend/resume cycle.
- Restarting plasmashell removes the duplicates temporarily.

EXPECTED RESULT
- Each paired device should appear once in the Bluetooth applet.
- Suspend/resume should not create additional UI entries.

SOFTWARE/OS VERSIONS
Operating System: Kubuntu 25.10
KDE Plasma Version: 6.5.3 and 6.4.x
KDE Frameworks Version: 6.20.0
Qt Version: 6.9.2
Kernel Version: 6.17.0-6-generic (64-bit)
Graphics Platform: X11
Bluez version: 5.83
Pipewire version: 1.4.7
Bus 001 Device 003: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)


ADDITIONAL INFORMATION
Discussion on Reddit: https://www.reddit.com/r/kde/comments/1nopvt3/kde_bluetooth_applet_shows_dupe_devices_after/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

Potentially related KDE bugs:
Bug 497353 – adapter power state restore issues
Bug 445376 – previously fixed logout/login state restore issue
Bug 469119 – inconsistent restoration of Bluetooth state
Comment 1 TraceyC 2025-12-24 22:30:52 UTC
Thanks for the bug report. Can you check the bluetooth devices your kernel sees with this?

bluetoothctl devices

And then paste the output into this report. Thanks.


Note: The reddit post was deleted by the author.
Comment 2 Aleksey Kontsevich 2025-12-25 05:01:11 UTC
(In reply to TraceyC from comment #1)
> Thanks for the bug report. Can you check the bluetooth devices your kernel
> sees with this?
> 
> bluetoothctl devices
> 
> And then paste the output into this report. Thanks.

It shows all the devices by 1 copy only:

Device D8:AA:59:AF:2B:E7 JBL TUNE710BT
Device 30:F6:EF:BC:C5:9A LWO1-LDL-A26381
Device FE:AF:75:DE:AA:05 MX Anywhere 3
Comment 3 TraceyC 2025-12-30 21:29:57 UTC
Thanks for confirming. If the kernel only reports one copy of the device, but the applet shows two, that's a KDE bug.
I haven't seen this on Plasma built from git-master or 6.5.3. I'll leave this open so others can try to reproduce.
Comment 4 Aleksey Kontsevich 2026-01-18 04:16:54 UTC
Today plasma crashed when I scrolled through these duplicated devices and then restarted immediately - no duplicates in the list now. So I assume plasmashell restart could be a temp workaround to fix.
Comment 5 TraceyC 2026-01-20 23:36:55 UTC
Hi - just a heads up, our bug triaging procedures https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging#If_you_can_reproduce_the_bug are to mark as bug as "Confirmed" if it has been able to be reproduced by folks doing triage or development work, or if there is a large number of distinct user reports coming in for the same issue.

I also set the Version First Reported In back to what it had been. Please don't change this. See the field descriptions here for an explanation
https://bugs.kde.org/page.cgi?id=fields.html
Comment 6 Andrew Gigena 2026-01-21 14:38:27 UTC
Hi, I was not able to reproduce this issue on the latest git version. Could you please attach screenshots of the Bluetooth applet showing the duplicated devices? If possible, include cases where the same device appears two or three times, with the detailed device information section shown below the device title (visible after clicking the device).

Also, please share adapter information for all adapters by running "bluetoothctl list" and "bluetoothctl show <adapter_addr>" for each one, and provide logs captured during a suspend/resume cycle by running "journalctl -f", suspending the system, resuming it, opening the Bluetooth applet, and then pasting the relevant output here.
Comment 7 Aleksey Kontsevich 2026-01-21 21:10:36 UTC
Created attachment 188770 [details]
Screenshot
Comment 8 Aleksey Kontsevich 2026-01-21 21:28:40 UTC
(In reply to Andrew Gigena from comment #6)
> Hi, I was not able to reproduce this issue on the latest git version. Could
> you please attach screenshots of the Bluetooth applet showing the duplicated
> devices? If possible, include cases where the same device appears two or
> three times, with the detailed device information section shown below the
> device title (visible after clicking the device).

attachment 188770 [details]

> Also, please share adapter information for all adapters by running
> "bluetoothctl list" and "bluetoothctl show <adapter_addr>" for each one, and

>$ bluetoothctl list
Controller 5C:80:B6:48:BD:03 Aleksey-Latitude-5501 [default]

>$ bluetoothctl show 5C:80:B6:48:BD:03
Controller 5C:80:B6:48:BD:03 (public)
        Manufacturer: 0x0002 (2)
        Version: 0x0a (10)
        Name: aleksey-Latitude-5501
        Alias: Aleksey-Latitude-5501
        Class: 0x007c010c (8126732)
        Powered: yes
        PowerState: on
        Discoverable: no
        DiscoverableTimeout: 0x00000708 (1800)
        Pairable: yes
        UUID: Message Notification Se.. (00001133-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
        UUID: Vendor specific           (03b80e5a-ede8-4b33-a751-6ce34ec4c700)
        UUID: OBEX Object Push          (00001105-0000-1000-8000-00805f9b34fb)
        UUID: Message Access Server     (00001132-0000-1000-8000-00805f9b34fb)
        UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
        UUID: Vendor specific           (00005005-0000-1000-8000-0002ee000001)
        UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
        UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
        UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
        UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
        UUID: Phonebook Access Client   (0000112e-0000-1000-8000-00805f9b34fb)
        UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
        UUID: Handsfree Audio Gateway   (0000111f-0000-1000-8000-00805f9b34fb)
        UUID: Audio Source              (0000110a-0000-1000-8000-00805f9b34fb)
        UUID: Vendor specific           (185f3df4-3268-4e3f-9fca-d4d5059915bd)
        UUID: SIM Access                (0000112d-0000-1000-8000-00805f9b34fb)
        UUID: OBEX File Transfer        (00001106-0000-1000-8000-00805f9b34fb)
        UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)
        Modalias: usb:v1D6Bp0246d0553
        Discovering: no
        Roles: central
        Roles: peripheral
Advertising Features:
        ActiveInstances: 0x00 (0)
        SupportedInstances: 0x06 (6)
        SupportedIncludes: tx-power
        SupportedIncludes: appearance
        SupportedIncludes: local-name
        SupportedSecondaryChannels: 1M
        SupportedSecondaryChannels: 2M
        SupportedCapabilities.MinTxPower: 0xffffffde (-34)
        SupportedCapabilities.MaxTxPower: 0x0007 (7)
        SupportedCapabilities.MaxAdvLen: 0xfb (251)
        SupportedCapabilities.MaxScnRspLen: 0xfb (251)
        SupportedFeatures: CanSetTxPower
        SupportedFeatures: HardwareOffload

> provide logs captured during a suspend/resume cycle by running "journalctl
> -f", suspending the system, resuming it, opening the Bluetooth applet, and
> then pasting the relevant output here.

See the next attachment. However this time suspend/resume have not added new devices copies. May be requires longer sleep time. It mostly happens on laptop cove close/open - which suspends/resumes the laptop.
Comment 9 Aleksey Kontsevich 2026-01-21 21:29:23 UTC
Created attachment 188771 [details]
journalctl.log
Comment 10 Aleksey Kontsevich 2026-01-21 21:30:28 UTC
(In reply to Aleksey Kontsevich from comment #8)
> See the next attachment. However this time suspend/resume have not added new
> devices copies. May be it requires longer sleep time. It mostly happens on
> laptop cover close/open - which suspends/resumes the laptop.

*laptop cover