Please do not post a support request without first reading and following the advice in

Dualshock 4 not connecting on boot.

  • 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
    pi@retropie:~ $

    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

    cd /usr/local/bin


    ls -lrta

  • pi@retropie:/usr/local/bin $ ls -lrta
    total 12
    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

    /usr/local/bin/ds4drv &
    exit 0

  • Anyone got any idea?

  • administrators

    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.

  • administrators

    @Naroth Format code in code blocks - - otherwise # symbols will be translated to styling. See your previous posts (I edited the one with /etc/rc.local as an example).

  • @BuZz it works if i run it manually.

  • administrators

    @Naroth check /var/log/syslog for errors. make sure /etc/rc.local has executable permissions too. you could output errors to a log /usr/local/bin/ds4drv 2>/var/log/ds4drv.log & and then check that

  • @BuZz will do when i get home. don't know how to check if it /etc/rc/local has persmissions though, so new at this. lol

  • administrators

    @Naroth ls -l /etc/rc.local

  • @BuZz

    this is what i get when running those commands

    pi@retropie:~ $ ls -l /etc/rc.local
    -rwxr-xr-x 1 root root 333 Jan 11 22:16 /etc/rc.local
    pi@retropie:~ $ /var/log/syslog
    -bash: /var/log/syslog: Permission denied
    pi@retropie:~ $ /usr/local/bin/ds4drv 2>/var/log/ds4drv.log &
    [1] 1239
    pi@retropie:~ $ -bash: /var/log/ds4drv.log: Permission denied

  • administrators

    @Naroth Format your posts as I have already detailed.

    permissions on /etc/rc.local are ok

    I didn't say to type the other things. The line /usr/local/bin/ds4drv 2>/var/log/ds4drv.log & is supposed to be in /etc/rc.local (before the exit 0)

    You can then check the log by typing cat /var/log/ds4drv.log

    Recommend you do some reading on using the terminal. some info here - and lots of tutorials online.

  • @BuZz

    yeah as i said i know nothing about this.. but i added "/usr/local/bin/ds4drv 2>/var/log/ds4drv.log &" in /etc/rc.local
    then i ran "cat /var/log/ds4drv.log" and i got pi@retropie:~ $ cat /var/log/ds4drv.log
    cat: /var/log/ds4drv.log: No such file or directory

  • When I have this in rc.local:
    /usr/local/bin/ds4drv --led 000008 &
    exit 0

    I get this error when booting into the CLI:
    [ OK ] Started Getty on tty1.
    [ OK ] Reached target Login Prompts.
    [ OK ] Started LSB: Start NTP daemon.
    [error][daemon] 'hcitool clock' returned error. Make sure your bluetooth device is powered up with 'hciconfig hciX up'.
    [ OK ] Started LSB: start Samba daemons for the AD DC.
    [ OK ] Started LSB: start Samba NetBIOS nameserver (nmbd).
    Starting LSB: start Samba SMB/CIFS daemon (smbd)...
    [ OK ] Started Configure Bluetooth Modems connected by UART.
    Starting Load/Save RF Kill Switch Status of rfkill1...
    Starting Bluetooth service...
    [ OK ] Started Load/Save RF Kill Switch Status of rfkill1.
    [ OK ] Started Bluetooth service.

    Try setting your Pi to boot into the CLI and see if you have the same error.

    It looks to me like something to do with BT isn't initializing in time for the rc.local entry. Does anyone know why this might be and how to rectify it?


Log in to reply

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.