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.
-
-
M mitu referenced this topic
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.