Bug 432715

Summary: Paired PlayStation Dualshock 3 Wireless Controller does not appear in Bluetooth tray
Product: [Plasma] Bluedevil Reporter: zexincoy
Component: system trayAssignee: David Rosca <nowrep>
Status: RESOLVED FIXED    
Severity: normal CC: bribbers, kde, milanfix, mmbossoni, nate, nicolas.fella, plasma-bugs
Priority: NOR Keywords: regression
Version: 5.20.5   
Target Milestone: ---   
Platform: Debian unstable   
OS: Linux   
Latest Commit: Version Fixed In: 5.23.5
Attachments: Hover over Bluetooth Icon in tray
Contoller paired and pressing on the Bluetooth icon in system tray
KDE bug while bluetoothctl and blueman-manager working as expected
attachment-18442-0.html

Description zexincoy 2021-02-10 01:34:24 UTC
Created attachment 135546 [details]
Hover over Bluetooth Icon in tray

SUMMARY
Official PlayStation Dualshock 3 Wireless Controller pairs successfully and is usable yet does not appear in the Bluetooth system tray or in the Bluetooth panel in System Settings. It only shows up if you hover over the Bluetooth icon in the tray.

STEPS TO REPRODUCE
1. Pair the controller via USB and "trust && authorize" the controller for Bluetooth access.
2. Press on the Bluetooth icon in the system tray to see the device not listed
3. Open System settings, go to the Bluetooth pane, and the controller will not be under the "Available" or "Connected" panels.

OBSERVED RESULT
Paired Dualshock 3 controller does not appear whether connected or disconnected in Bluetooth tray icon in Bluetooth panel in System Settings.

EXPECTED RESULT
Paired Dualshock 3 controller should appear whether connected or disconnected in Bluetooth tray icon in Bluetooth panel in System Settings.



SOFTWARE/OS VERSIONS

Linux/KDE Plasma: Debian Unstable
KDE Plasma Version: 5.20.5
KDE Frameworks Version: 5.78.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION

I tested out a Dualshock 4 controller and a Bluetooth speaker and could not replicate this issue with these devices. 

I also tried to replicate the Dualshock 3 issue on Kubuntu 20.10, openSUSE Tumbleweed, and KDE Neon Unstable Edition updated and could produce the same results.
Comment 1 zexincoy 2021-02-10 01:35:50 UTC
Created attachment 135547 [details]
Contoller paired and pressing on the Bluetooth icon in system tray
Comment 2 zexincoy 2021-03-10 21:37:59 UTC
UPDATE

I tested this on KDE Neon User and Testing updated as of 3/10/21 (Plasma 5.21.2) and the issue is still present. The controller is still able to be paired and used but it does does not show up in the Bluetooth tray.
Comment 3 Leroy G 2021-03-31 02:47:34 UTC
Created attachment 137188 [details]
KDE bug while bluetoothctl and blueman-manager working as expected

I can confirm this bug also with a PlayStation Dualshock 3 on:
Distro: OpenSUSE Tumbleweed
KDE Plasma Version: 5.21.3
KDE Frameworks Version: 5.80.0
Qt Version: 5.15.2
Kernel Version: 5.11.6

Also this *might* be a regression because this didn't happened last year while using OpenSUSE Tumbleweed with KDE. However I couldn't tell when exactly this started to happen because I didn't used KDE or even opensuse at all for some months.

I'm attaching another screenshot showing bluetoothctl and blueman-manager working as expected showing all devices while KDE isn't.
Comment 4 Leroy G 2021-04-01 04:31:21 UTC
Tested with Kubuntu 20.10 which has plasma 5.19.5 and this bug doesn't happen there, so indeed the bug was introduced in Plasma 5.20 and it's also indeed a regression.
Comment 5 zexincoy 2021-05-28 14:49:30 UTC
UPDATE

I tested KDE Neon Unstable updated as of 5/27/21 (Plasma 5.22.80, Frameworks 5.83.0) and the issue is still present. The controller is still able to be paired and used but it does does not show up in the Bluetooth tray.

This makes it challenging to disconnect and unpair the controller. You have to turn Bluetooth off and on, since there is no menu entry for it where you can press "disconnect."
Comment 6 Marcelo Bossoni 2021-09-18 23:19:01 UTC
This bug is also present on latest 5.23 beta
Comment 7 zexincoy 2021-10-27 02:22:04 UTC
This issue is still present as of Plasma Version 5.23.2
Comment 8 Bart Ribbers 2021-11-26 12:53:47 UTC
I can reproduce this on Alpine Linux with Plasma 5.23.2. Interestingly enough the tray icon does change showing _something_ is connected, the device just doesn't show up in any list.
Comment 9 Bug Janitor Service 2022-01-03 12:23:33 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/bluedevil/-/merge_requests/67
Comment 10 Bart Ribbers 2022-01-03 12:58:43 UTC
This will be fixed by the linked merge request. Note that you can in fact disconnect your DualShock 3 without turning off Bluetooth already: just hold the PS button for something like 10 seconds. This way you disconnect it from the controller side rather than the PC side.

Also the linked merge request fixes the issue for more devices that don't have a "paired" status, like Wiimotes.
Comment 11 Nicolas Fella 2022-01-03 15:50:51 UTC
Git commit efc104fa11c9b669bacbd107f758d484a61bd31d by Nicolas Fella, on behalf of Bart Ribbers.
Committed on 03/01/2022 at 15:50.
Pushed by nicolasfella into branch 'Plasma/5.23'.

Show connected but non-paired devices

Devices like Wiimotes and DualShock 3's use a custom method of
connecting. This causes those devices to not actually be paired like
usual but still be capable of connecting to the system.
These devices however never showed up in either the KCM or the applet as
they only showed paired devices, even if the devices were connected.
(cherry picked from commit 039c90be0901460e94e98630213ce7d98970b224)

M  +2    -2    src/applet/plugin/devicesproxymodel.cpp

https://invent.kde.org/plasma/bluedevil/commit/efc104fa11c9b669bacbd107f758d484a61bd31d
Comment 12 zexincoy 2022-01-07 00:41:34 UTC
(In reply to Bart Ribbers from comment #10)
> This will be fixed by the linked merge request. Note that you can in fact
> disconnect your DualShock 3 without turning off Bluetooth already: just hold
> the PS button for something like 10 seconds. This way you disconnect it from
> the controller side rather than the PC side.
> 
> Also the linked merge request fixes the issue for more devices that don't
> have a "paired" status, like Wiimotes.

In Plasma 5.23.5 the controllers now do show in the Bluetooth tray, but only when actively paired ( when the controller is in use). They do not however show in the Bluetooth tray "Available" section like other paired inactive devices (when the controller is off). Is that the new expected behavior?
Comment 13 Bart Ribbers 2022-01-07 09:00:53 UTC
Created attachment 145179 [details]
attachment-18442-0.html

That's not something that can be fixed, that's just how PS3 controllers (and Wiimotes) work. As far as I understand it the controller side is the one that remembers to which device it has connected last rather than the PC or both. 
You'll notice to connect in the first place you haven't went through the usual pairing process either, instead you plugged it in and accepted the notification that came up.
Same for Wiimotes, there is no pairing process involved: you just connect to it once your PC has found it while scanning.