While you're here, please consider supporting GamingOnLinux on:
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register
- Intel and NVIDIA drivers holding back a public SteamOS release, Valve not trying to compete with Windows
- GOG joins the European Federation of Game Archives, Museums and Preservation Projects
- Discord screen-sharing with audio on Linux Wayland is officially here
- NVIDIA release new GPU driver updates for Linux and Windows after announcing security issues
- DXVK v2.5.3 released with more improvements for Windows games on Linux
- > See more over 30 days here
-
Indian mystery adventure game Detective Dotson arrives …
- chr -
GE-Proton 9-23 released with a Battle.net update fix fo…
- 14 -
GE-Proton 9-23 released with a Battle.net update fix fo…
- ToddL -
GE-Proton 9-23 released with a Battle.net update fix fo…
- ElamanOpiskelija -
Wireless HORIPAD for Steam gets a firmware fix for the …
- ThatSpoonyBard - > See more comments
What happens:
When playing a 4-player game with 4 controllers connected, one random controller will always become unresponsive.
In this state, the Bluetooth settings window shows that the controller is connected, but neither Steam nor the OS itself recognises any button presses or touchpad swipes.
Disconnecting and reconnecting the controller does not take the controller out of this state. Only restarting the PC gets the controller out of this state.
How I've reproduced it:
What I've tried:
I'm at a loss for where the problem is. Any advice on what the problem could be? Or what I could do to try to solve it?
Failing that, is there some different hardware I should be using? I really don't want to have to switch to Windows. Thank you in advance.
System info:
OS: Pop!_OS 22.04 LTS (64-bit)
Motherboard: ASRock Z690M-ITX/ax
Processor: 12 Gen Intel Core i5-12600 x 12
Graphics: AMD Radeon rx 6700 xt
Networking info
(lspci -nnk | grep net -A2
)
0000:00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (17) I219-V [8086:1a1d] (rev 11)
Subsystem: ASRock Incorporation Ethernet Connection (17) I219-V \[1849:1a1d\] Kernel driver in use: e1000e Kernel modules: e1000e
--
0000:04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
Subsystem: ASRock Incorporation RTL8125 2.5GbE Controller \[1849:8125\] Kernel driver
Last edited by azuredusk10 on 4 Mar 2024 at 9:21 pm UTC
I was able to reproduce it by wiggling the touch pads of the controllers all at once without any games open, just with the Bluetooth settings window open.
I was also able to reproduce it playing Super Tux Cart after 8 minutes of button mashing all 4 controllers at once. I checked the kernel logs after playing - /var/log/kernellog.txt. The last line corresponds to about the time when one of the controllers went unresponsive.
Feb 26 23:46:00 pop-os kernel: [ 12.624755] input: Wireless Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0/hci0:512/0005:054C:09CC.0004/input/input18
Feb 26 23:46:00 pop-os kernel: [ 12.625118] input: Wireless Controller Motion Sensors as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0/hci0:512/0005:054C:09CC.0004/input/input19
Feb 26 23:46:00 pop-os kernel: [ 12.625252] input: Wireless Controller Touchpad as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0/hci0:512/0005:054C:09CC.0004/input/input20
Feb 26 23:46:00 pop-os kernel: [ 12.625712] playstation 0005:054C:09CC.0004: Registered DualShock4 controller hw_version=0x0000b408 fw_version=0x0000a00a
Feb 26 23:46:00 pop-os kernel: [ 12.768758] playstation 0005:054C:09CC.0005: unknown main item tag 0x0
Feb 26 23:46:00 pop-os kernel: [ 12.769567] playstation 0005:054C:09CC.0005: hidraw4: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on f4:26:79:6c:4d:8b
Feb 26 23:46:00 pop-os kernel: [ 12.832430] input: Wireless Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0/hci0:768/0005:054C:09CC.0005/input/input21
Feb 26 23:46:00 pop-os kernel: [ 12.832746] input: Wireless Controller Motion Sensors as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0/hci0:768/0005:054C:09CC.0005/input/input22
Feb 26 23:46:00 pop-os kernel: [ 12.832992] input: Wireless Controller Touchpad as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0/hci0:768/0005:054C:09CC.0005/input/input23
Feb 26 23:46:00 pop-os kernel: [ 12.834580] playstation 0005:054C:09CC.0005: Registered DualShock4 controller hw_version=0x0000b40c fw_version=0x0000a00a
Feb 26 23:46:01 pop-os kernel: [ 12.920728] playstation 0005:054C:09CC.0006: unknown main item tag 0x0
Feb 26 23:46:01 pop-os kernel: [ 12.921553] playstation 0005:054C:09CC.0006: hidraw5: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on f4:26:79:6c:4d:8b
Feb 26 23:46:01 pop-os kernel: [ 12.980468] input: Wireless Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0/hci0:1024/0005:054C:09CC.0006/input/input24
Feb 26 23:46:01 pop-os kernel: [ 12.980682] input: Wireless Controller Motion Sensors as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0/hci0:1024/0005:054C:09CC.0006/input/input25
Feb 26 23:46:01 pop-os kernel: [ 12.980777] input: Wireless Controller Touchpad as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0/hci0:1024/0005:054C:09CC.0006/input/input26
Feb 26 23:46:01 pop-os kernel: [ 12.981126] playstation 0005:054C:09CC.0006: Registered DualShock4 controller hw_version=0x0000b408 fw_version=0x0000a00a
Feb 26 23:54:36 pop-os kernel: [ 528.650641] playstation 0005:054C:09CC.0006: DualShock4 input CRC's check failed
When I view a copy of this log in the terminal via `sudo dmesg`, the last line appears in red while all others appear white.
Last edited by azuredusk10 on 27 Feb 2024 at 12:48 am UTC
This does look like a problem with the upstream driver. Sony rewrote the Dualshock driver in 6.2 and there where further improvements in later kernel releases.
What kernel version are you running?
View PC info
That's really helpful information, thank you. I'm on kernel 6.6.10-76060610-generic
One thought did cross my mind - I've been using a GNOME extension that displays the controllers' battery level in the top bar: https://github.com/thankjura/ds4battery/releases
It hasn't had any significant updates since kernel 6.2 was released so I wonder if it could be causing any issues? I'll disable the extension and see how that goes.
I'll also try with 5 Dualshock 4 controllers (one extra connected but not in use), what the heck! I've got a spare one banished to the cupboard as I thought it was the culprit!
I also searched online for the error message from my logs about "input CRC's check failed". Some DS4Windows users said they get a similar error on Windows when using counterfeit controllers. I'll try opening the controllers up and check if they look like the one that came with my old PS4. I did buy the other controllers refurbished or second hand, so even though from the outside they look and feel pretty much identical and they all have the same weight, there's still a chance they're not quite right.
Thanks both so much for your responses, I really appreciate it
Controller responsiveness
A couple of the controllers are less responsive than the others. When moving the joysticks rapidly from left to right in jstest-gtk, these controllers don't report the values as frequently as the other controllers - the axis scale jitters slightly, whereas the other controllers report a smooth range from one extreme to the other. Navigating the menus in Steam also feels slightly more sluggish when using them. And when they are left in the neutral position, jstest-gtk registers a value of over ±100 for them (when the maximum is about ±37,000) while the others are much closer to 0 when in neutral. So I get the impression these controllers are worn out.
Dualshock battery percentage GNOME extension
Disabling this extension had no effect. We still had 1 controller go unresponsive about 10 minutes into play. It wasn't one of the less responsive controllers though; it was the one which seemed the most responsive in jstest-gtk.
These were the errors from the kernel log. The timestamps of either of the last 2 lines could correspond to the time the controller went unresponsive.
Feb 27 19:29:12 pop-os kernel: [ 1293.828369] playstation 0005:054C:09CC.0003: DualShock4 input CRC's check failed
Feb 27 19:32:26 pop-os kernel: [ 1488.505198] playstation 0005:054C:09CC.0003: DualShock4 input CRC's check failed
Feb 27 19:36:57 pop-os kernel: [ 1759.124135] playstation 0005:054C:09CC.0004: DualShock4 input CRC's check failed
Feb 27 19:46:48 pop-os kernel: [ 2350.193528] Bluetooth: Unexpected start frame (len 83)
Feb 27 19:49:32 pop-os kernel: [ 2513.804332] playstation 0005:054C:09CC.0005: DualShock4 input CRC's check failed
Using a bluetooth keyboard instead of a controller for P4
This worked! Player 4 used a wireless Apple Magic Keyboard 2 instead of the least responsive DS4 controller and this worked without problems. All 4 players were able to play continuously for a half hour game without anyone's input method going unresponsive. No errors were generated in the kernel log.
I'm still not sure what the problem was, but at least I have found a workaround. I think I'll eventually try and replace the less responsive controllers with new DS4 controllers and see if that solves the issue.
Last edited by azuredusk10 on 27 Feb 2024 at 8:57 pm UTC
If you have the time, consider filing a bug report in the kernel Bugzilla with the errors from the kernel log. File it under Product -> Drivers, and Component -> Input Devices.
View PC info
With bluetooth devices you have different profiles that would be loaded. What you are telling me here is, it's when gamecontroller profile gets loaded 4 times there are issues. 3 game controller profiles and keyboard profile is fine.
I wonder if it is a regressions. You could check pretty easily. Downloaded an older live boot CD from Ubuntu or what ever distro you use that's pre kernel 6.2. I think Kernel 5.15 and 5.19 were pretty good, so a distro release from that Kernel era. That, or you could download an older kernel from your repo and there is also Linux-TKG that will still build older kernel versions. Linux-TKG is how I build my kernel. I think burning the liveboot image to a USB thumbdrive and booting from that would be the easiest for now.
Edit: One other thing. https://wiki.ubuntu.com/DebuggingBluetooth
Last edited by Highball on 29 Feb 2024 at 7:22 pm UTC
Whatever the outcome, I'll file a bug in the kernel Bugzilla and post the link in this thread. I've found the category you mentioned whizse - thank you very much. Fingers crossed this ends up removing a barrier to PlayStation users who want to move Linux.
Last edited by azuredusk10 on 2 Mar 2024 at 1:02 am UTC
View PC info
One other question, do you have the same issue when plugged into USB? I'd tests this out myself, but I only have one DS5 controller. I'd have to swing by GameStop and pick up 3 more controllers. If I remember correctly its the same driver (for DS4 and DS5) since kernel 6.2. If we can get this narrowed down, I'd be happy to hook up a kernel debugger and check it out.
Last edited by Highball on 2 Mar 2024 at 9:04 pm UTC
I've done some more testing.
Yes, I could reproduce this problem when one controller is connected only via USB and the 3 others are connected via bluetooth. (I double checked the bluetooth settings panel only had 3 controllers connected). We were able to play for about 10 minutes before one of the bluetooth-connected controllers went unresponsive. These were the error messages in the kernel logs, similar to before. The controller went unresponsive at about 19:55 (reading from my analogue watch) and I unplugged the USB controller about 30 seconds afterwards:
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
Mar 4 19:54:04 pop-os kernel: [ 792.308116] usb 1-2: USB disconnect, device number 6
It's worth noting that the line "DualShock4 input CRC's check failed" also gets generated when playing with 3 DS4 controllers without any issues of controllers going unresponsive, so I'm wondering if it's a red herring.
ALSO, I've found an easier way to reproduce this bug. Simply connect 4 controllers via bluetooth, wiggle the touchpads every 5 minutes or so to keep them from turning off, and after 20-30 minutes one of them will go unresponsive. It happens without any error messages in the kernel logs.
I was also able to reproduce this bug on a machine with different hardware and a different Linux distro - an Intel 12th gen Framework 13 laptop running Fedora 39, kernel version 6.7.6-200.fc39.x86_64. I left the 4 controllers connected via bluetooth, wiggled the touchpads every 5-10 minutes, then after 25 minutes one went unresponsive. All 4 controllers were still showing as connected in the Bluetooth settings panel and all 4 still had their lightbars on. There were no errors in the "GNOME Logs" program at the time the controller went unresponsive.
I tried to run a live CD of Ubuntu 21.10, but my laptop complained that there was a security violation and it asked for a MOK key. So I didn't have any luck there.
That's really kind of you to offer to look into this. If there's anything I can do to help, please let me know. Please don't feel obliged to go out and buy more controllers unless you'll get some use out of them yourself too - I know money is tight for many.
Shall I go ahead and write that kernel bug report?
Last edited by azuredusk10 on 4 Mar 2024 at 11:41 pm UTC
View PC info
Thank you so much. You've been so generous with your time and your help. If you do end up buying extra controllers to look into this, I'd be happy to cover the cost of them.
I've filed the kernel bug report:
https://bugzilla.kernel.org/show_bug.cgi?id=218564
https://www.amazon.co.uk/dp/B0B2737HPS/?_encoding=UTF8
The controllers are much more responsive to inputs as well when multiple controllers are connected. Before, the more controllers were connected, the more frequently there seemed to be input lag on the controllers.
It seems like the Steam Deck could have had similar issues. In their OLED model product page, it says that they used a dedicated Bluetooth adapter (unlike on the original Steam Deck) in order to improve performance when multiple external game controllers are connected. (Source: https://www.steamdeck.com/en/oled)
Last edited by azuredusk10 on 20 Mar 2024 at 10:55 pm UTC
As a result, I've closed the bug report in kernel.org.
If anyone else runs into Bluetooth connection issues when playing games with 4 controllers, it may be your computer's combined Bluetooth and WiFi adaptor causing the problem. Buying a separate Bluetooth USB dongle solved the problem for me. This is the one I bought: https://www.amazon.co.uk/dp/B0B2737HPS/?_encoding=UTF8
Thank you to everyone who helped diagnose the problem and offer support! Knowing I wasn't tackling this on my own was a huge encouragement.
Last edited by azuredusk10 on 12 Jun 2024 at 10:39 pm UTC