PS4 controller not detected in Retropie 4.6 on Pi 4B
-
Then the patching hasn't been successful, maybe the patch doesn't apply correctly to the current version of
hid-sony
. Do you get any errors after running thepatch
command ? -
patching file hid-sony.c Hunk #1 succeeded at 476 (offset -28 lines). Hunk #2 succeeded at 2455 (offset -139 lines). Hunk #3 succeeded at 2524 (offset -139 lines). patch unexpectedly ends in middle of line Hunk #4 succeeded at 2564 with fuzz 1 (offset -139 lines).
It seems ok.
I have looked at the resulting hid-sony.c file and the new function appears and it seems that the rest of the things that have marked to remove on .diff file has been removed.
$ make && sudo make install make -C /lib/modules/5.10.63-v7+/build M=/home/pi/hid-sony modules make[1]: Entering directory '/usr/src/linux-headers-5.10.63-v7+' CC [M] /home/pi/hid-sony/hid-sony.o MODPOST /home/pi/hid-sony/Module.symvers CC [M] /home/pi/hid-sony/hid-sony.mod.o LD [M] /home/pi/hid-sony/hid-sony.ko make[1]: Leaving directory '/usr/src/linux-headers-5.10.63-v7+' cp hid-sony.ko /lib/modules/5.10.63-v7+/kernel/drivers/hid/
-
Looks like it the patch/install went ok, if it's still not working then maybe the patch is not enough for the controller.
-
I take a look at: https://github.com/soreau/hid-sony and I see a Reload module section.
I try it and I get this:
$ sudo rmmod hid_sony && modprobe hid-sony modprobe: ERROR: could not insert 'hid_sony': Operation not permitted
How could I remove the module and add it again?
I type:
$ lsmod Module Size Used by hid_sony 36864 0 hidp 24576 2 cmac 16384 1 bnep 20480 0 hci_uart 40960 1 btbcm 16384 1 hci_uart bluetooth 393216 9 hidp,hci_uart,bnep,btbcm
hid_sony is not use.
-
@juanzt said in PS4 controller not detected in Retropie 4.6 on Pi 4B:
sudo rmmod hid_sony && modprobe hid-sony
This should be 'sudo rmmod hid_sony && sudo modprobe hid-sony
, both operations require
root` privileges.
Restarting will take care of loading the updated module, so that's an option. -
Thanks for the info.
I reboot several times and I type:
$ dkms status hid-sony, 0.1.3, 5.10.63-v7+, armv7l: installed (original_module exists) xpad, 0.4, 5.10.63-v7+, armv7l: installed (original_module exists)
Could it be possible that it does not load the module that I have compiled?
hid-sony.c doesn't contains "failed to retrieve feature report 0x81 with the DualShock 4 MAC address" string. Where dmesg take it from?
Regards.
-
@juanzt said in PS4 controller not detected in Retropie 4.6 on Pi 4B:
Could it be possible that it does not load the module that I have compiled?
If you installed the Custom hid-sony driver from RetroPie-Setup, then you should un-install it and then re-install the patched driver.
-
I uninstall Custom hid-sony driver and I type:
$ make && sudo make install
Then
$ sudo reboot
And on restart I type dmesg:
[ 74.513174] usb 1-1.3: new full-speed USB device number 21 using dwc_otg [ 74.648746] usb 1-1.3: New USB device found, idVendor=054c, idProduct=09cc, bcdDevice= 1.00 [ 74.648772] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 74.648784] usb 1-1.3: Product: Wireless Controller [ 74.648796] usb 1-1.3: Manufacturer: Sony Interactive Entertainment [ 74.648807] usb 1-1.3: SerialNumber: Wireless Controller [ 74.672009] sony 0003:054C:09CC.0011: failed to retrieve feature report 0x81 with the DualShock 4 MAC address [ 74.672389] sony 0003:054C:09CC.0011: hidraw0: USB HID v81.11 Gamepad [Sony Interactive Entertainment Wireless Controller] on usb-3f980000.usb-1.3/input3 [ 74.672405] sony 0003:054C:09CC.0011: failed to claim input
Where dmesg take "failed to retrieve feature report 0x81 with the DualShock 4 MAC address" string from?
-
@juanzt Sorry, no idea why it's still not working.
-
-
After trying a thousand things, I try this:
$ sudo modinfo hid_sony filename: /lib/modules/5.10.63-v7+/updates/dkms/hid-sony.ko .... .... ....
So path to hid_sony is /lib/modules/$(uname -r)/updates/dkms/ not /lib/modules/$(uname -r)/kernel/drivers/hid/
So I try this:
$ sudo cp ./hid-sony.ko /lib/modules/$(uname -r)/updates/dkms/
And now my controller works!!!!
$ dmesg [ 8.590774] usb 1-1.3: Product: Wireless Controller [ 8.590789] usb 1-1.3: Manufacturer: Sony Interactive Entertainment [ 8.590803] usb 1-1.3: SerialNumber: Wireless Controller [ 8.639230] input: Sony Interactive Entertainment Wireless Controller Touchpad as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.3/0003:054C:09CC.0003/input/input2 [ 8.639929] input: Sony Interactive Entertainment Wireless Controller Motion Sensors as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.3/0003:054C:09CC.0003/input/input3 [ 8.704967] input: Sony Interactive Entertainment Wireless Controller as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.3/0003:054C:09CC.0003/input/input1 [ 8.705567] sony 0003:054C:09CC.0003: input,hidraw0: USB HID v81.11 Gamepad [Sony Interactive Entertainment Wireless Controller] on usb-3f980000.usb-1.3/input3
Please include hid-sony.diff in Retropie to PS4 controllers that give the error: "failed to retrieve feature report 0x81 with the DualShock 4 MAC address" can work.
Thanks
-
-
@JuanZt
Just stopped by to thank you. I've used your steps and was able to get my PS4 controller (not original) to work.
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.