Bug 218564 - When 4 Sony DualShock 4 controllers are connected, one random controller goes unresponsive
Summary: When 4 Sony DualShock 4 controllers are connected, one random controller goes...
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Input Devices (show other bugs)
Hardware: All Linux
: P3 normal
Assignee: drivers_input-devices
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-05 22:27 UTC by Chris Wood
Modified: 2024-03-20 22:58 UTC (History)
0 users

See Also:
Kernel Version:
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Chris Wood 2024-03-05 22:27:14 UTC
When 4 Sony Dualshock 4 controllers are connected, one random controller will always become unresponsive after 10 - 30 minutes.



Steps to reproduce:

1. Connect 4 DS4 controllers to the PC. Either connect all 4 controllers via Bluetooth, or connect 3 via Bluetooth and 1 via USB cable.

2. Wiggle the touchpads on all controllers every 5-10 minutes to stop them from turning off.



Actual results:

After 20 - 30 minutes, one of the controllers stops responding to any input. It still shows as connected in the Bluetooth settings panel and its lightbar is still on. The controller that goes unresponsive is not the same one each time. No kernel errors are reported in the logs.



Expected results: 

All controllers continue to respond to button presses, joystick movements and touchpad inputs for as long as they are connected via Bluetooth or USB cable. 



System info:
OS: Pop!_OS 22.04 LTS (64-bit)
Kernel: 6.6.10-76060610-generic
Motherboard: ASRock Z690M-ITX/ax
Processor: 12 Gen Intel Core i5-12600 x 12
Graphics: AMD Radeon rx 6700 xt



Additional Builds and Platforms:
I also reproduced this by connecting the same 4 controllers to a different machine (Framework 13 laptop, 12th gen Intel i5-1240P x 16 CPU) running Fedora 39, with kernel version 6.7.6-200.fc39.x86_64.



Additional info:
I thought one of my DS4 controllers could have been causing this behaviour. I bought an extra DS4 controller to replace it but the bug persisted.

After connecting the 4 DS4 controllers, the bug occurs more quickly if you get 4 people together and play a 4-player local multiplayer game. One of the controllers tends to go unresponsive after about 10 minutes of active play time with lots of button presses and joystick movements, versus after 20-30 minutes of occasionally wiggling the touchpads.

This bug is *not* reproducible with only 3 DS4 controllers connected via bluetooth. Nor is it reproducible with 3 DS4 controllers connected via Bluetooth and 1 wireless Apple Magic Keyboard 2 connected via bluetooth. 

When playing a game, the Dualshock 4 controllers regularly cause "input CRC's check failed" errors in the kernel logs, even when using only 3 controllers (which does not cause this bug). When playing a game with 4 people and 4 DS4 controllers, the timestamp of these errors sometimes correlate to the timestamp when the controller went unresponsive. e.g. the last line here:

Mar  4 19:42:36 pop-os kernel: [  104.481714] playstation 0005:054C:09CC.0007: Registered DualShock4 controller hw_version=0x0000b40c fw_version=0x0000a00a
Mar  4 19:50:58 pop-os kernel: [  606.787634] playstation 0005:054C:09CC.0007: DualShock4 input CRC's check failed
Mar  4 19:52:02 pop-os kernel: [  670.973915] playstation 0005:054C:09CC.0005: DualShock4 input CRC's check failed
Comment 1 Chris Wood 2024-03-20 22:58:12 UTC
I bought this Bluetooth USB dongle and disabled my computer’s built-in WLAN chip and the problem hasn’t occurred after my initial testing:

https://www.amazon.co.uk/dp/B0B2737HPS/?_encoding=UTF8

Next, I’ll try a 4-player game when I’ve got some friends round and see if the new dongle holds up.

Note You need to log in before you can comment on or make changes to this bug.