Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dualshock 4 controller is not recognized as connected // Logs show check_add_device: GetCalibrationData failed! #11343

Open
exiarc opened this issue Jan 7, 2022 · 32 comments

Comments

@exiarc
Copy link

exiarc commented Jan 7, 2022

Please do not ask for help or report compatibility regressions here, use RPCS3 Discord server or forums instead.

Quick summary

Tried to connect a dualshock 4 controller to the mac version of RPCS3: rpcs3-v0.0.20-13154-ae5c0b71_macos as listed here: https://cirrus-ci.com/task/5345818491224064

Reset Dualshock 4 (through reset button on back of controller) and connected controller through Anker 3-in-1 cable, the controller does not work on RPCS3 but if I try to see if controller is recognized by Steam's controller handler, it will work

All testing has been conducted through a wired connection as stated above, the MacBook Pro also has the bluetooth settings turned OFF and controller works on wired to an authentic PS3 and Steam (also through the same wire)

Details

Please describe the problem as accurately as possible.

0. Make sure you're running with settings as close to default as possible

  • Installed PS3 firmware version: 4.88 from the official playstation website: PS3UPDAT.PUP
  • NOTE: the error code pasted: error=0000000002911590 will change upon force restart of RPCS3 and couldn't find the same error code on the discord #help channel despite other users having similar issues (on other OS)

1. Please attach RPCS3's log.

  • SYS: RPCS3 v0.0.20-13154-ae5c0b71 Alpha | HEAD
  • SYS: VirtualApple @ 2.50GHz | 10 Threads | 16.00 GiB RAM | TSC: 1.000GHz
  • SYS: Operating system: POSIX, Name: Darwin, Release: 21.0.1, Version: Darwin Kernel Version 21.0.1: Tue Sep 14 20:56:24 PDT 2021; root:xnu-8019.30.61~4/RELEASE_ARM64_T6000
  • RSX: Found vulkan-compatible GPU: 'Apple M1 Pro' running on driver 0.2.890
  • SYS: Firmware version: 4.88
    E DS4: GetCalibrationData: hid_get_feature_report 0x05 for bluetooth controller failed! result=-1, error=0000000002911590
    E DS4: check_add_device: GetCalibrationData failed!

3. Please attach screenshots of your problem.

Screen Shot 2022-01-06 at 5 05 12 PM

4. Please provide comparison with real PS3.

Controller connects with PS3 but since it is a dualshock 4 controller (not a dualshock 3) rumble functionality doesn't work when connected to PS3. The rumble functionality does, however, work with Steam. Connection to PS3 was tested to work fine on both wired and wirelessly.

5. Please provide your system configuration:

  • OS - MacOS Monterey - Version 12.0
  • CPU - Apple M1 Pro
  • GPU - Base 16-core GPU
  • Driver version
  • etc.

Please include.

  • DEBUG actions taken:

I followed HoldTheMourning's alternative method of using Steam's controller handler to no avail. The result was that Steam would recognize the controller however RPCS3 does not show the controller handler with xinput and if I scroll to the Dualshock 4 it will still be the same issue where it shows the controller as disconnected

  1. First make sure you’ve enabled Playstation Configuration Support (or whichever option applies for your controller) in steam controller settings (open big picture mode > settings > controller settings > enable it).

  2. Exit big picture mode and add the RPCS3.exe to your Steam library as a non-steam game (Click add a game in the bottom left corner on Steam).

  3. Run RPCS3 via steam and in the emulator gamepad settings, select xinput in the handler drop down menu on the top left. Remember to click Save and exit.

NOTES: All initial installation instructions came from the Andrew Tsai's video that follow's Nas's MacOS build of RPCS3 here: https://www.youtube.com/watch?v=akJ5rqrBZKQ&t=0s

@Megamouse
Copy link
Contributor

xinput is a windows only thing.

@Jayian1890
Copy link

xinput is a windows only thing.

So that means no wireless support for MacOS? Seems kind of hard to believe given it works in literally every other gaming type program be it CrossOver, native or otherwise.

@mavethee
Copy link

mavethee commented Jan 7, 2022

I hate to be works for me guy, but tested couple of PR builds and mentioned in your issue. DualShock 4 works fine through the USB cable or via Bluetooth since Monterey has native support for it. Make sure you paired DS4 with your Mac and refresh in RPCS3 settings or just find a cable to connect controller. Dongles are cheap.

@exiarc
Copy link
Author

exiarc commented Jan 7, 2022

For all testing the connection to the Macbook Pro is through a wire, it works perfectly fine (wired) through Steam's input handler. I did not use Bluetooth to potentially limit any noise that BT may have with MacOS Monterey.

Steps I have taken are:

  • Hardware reset by pressing button on back of controller with toothpick
  • Disabled bluetooth on MacBook Pro to limit noise to just the controller handler issue
  • Connect DualShock 4 controller through wire to MacBook Pro
  • Open Steam to verify controller is recognized in Big Picture Mode
  • Force Quit Steam to make sure Steam's controller handler is not overriding RPCS3's controller handler
  • Open RPCS3 and load the controller/gamepad settings screen
  • Click DualShock 4 dropdown on input handler
  • RESULT: controller shows disconnected still

@mavethee
Copy link

mavethee commented Jan 9, 2022

Works without issues by USB cable and Hub. No need for Steam and other garbage. I have shitty cable so it disconnects but reconnects as soon as I will refresh it in settings.
Zrzut ekranu 2022-01-9 o 14 03 57

@Jayian1890
Copy link

USB isn’t the issue. At least with me. It’s the bluetooth aspect. Kind of annoying having to use a 10 foot cable to play lol. I know it’s not exactly high priority. But it would be nice to be able to use bluetooth instead of a cable.

@mavethee
Copy link

mavethee commented Jan 9, 2022

USB isn’t the issue. At least with me. It’s the bluetooth aspect. Kind of annoying having to use a 10 foot cable to play lol. I know it’s not exactly high priority. But it would be nice to be able to use bluetooth instead of a cable.

Zrzut ekranu 2022-01-9 o 14 18 20

Bluetooth should work just fine, tried two different controllers, RPCS3 detects them just fine.

@Jayian1890
Copy link

Jayian1890 commented Jan 9, 2022

With USB

Screen Shot 2022-01-09 at 7 22 11 AM

Without USB
Screen Shot 2022-01-09 at 7 21 59 AM

Perhaps my controllers aren’t “official” for some reason. I did get them off eBay. :(

@mavethee
Copy link

mavethee commented Jan 9, 2022

@sectnic @Jayark365 try this build: https://cirrus-ci.com/task/5999010270937088
Zrzut ekranu 2022-01-9 o 14 37 18
Should work fine.

@Jayian1890
Copy link

im on that build already heh LLVM ftw. I’ll order another controller from Amazon this time and see what happens.

@mavethee
Copy link

mavethee commented Jan 9, 2022

im on that build already heh LLVM ftw. I’ll order another controller from Amazon this time and see what happens.

Yeah, but better go with official one this time :P Sometimes it's not really about RPCS3 but macOS itself and it's weird support for certain controllers. PS4/PS5, XO/XOX are fully supported, PS3 one not much.

@exiarc
Copy link
Author

exiarc commented Jan 11, 2022

@mavethee I tried the build you suggest to no avail. The steps I took were:

  1. Download the Mac build version 28cf422 Alpha you mentioned above
  2. Trash current RPCS3 version and clear the trash bin
  3. Drag build 28cf422 Alpha into Applications and install 4.88 PS3 firmware
  4. Connect DS4 controller to MacBook Pro through BT connection
  5. Opened "Pads" and selected Dualshock 4 on dropdown list
  6. Controller was not recognized so clicked on refresh button
  7. Repeated Step 5 with various wired USB-A to micro-USB cables

Result was still the same, the controller would not show up as detected on RPCS3

Checks to confirm the controller was working:

  • Force Quit RPCS3 and opened Steam in "Big Picture Mode"
  • Tested controller is working as intended and scrolled around the menu screen

The controller was purchased at a big box electronics store so it should not be counterfeit. At this moment it seems that Steam is the only consistent software to recognize the controller input without issues. I've tried to connect the controller already with my friend's controller he received with his PS4 so changing out for a known official controller the issue still persists.

Screen Shot 2022-01-11 at 1 58 38 PM

Screen Shot 2022-01-11 at 1 55 27 PM

Screen Shot 2022-01-11 at 1 55 07 PM

@Jayian1890
Copy link

Hmmm. Perhaps it has something to do with how Mac reads controller data. All my controllers work in steam as well as on windows. But don’t on Mac. I was ready to chalk it up to all 3 of them being counterfeit. But the evidence is mounting.

@mavethee
Copy link

@sectnic

  1. Does it work with PS4?
  2. Is it official? Logs are pretty sus to me lol
  3. Do you have any other to test?
    For me, I have two DS4s, they been treated like shit over 6 years and still work fine.

Zrzut ekranu 2022-01-12 o 09 32 53

@exiarc
Copy link
Author

exiarc commented Jan 12, 2022

@mavethee

  1. Yes, the controllers both work perfectly fine with a PS4, one of the controllers I mentioned is the controller that came from my friend's PS4. I also tested both controllers on the PS3 that I personally own and the controllers work as intended
  2. Yes, both controllers are official. One of them is directly from a big box electronics store and the other was from my friend's PS4
  3. I do not have any others to tests but the official known controller from the PS4 should in theory work without any issues. I will sound a bit insensitive but I'm just here to report the issues that I'm facing along with the necessary documentation, I don't understand why you feel the need to say "logs are pretty sus" and other comments like "No need for Steam and other garbage"

I've even documented my attempt to resolve the issue by searching on the #help channel of discord and wrote that into my initial documentation. It seems to work fine for you but please don't downplay my attempts to document and mitigate my issue

@Guilosk
Copy link

Guilosk commented Apr 16, 2022

I have the same issue with my Dualshock 4. There is a update?

@EzioZz
Copy link

EzioZz commented Apr 21, 2022

@mavethee

  1. Yes, the controllers both work perfectly fine with a PS4, one of the controllers I mentioned is the controller that came from my friend's PS4. I also tested both controllers on the PS3 that I personally own and the controllers work as intended
  2. Yes, both controllers are official. One of them is directly from a big box electronics store and the other was from my friend's PS4
  3. I do not have any others to tests but the official known controller from the PS4 should in theory work without any issues. I will sound a bit insensitive but I'm just here to report the issues that I'm facing along with the necessary documentation, I don't understand why you feel the need to say "logs are pretty sus" and other comments like "No need for Steam and other garbage"

I've even documented my attempt to resolve the issue by searching on the #help channel of discord and wrote that into my initial documentation. It seems to work fine for you but please don't downplay my attempts to document and mitigate my issue

any search key words? How to find the document you write in discord #help channel

@EzioZz
Copy link

EzioZz commented Apr 21, 2022

I notice, rpcs3 use a thirdpart api name "hidapi", which might be out of date.
In WWDC 2019, Apple.Inc released a new GameController framework (https://developer.apple.com/videos/play/wwdc2019/616/)
Is it a feasible choice to import the framework to rpcs3 as a more genric generic controllers on mac?

@EzioZz
Copy link

EzioZz commented Apr 22, 2022

My ds4 works fine on windows, but failed on macos 12.3.1

@Milodmg
Copy link

Milodmg commented Apr 25, 2022

I have the same problem, works fine in other game and my ps4 except on RPC3. I tried reset the ds4 and connect with cable and still no working.

@Jayian1890
Copy link

I spoke to the macOS developer some time back. He’s aware controllers are faulty on macOS. But. If I recall correctly. He said. There’s no fix as of yet. It’s a macOS limitation due to the way macOS handles Bluetooth and usb devices. It works via usb. But not Bluetooth.

@EzioZz
Copy link

EzioZz commented Apr 27, 2022

this video may help you fix controller issue on Mac
https://www.youtube.com/watch?v=bylk5VRlJPE

@jcchikikomori
Copy link

jcchikikomori commented May 2, 2022

this video may help you fix controller issue on Mac https://www.youtube.com/watch?v=bylk5VRlJPE

That doesn't work. I tried playing Tekken games, and my character keeps jumping, or the face buttons keeps replacing with random keys. Maybe it works on some controllers, however not for me (8BitDo)

@Milodmg
Copy link

Milodmg commented May 3, 2022

this video may help you fix controller issue on Mac https://www.youtube.com/watch?v=bylk5VRlJPE

It´s works!
Thanks!

@shinra-electric
Copy link
Contributor

@sectnic A fix for DS4 disconnecting from Bluetooth has been merged to master.
Can you try it and close this issue if it works?

@miguelcobain
Copy link

Tried the latest available mac build with an 8BitDo SN30 pro+ controller. Still getting the GetCalibrationData failed error.

@ralph303
Copy link

My wireless DS4 works fine with RPCS3 (0.0.24-14241-92b08a4f Alpha | master) and MacOS 12.6 via bluetooth.
But if your battery of the controller is low and the bluetooth connection ends, then RPCS3 freezes.
As this happens very seldom, it's not really an important issue.

@Jayian1890
Copy link

I concur, the issue seems to have been fixed. My DS4 that previously didn't work, now works wirelessly

@pzagawa
Copy link

pzagawa commented Jun 1, 2024

Can't believe what I'm reading here. A lot of guess and useless ideas.

Of course, RPCS3 is using obsolete hid api for accessing bluetooth directly, which should not be done in Apple world. So, macOS version needs to use Apple suggested high level framework:

https://developer.apple.com/documentation/gamecontroller/

So, if your game controller works, it's just luck or old macOS version.

RPCS3 needs native macOS support to work properly and be future proof, no direct porting.

BTW, please do not force me to use discord. The only place to report code issues is github.

@mavethee
Copy link

mavethee commented Jun 1, 2024

This was dead for two years who asked for your discord? Just make a PR, tough guy 🤓
Using DInput is cursed enough, 3rd party controllers and macOS will be pain in the ass.
I'm lucky as shit then considering both DualShock 4 controllers from CUH-1216A work despite so many issues with macOS.

@Megamouse
Copy link
Contributor

As far as I know, SDL already uses both HID and the gamecontroller framework under the hood, so this entire HID argument is pointless.
There's no need for us to add the fabled gamecontroller framework and add yet another nonsensical handler.

@Megamouse
Copy link
Contributor

Also, hid is not old and obsolete lol. It's used like... everywhere and is still maintained.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests