I’ve encountered a pretty weird issue regarding using two game controllers via bluetooth. When i try to connect one controller it works fine with either one but once i try to connect the second one the DualShock 4 (or PS4) controller instantly disconnects. It shouldn’t be a hardware issue since it works fine on windows and even some clean linux installs. That’s the weird part i already had a clean fedora install where it worked but now i had to clean install fedora and it doesn’t work now again.
I already installed bluez-tools and bluez-hid2hci as other sources suggested but they did nothing.
Here are the information i could gather so far…
Bluetooth controller: Intel AX200 (built in into a MSI MEG X570 ACE)
Controller 1: DualShock 4 (or Playstation 4 controller… this one is the one instantly disconnecting)
Controller 2: DualSense (or Playstation 5 controller)
I already updated the DualSense controller to the latest firmware and I also tried resetting both controllers and pairing them while they are trusted. I get both the br-connection-create-socket and the can’t get HIDP connection info errors with both controllers but only the DualShock 4 controller disconnects even when i connect it first. Also the DualShock 4 controller will not connect or pair when the DualSense controller is connected.
I get that I am on Fedora 37 which is not really supported right now but in my previous installation it worked on 36 and after upgrading it also worked on 37. Only now after a fresh install it’s broken again.
I would appreciate any help because I’m sick after sinking hours into this only to get generic error messages which don’t tell me anything. Thanks in advance.
This sounds like an issue with the controllers conflicting in the channel they connect to and/or device IDs, and the dualsense is getting priority on bluetooth. It is never possible to have 2 devices that the system sees with the same IDs active at the same time due to conflicts in addressing.
Note the two UUIDs assigned are completely the same.
So if this is it how can i change this? And if not how can i otherwise check for the assigned IDs or the channel they are using?
Also like i posted it here i paired the PS4 controller first and then paired the PS5 controller while the ps4 controller was still connected but they get both still the same UUIDs. Ironic doesn’t UUID stand for “something” unique identifier but when they get the same it’s not unique at all
Edit: If unclear this time again the ps4 controller disconnected without any error or anything it just froze like usual and then after a few seconds it turns off and i get a device disconnected notification in the terminal.
[CHG] Device XX:XX:XX:XX:XX:XX ServicesResolved: no
[CHG] Device XX:XX:XX:XX:XX:XX Connected: no
Edit 2: with steam closed the PS4 controller stays connected for almost a minute until it completely freezes and disconnects. During this minute though it is barely useable. Also when both are connected the PS5 controller also has connection issues which further suggests that the bluetooth controller is trying to connect both as one maybe:
A device UUID may be hard coded within the device and assigned by the mfgr. Unlike drives, file systems, partitions, etc. where the UUID is assigned at the time it is created (and may or may not be unique when compared to other systems).
UUIDs that are not unique do conflict. Locally assigned UUIDs are normally unique within that system. UUIDs are not guaranteed to be unique if assigned by different systems.
Then any guess as to how it did work on my previous install or under windows?
I’m contemplating about clean installing Fedora 36, updating it and then updating that to fedora 37 again. I mean in my last install which i updated there was no broken theming. Though next to my controllers both working it also imported the Software center being broken and my wifi having had a little annoyance so I’m not totally sold on the idea yet if you can offer me anything better.
Edit: I know i edit waaay too much. I just wanted to add that when i pair the PS5 controller first the ps4 controller won’t even pair and i just get a “Failed to pair: org.bluez.Error.AuthenticationTimeout”
Hey!
I’ve been experiencing the same problem, except this time with a Sony DualSense controller and a genuine Nintendo Wii remote. They worked in F36, but don’t work in F37, which I installed on 2022-10-16. I connect one remote, try to connect the other and the second one disconnects after a few seconds (while freezing my laptop in the process). The controllers share the same UUIDs. I use an Intel AX200 WiFi/Bluetooth chip which hasn’t caused any problems in the past. I suspect it’s something to do with the bluez version used, which is 5.64 in F36 and 5.65 in F37 but I can’t find anything else.
bluetoothctl info E0:0C:7F:03:7D:DB:
Device E0:0C:7F:03:7D:DB (public)
Name: Nintendo RVL-CNT-01
Alias: Nintendo RVL-CNT-01
Class: 0x00002504
Icon: input-gaming
Paired: yes
Bonded: yes
Trusted: yes
Blocked: no
Connected: yes
WakeAllowed: yes
LegacyPairing: yes
UUID: Service Discovery Serve.. (00001000-0000-1000-8000-00805f9b34fb)
UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
Modalias: usb:v057Ep0306d8614
bluetoothctl info 7C:66:EF:23:B9:9D:
Device 7C:66:EF:23:B9:9D (public)
Name: Wireless Controller
Alias: Wireless Controller
Class: 0x00002508
Icon: input-gaming
Paired: yes
Bonded: yes
Trusted: yes
Blocked: no
Connected: yes
WakeAllowed: yes
LegacyPairing: no
UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
Modalias: usb:v054Cp0CE6d0100
The output when I connected the Wiimote after the DualSense:
[CHG] Device 7C:66:EF:23:B9:9D Connected: yes
[CHG] Device E0:0C:7F:03:7D:DB ServicesResolved: no
[CHG] Device E0:0C:7F:03:7D:DB Connected: no
I’m not sure what else I can do, the DualSense always takes priority regardless of connection order.
This seems quite common. The fact that the controllers share UUID (or MAC) means the system cannot properly manage the connection due to conflicts in addressing the devices. UUIDs are supposedly unique and having 2 different devices on the same system with the same UUID will always cause communication problems.
Since UUIDs are likely hardcoded into the device by the manufacturer, how did Fedora successfully handle these conflicts previously and where did it go wrong (a software regression, maybe)? Thanks anyways for your insight.