Dualshock 4 not connecting on boot.
Hey. to start of i'm a complete beginner with raspberry pi.
So. i followed the wiki to how to connect the DS4 with DS4DRV and i get it to connect using " dsd4drv --led 00008" but i dont seem to get it to work when i boot it up. i added the script in the local file but i must be doing something wrong as it doesnt work. so if anyone could just like take a screenshot of the local file so i just could replicate it id be over the moon. thanks :)
Are you putting the DS4 controller in pairing mode (ps button + share) once you boot and is the LED blinking a light blue? Did you configure the script to run at startup in rc.local?
yes and yes. but i guess i must've done something wrong in rc.local, so i'd be glad if someone could post exactly how it should look.
anyone out there that can help ? =)
Your rc.local could be different than someone else's. However, this is what is needed to get the d4drv script to run on startup. If while testing the --hidraw option was not working, then remove it from rc.local
/usr/local/bin/ds4drv --hidraw --led 000008 &
the weird thing is that mine is identical except the hidraw... so im kinda lost as to what the problem could be.. :(
What version of retropie are you running? And what happens when you try to pair the controller, does it just continue blinking?
I have the exact same problem running retropie 4.1 without hidraw.
Can connect both remotes when starting the script manually but when rebooting in retropie noting is detected.
Maybe the script isn't starting in rc.local?
You can find out if it is running. After startup, you'll need to ssh into your raspberry pi and run the following command. Paste the output here.
ps ax | grep python3
pi@retropie:~ $ ps ax | grep python3
1024 pts/0 S+ 0:00 grep --color=auto python3
that is what i get when i type in "ps ax | grep python3"
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # By default this script does nothing. /usr/local/bin/ds4drv --led 000008 & exit 0
and thats how my local file looks..
Based on the output of the of the command you ran, the script is not running. However, I'm not sure why it isn't running as your rc.local looks correct.
If you cd to
The script is there correct?
what do you mean cd? :P
It's a unix command to change directory.
ssh back into your retropie and type in
pi@retropie:/usr/local/bin $ ls -lrta
drwxrwsr-x 10 root staff 4096 Sep 23 02:20 ..
-rwxr-xr-x 1 root staff 217 Jan 7 15:13 ds4drv
drwxrwsr-x 2 root staff 4096 Jan 7 15:13 .
Everything looks OK there too. Does your rc.local file have '#' symbols before some of the lines. i.e.
#This script is executed at the end of each multiuser runlevel.
yes, the only lines that doesnt have it is
Anyone got any idea?
if it's not launching from
/etc/rc.localthen you will probably find it is failing in some way. Run it manually from terminal with
and see if you get any errors.