I've struggled a long time with Antminers that work for a few days and then eventually need a reboot. Since I keep my miners away from home, this has been a hassle. Additionally, the environment I keep them in doesn't have much in terms of remote access or other running machines on the network that I can schedule reboots on.
Articles like
https://blockoperations.com/make-antminer-s9-reboot-every-30-minutes/ detail consistent reboot schedules, utilizing separate computers to run cron jobs on. For an onboard solution, I've been doing this though:
#ssh onto the device
> ssh root@xx.xx.xx.xx
#modify the bmminer’s daemon file to include a reboot
>vi /etc/init.d/bmminer.sh #(@ line 44)
killall -9 bmminer || true
/sbin/shutdown -r -f +1440 “daily reboot” & #add this line in -- 1440 is 1440 min per reboot (1day)
/usr/bin/bmminer –fixed-freq –no-pre-heat –version-file /usr/bin/compile_time –api-listen –default-config /config/bmminer.conf &
#save file w/ escape + wq
at next reboot, the miner will automatically schedule a reboot after 1440 minutes before it begins to mine.
i’ve just started doing this on my miners and see no ill effects on S9s running firmware from 2017050318838 (Antminer-S9-all-201705031838-650M-user-Update2UBI-NF.tar.gz)
i might be way off base about how to properly do this, but i couldn't find anything about a decent on-board solution until I hacked this together myself. from my experience, this doesn't work on some of the other miners (like d3, l3) since they wipe files every reboot, but this works fine on s9 for me.