| Summary: | Unable to pair Bluetooth controller from pair dialogue (bluedevil-wizard) | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | sirlan tomma <sirl> |
| Component: | Bluetooth widget | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | CC: | firebringer11, kde, kdedev, nate, nicolas.fella, olib141, skumpusch, spaha92 |
| Priority: | NOR | ||
| Version First Reported In: | 6.2.5 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
sirlan tomma
2025-01-28 00:31:58 UTC
I am seeing the same behavior with a MX Ergo mouse. I was able to pair it with bluetoothctl but not with bluedevil-wizard. I saw the same "No matching connection for device" message in the system log. I am using OpenSUSE Tumbleweed, kernel 6.14.1-1-default. My bluedevil version is 6.3.4-1.1. SUMMARY
When trying to use the Bluetooth pairing dialog (bluedevil-wizard) to pair a DualSense controller on Fedora 42 KDE, the pairing process fails, leaving the controller in an unusable state. Additionally, even when pairing manually using bluetoothctl, the controller does not reconnect automatically. Each time I want to use it, I have to manually remove and re-pair it via bluetoothctl, as reconnecting through the GUI does not work at all.
STEPS TO REPRODUCE
From either the widget or the System Settings, enable Bluetooth
Select to pair a new device
Put the controller in pairing mode (PS button + three lines button)
Select the controller from the list and click to pair
OBSERVED RESULT
The controller turns off mid-pairing, and the pairing window shows: "The setup of DualSense Wireless Controller has failed."
The controller appears in the list of paired devices but cannot be connected to. Turning on the controller leaves it in a "waiting for connection" state, and pressing the connect button in Plasma silently fails.
Even when paired successfully using bluetoothctl, the controller does not reconnect automatically. Instead, I must remove and re-pair it every time I want to use it. Reconnecting through the GUI does not work at all.
EXPECTED RESULT
The controller should pair and connect properly to the system and automatically reconnect when powered on again, assuming Bluetooth is enabled.
Same issue, immidiatelly disocnnects on fedora 42 kde, and i isntalled @gnome package, and it works there, even keeps working on kde if I logout from gnoem and login into kde... its just issue when connecting, it immidiatelly disconnects.
RCA:
LOG:
> ACL Data RX: Handle 71 flags 0x02 dlen 12
L2CAP: Connection Request (0x02) ident 4 len 4
PSM: 17 (0x0011)
Source CID: 65
< ACL Data TX: Handle 71 flags 0x00 dlen 16
L2CAP: Connection Response (0x03) ident 4 len 8
Destination CID: 0
Source CID: 65
Result: Connection refused - PSM not supported (0x0002)
Status: No further information available (0x0000)
This log snippet shows:
The DualSense controller requesting PSM 17 (HID control channel)
The system refusing the connection with "PSM not supported"
The controller disconnecting because it can't establish the HID connection
"Controller tries to connect on PSM 17 (HID) but gets 'PSM not supported' error"
"Connection disconnects with 'Remote User Terminated Connection'"
How I solved it temporarary:
This fixes the issue where a DualSense controller connects briefly and then immediately disconnects while maintaining Bluetooth autostart functionality.
The issue is specific to KDE and related to missing HID (Human Interface Device) support.
Create the bluetooth service override:
sudo mkdir -p /etc/systemd/system/bluetooth.service.d/
sudo nano /etc/systemd/system/bluetooth.service.d/override.conf
Add:
[Service]
ExecStartPost=/bin/sh -c "sleep 3; rfkill unblock bluetooth; /usr/bin/bluetoothctl power on"
ExecStart=
ExecStart=/usr/libexec/bluetooth/bluetoothd --experimental -p input
Create the input configuration:
sudo nano /etc/bluetooth/input.conf
Add:
[General]
UserspaceHID = true
ClassicBondedOnly = false
IdleTimeout = 30
Create the udev rules:
sudo nano /etc/udev/rules.d/99-dualsense.rules
Add:
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"
Set up kernel modules:
sudo modprobe hid-generic
sudo modprobe hid-sony
sudo modprobe uhid
echo "hid-generic" | sudo tee /etc/modules-load.d/hid.conf
echo "hid-sony" | sudo tee -a /etc/modules-load.d/hid.conf
echo "uhid" | sudo tee -a /etc/modules-load.d/hid.conf
Apply changes:
sudo udevadm control --reload-rules
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
The solution combines:
Service Override: Ensures Bluetooth service starts with HID support and auto-enables Bluetooth
Input Configuration: Configures proper HID handling
Udev Rules: Sets correct permissions for DualSense hardware
Kernel Modules: Loads necessary drivers for DualSense support
It keeps controller always connected though, even at idle...
(In reply to Rijad from comment #3) > Same issue, immidiatelly disocnnects on fedora 42 kde, and i isntalled > @gnome package, and it works there, even keeps working on kde if I logout > from gnoem and login into kde... its just issue when connecting, it > immidiatelly disconnects. > RCA: > LOG: > > ACL Data RX: Handle 71 flags 0x02 dlen 12 > L2CAP: Connection Request (0x02) ident 4 len 4 > PSM: 17 (0x0011) > Source CID: 65 > < ACL Data TX: Handle 71 flags 0x00 dlen 16 > L2CAP: Connection Response (0x03) ident 4 len 8 > Destination CID: 0 > Source CID: 65 > Result: Connection refused - PSM not supported (0x0002) > Status: No further information available (0x0000) > This log snippet shows: > > The DualSense controller requesting PSM 17 (HID control channel) > The system refusing the connection with "PSM not supported" > The controller disconnecting because it can't establish the HID connection > > "Controller tries to connect on PSM 17 (HID) but gets 'PSM not supported' > error" > "Connection disconnects with 'Remote User Terminated Connection'" > > > How I solved it temporarary: > > This fixes the issue where a DualSense controller connects briefly and then > immediately disconnects while maintaining Bluetooth autostart functionality. > The issue is specific to KDE and related to missing HID (Human Interface > Device) support. > > Create the bluetooth service override: > > sudo mkdir -p /etc/systemd/system/bluetooth.service.d/ > sudo nano /etc/systemd/system/bluetooth.service.d/override.conf > Add: > [Service] > ExecStartPost=/bin/sh -c "sleep 3; rfkill unblock bluetooth; > /usr/bin/bluetoothctl power on" > ExecStart= > ExecStart=/usr/libexec/bluetooth/bluetoothd --experimental -p input > > Create the input configuration: > > sudo nano /etc/bluetooth/input.conf > Add: > [General] > UserspaceHID = true > ClassicBondedOnly = false > IdleTimeout = 30 > > Create the udev rules: > > sudo nano /etc/udev/rules.d/99-dualsense.rules > Add: > KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", > MODE="0666" > SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", > MODE="0666" > SUBSYSTEM=="input", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", > MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" > > Set up kernel modules: > > sudo modprobe hid-generic > sudo modprobe hid-sony > sudo modprobe uhid > echo "hid-generic" | sudo tee /etc/modules-load.d/hid.conf > echo "hid-sony" | sudo tee -a /etc/modules-load.d/hid.conf > echo "uhid" | sudo tee -a /etc/modules-load.d/hid.conf > > Apply changes: > > sudo udevadm control --reload-rules > sudo systemctl daemon-reload > sudo systemctl restart bluetooth > > The solution combines: > > Service Override: Ensures Bluetooth service starts with HID support and > auto-enables Bluetooth > Input Configuration: Configures proper HID handling > Udev Rules: Sets correct permissions for DualSense hardware > Kernel Modules: Loads necessary drivers for DualSense support > > It keeps controller always connected though, even at idle... Hi i tried your solution but sadly no luck. But i have to say im fairly new to linux :D is there anything else you did besides what you listed in your temp fix? Do i have to remove those config files later on when there is a proper fix for this? Thanks in advace *** This bug has been marked as a duplicate of bug 495615 *** |