DualShock controllers with a mind of their own
-
First of all, be sure to listen to @mitu, as the sixaxis driver is highly recommended - especially for official controllers and newer Raspbian versions. If you've removed ps3controller and switched to sixaxis but still see the issue, there are a few possibilities that may explain the problem.
- Bluetooth interference causing ghost inputs. This is common on board revisions that don't have hardware flow control support for the Bluetooth chip (only some 3B board revisions are guaranteed to have it). You can determine if this is the case by checking your dmesg log for
Bluetooth: hci0: Frame reassembly failed
messages, or checking if the ghost inputs occur when connected via USB. - Loose/dirty ribbon connector. This is a common issue with aging PS3 controllers, but has a relatively simple fix. This video may be helpful:
If the ghost inputs still occur via USB, then perhaps you should try your controller on a PC to rule out software problems before resorting to adjusting the ribbon connector.
If your issue is Bluetooth interference, however, a workaround to reduce interference is possible for you to try.
- Bluetooth interference causing ghost inputs. This is common on board revisions that don't have hardware flow control support for the Bluetooth chip (only some 3B board revisions are guaranteed to have it). You can determine if this is the case by checking your dmesg log for
-
Thanks gentlemen.
@mitu I've uninstalled ps3controller and reinstalled sixaxes, unfortunately the issue persists.
@psyke83 I've made the changes to /usr/bin/btuart as suggested. The issue is a lot less, but it still happens, just less often.
I can try a USB Bluetooth controller. Do I need to disable the onboard Bluetooth and if so, how would I go about doing this?
-
@Evert said in DualShock controllers with a mind of their own:
I can try a USB Bluetooth controller. Do I need to disable the onboard Bluetooth and if so, how would I go about doing this?
Edit the
config.txt
file from your SD card (should appear in theBOOT
partition on your PC when you insert it) and add a line withdtoverlay=pi3-disable-bt
-
Thanks mate, I'll try this tomorrow and then install a USB Bluetooth dongle to see if it fixes the problem.
-
-
Is this the same as this issue, where motion controls of the controller were causing it it to jump around erratically? https://retropie.org.uk/forum/topic/17650/dualshock-controllers-on-4-4-with-3b/34. Search that page for "rsn8887 25 Jun 2018, 13:58" to jump down to the solution.
When I had that it was was with PS4 controllers however, not PS4. I never had a PS3 so I don't know if they had similar, or any, motion sensors.
-
@ohmycommodore said in DualShock controllers with a mind of their own:
Is this the same as this issue, where motion controls of the controller were causing it it to jump around erratically? https://retropie.org.uk/forum/topic/17650/dualshock-controllers-on-4-4-with-3b/34. Search that page for "rsn8887 25 Jun 2018, 13:58" to jump down to the solution.
When I had that it was was with PS4 controllers however, not PS4. I never had a PS3 so I don't know if they had similar, or any, motion sensors.
No, and to remedy the motion control conflict, you should just install the
sixaxis
scriptmodule, as that will install a udev rule to blacklist the motion controls for both DS3 and DS4 controllers.@Evert said in DualShock controllers with a mind of their own:
@mitu and @psyke83
I couldn't wait till tomorrow. I've dug up an old USB BT dongle, applied the above line to the config and everything is working as it should. Thank you very much gentlemen.Glad to hear it. If you want to avoid using an extra dongle, you could try reducing the baud rate even further (likely
230400
) to potentially eliminate the errors entirely. The lower baud rate would impact usage of BT peripherals that need to transmit larger amounts of data, but if you're just using it for controllers, it might work OK.I have a suspicion that a kernel driver or Pi firmware update may have caused interference to get worse when flow control is not available, but I've never investigated this too thoroughly. My 3B exhibits this issue, but the workaround was effective enough for me to just leave it be.
-
I would agree that something has changed. I never had this problem when I was running Jessie. Same Pi, same controller. I only changed the SD card and installed the latest nightly. I didn’t update the firmware so maybe kernel.
-
@Evert said in DualShock controllers with a mind of their own:
I would agree that something has changed. I never had this problem when I was running Jessie. Same Pi, same controller. I only changed the SD card and installed the latest nightly. I didn’t update the firmware so maybe kernel.
Yes, agreed. After checking a related bug report, it seems that driver changes between kernel 4.14 to 4.19 may have exacerbated the issue.
Judging from the replies to that bug report, it looks as though reducing the baud rate even further (to
115200
) may fully eliminate the dropped packets on the newer kernel releases. -
Update on this issue: judging from recent comments in the bug report I mentioned in my previous post, a possible fix for the issue (which may have also affected boards with hardware flow control enabled) has been committed to the firmware via this commit.
You could test the fix via
rpi-update
, but I would generally discourage users from bypassing the Debian packaging of firmware packages by this tool. If you have a spare card and want to experiment on a test install, however, it could be worth a try. I'm not sure if/when I'll test, as I don't have a spare SD card at the moment. -
Thanks mate, I don't have a spare SD at the moment either, but I might be able to give it a run in a few weeks.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.