My goal was to make my Pi create its own WiFi on start so that I can connect to it wirelessly.

I have succeeded by creating a crontab entry (using sudo crontab -e):

@reboot /path/to/create_ap.sh &

where create_ap.sh is a script launching create_ap:

sudo create_ap -n wlan0 MySSID MyPass --daemon

However, I've failed to do this without an additional script: both

@reboot create_ap -n wlan0 MySSID MyPass --daemon


@reboot create_ap -n wlan0 MySSID MyPass --daemon &

didn't work as expected (I've also tried to add full path, /usr/bin/create_ap like suggested in comments but that didn't help).

So does crontab allow parameters after the command? (I suspect that only @reboot create_ap bit works in practice, but failed to google that) Or is there some other problem with these lines in crontab and I can adjust them so that an external script is not needed?

  • Does using the full path to create_ap in your crontab work? (I believe the path is /usr/bin/create_ap). Does your crontab change the PATH variable in any other way?
    – Aurora0001
    Commented Jan 1, 2018 at 10:56
  • 1
    @Aurora0001 thanks, which create_ap says /usb/bin/create_ap and I've tried full path in crontab but that didn't help
    – YakovL
    Commented Jan 1, 2018 at 17:51
  • Is this a user crontab, or your system crontab? If it's a user crontab (created with crontab -e) one difference is that the command kicks off as your user, whereas your script includes sudo to execute the command as root. This should go into a system crontab to execute as root on startup.
    – bobstro
    Commented Jan 2, 2018 at 14:38
  • @bobstro I only used sudo crontab -e so that's root crontab, I guess. Will add this to the question
    – YakovL
    Commented Jan 2, 2018 at 18:44
  • 1
    As an alternative to crontab, you might be interested in: blog.usedbytes.com/2019/11/run-at-startup-without-rc.local
    – ukBaz
    Commented Sep 7, 2020 at 14:14

1 Answer 1


Well, the .sh script calls sudo before create_ap. Either run the crontab entry as root, or prepend the sudo. So try @reboot sudo /usr/bin/create_ap -n wlan0 MySSID MyPass --daemon

  • I used sudo crontab -e which means I used the first option, right? I've read also that the second option is not a proper approach: askubuntu.com/a/173930/532531 (but actually I've already tried the line you proposed as well)
    – YakovL
    Commented Jan 2, 2018 at 18:48
  • Yes, sudo crontab -e works if you want to run the crontab entry as root directly. Considering the second option, you can mitigate that risk from the link by putting pi ALL= NOPASSWD: /usr/bin/create_ap in /etc/sudoers.d/pi. Commented Jan 3, 2018 at 7:41
  • Reading github.com/oblique/create_ap also gives the alternative to start it from systemd (also check github.com/oblique/create_ap/issues/4). Commented Jan 3, 2018 at 7:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.