Raspberry Piã«ããŒããŠã§ã¢Watchdogãèšå®ããŠã¿ãŸããã
Raspberry PiãšRaspbian OSã«ã¯ãWatchdog TimerïŒãŠã©ããããã°ã¿ã€ããŒã以äžWatchdogãšèšããŸãïŒãšåŒã°ããæ©æ§ãå ¥ã£ãŠããŸããããã¯ãã·ã¹ãã ãåäœããŠããªããšå€æãããæã«ãèªåçã«Raspberry PiãOSåèµ·åããè¡ããšãããã®ã§ãã
Raspbian Jessieããåã®ããŒãžã§ã³ã§ã¯ãWatchdogãèšå®ããããã«ãã§ã«ç¢ºç«ããããæ¹ããã£ãããã§ããããããRaspbian Jessieã«ãªã£ãŠããã¯ãã¢ãžã¥ãŒã«ã®ååãå€ãã£ããããã»ããWatchdogãæå¹ã«ãããæ¹æ³ãå€ãã£ããããŠããŠããããšããããæ¹ãããã«ã¯èŠã€ãããªãããã§ããRaspberry Piã®ãã©ãŒã©ã ã§ãããã€ãæçš¿ãããããã§ããããã®äžã§ä»ã®æ¹æ³ã«æ¯ã¹ãŠãšãŠãã·ã³ãã«ãªæ¹æ³ãæçš¿ãããŠããŸããããã®æçš¿ã®å 容ããå®éã«è©ŠãããšãããããŸãåäœããŸããã®ã§ãã¡ãã§ç޹ä»ããŸãããã®æ¹æ³ã®è¯ããšããã¯ã远å ã§ãœãããŠã§ã¢ãå ¥ããå¿ èŠããªããšããã§ããèšå®ãã¡ã€ã«ã®å€æŽãäœæã ãã§ããŒããŠã§ã¢Watchdogãå®çŸã§ããŠããŸããŸãïŒ
æ¬èšäºã®ååã¯ãCANDY Pi LiteïŒäžã®åçã®åºæ¿ã§ãïŒã«é¢ä¿ãªãRaspberry Piå ±éã®è©±é¡ãšããŠWatchdogã®èšå®æ¹æ³ã玹ä»ããŸãããŸããåŸåã¯CANDY Pi Liteãå©çšãããæ¹åãã«ãRaspberry Piã§ç°¡åã«ããŒããŠã§ã¢Watchdogãã»ããã¢ããããæ¹æ³ã玹ä»ããŸãã
Watchdogèšå®æ¹æ³
ã察象ãšãªãOSã
ãããã玹ä»ããWatchdogãæå¹åããæ¹æ³ã¯ãRaspbian JessieãšStretchã®ã¿å¯Ÿå¿ããŠããŸãããããããå€ãOSã§ã¯åäœããŸããã ãªãããã¡ãã®æ€èšŒã§ã¯Raspbian Stretchã䜿ããŸããã
ãæ€èšŒããããŒããŠã§ã¢ã
ãã¡ãã®æ€èšŒã§ã¯ãRaspberry Pi 3 Model Bã䜿ã£ãŠããŸããä»ã®æ©çš®ã¯è©ŠããŠããŸããããRaspberry Piã¯ã©ããåããããïŒBCM2835/BCM2836ïŒã䜿ã£ãŠããŸããããRaspberry Pi Zeroãªã©ã§ãåäœããã§ãããã
ãå ·äœçãªããæ¹ã
ãŸãæåã«ã/boot/config.txtã«Watchdogãæå¹ã«ããèšå®ã远å ããŸãã ãšãã£ã¿ãŒã§ãã¡ã€ã«ãéããŠã以äžã®è¡ã远å ããŠãã ããã
dtparam=watchdog=on
ç¶ããŠWatchdogãåããã«ãŒãã«ã¢ãžã¥ãŒã«ã®èšå®ãè¡ããŸãã /etc/modprobe.d/bcm2835-wdt.confãšãããã¹ã«ãã¡ã€ã«ãäœæããŸãããã åããŠèšå®ãããšãã¯ãã®ãã¡ã€ã«ã¯ååšããŠããŸããã®ã§ãæ°ãã«äœæããå¿ èŠããããŸãã ãã®ãã¡ã€ã«ã¯ãç¹æš©ãŠãŒã¶ãŒã§äœæããªããã°ãªããŸããïŒäŸãã°sudo gedit /etc/modprobe.d/bcm2835-wdt.confã®ããã«sudoãå¿ èŠã§ãïŒã
ãã¡ã€ã«ãäœæãããã以äžã®1è¡ãå ¥åããŸãã
options bcm2835_wdt heartbeat=14 nowayout=0
ããã¯ã14ç§ã®ããŒãããŒããWatchdogãæåŸ ãããšããèšå®ã«ãªããŸãã14ç§ä»¥å ã«ããŒãããŒããæ¥ãªããšãã¯ãã·ã¹ãã ãç°åžžã§ãããšå€æãããšãããã®ã§ãã
æåŸã«ãsystemdã®èšå®ã倿ŽããŸããsystemdã¯ããã®ããŒãããŒããè¡ãæ©èœãæã£ãŠããŸãããã åæèšå®ã§ã¯ç¡å¹ã«ãªã£ãŠããŸãã®ã§ãããæå¹ã«ããŸãã
èšå®å€æŽãããã¡ã€ã«ã¯/etc/systemd/system.confãšãªããŸãããããsudoã䜿ããªã©ç¹æš©ãŠãŒã¶ãŒã§ç·šéããŸãã
ãšãã£ã¿ãŒã§ãã¡ã€ã«ãéããããäžèšã®ãããªã³ã¡ã³ãã¢ãŠããããŠããèšå®ãæ¢ããŸãããã
#RuntimeWatchdogSec=0
ããã以äžã®ããã«å€æŽããŸãã
RuntimeWatchdogSec=14
ããã«ãããsystemdã14ç§ä»¥å ã®ééã§ããŒãããŒããè¡ãããã«ãªããŸãã
倿ŽããŠä¿åããããæºåã¯å®äºã§ãã
ãå®éã«åãããŠã¿ãŸãããã
èšå®ãå šãŠè¡ã£ãããRaspberry Piãåèµ·åãããŸããããåèµ·åã³ãã³ãã®ä»£ããã«é»æºOFFã黿ºONã§ã倧äžå€«ã§ãã
åèµ·åãè¡ã£ãããŸãã¯Watchdogãæå¹ã«ãªã£ãŠãããã¿ãŠã¿ãŸããããã¿ãŒããã«ãéããŠæ¬¡ã®ã³ãã³ããå®è¡ããŠãã ããã
dmesg | grep bcm2835-wdt
ãããå®è¡ããŠä»¥äžã®ããã«è¡šç€ºãããŠããã°OKã§ããå·ŠåŽã®ã«ãã³å ã®æ°åã¯å¿ ãããåããšã¯éããŸããã®ã§æ°åéãã«ã€ããŠã¯æ°ã«ããªãã§ãã ããã ãã ãããäœãåºãŠæ¥ãªããšãã¯ãããŸãèšå®ã§ããŠããªãã®ã§ãããäžåºŠäžèšã®ããæ¹ãèŠçŽããŠã¿ãŸãããã
[ 0.722030] bcm2835-wdt 3f100000.watchdog: Broadcom BCM2835 watchdog timer
ããã§ã¯ãå®éã«Watchdogã«ããåèµ·åãçºåãããŠã¿ãŸãããã ã¿ãŒããã«ã«ä»¥äžã®ã³ãã³ããå ¥åããŠå®è¡ããŠã¿ãŠãã ããã
â ïžãããã»ã¡ã ããâ ïž Watchdogãèšå®ããã«è¡ããšã黿ºãèœãšã以å€ã«å ã«æ»ãæ¹æ³ã¯ãªããªããŸãâŒïž
:(){ :|:& };:
ãã®é¡æåã®ãããªã³ãã³ãã¯ããã©ãŒã¯ãã ïŒãã©ãŒã¯ç匟ïŒãšåŒã°ãããã®ã§ãã·ã¹ãã ã®å éšã§æ°ããããã»ã¹ãã©ãã©ã墿®ãããæ¥µããŠå±éºãªã³ãã³ãã§ãã éåžžã¯ãã®ãããªã³ãã³ãã䜿ãããšã¯ãããŸããããä»åã¯ã·ã¹ãã äžã®åé¡ãåŒãèµ·ããããã«äœ¿çšããŸãã
ããŠããããå ¥åãããšåŸã ã«ã·ã¹ãã ã®åäœãé ããªã£ãŠãããŸããæçµçã«ã³ãã³ãå ¥åã«åå¿ããªããªããçŽ2åçšåºŠçµéãããšåèµ·åãããŸãïŒåèµ·åãŸã§ã®æéã¯ãã·ã¹ãã ã®è² è·ã®ç¶æ³ã«ããã®ã§ãè² æ ã®å€§ããã·ã¹ãã 皌åç¶æ³ã§ã¯ãã£ãšæ©ãåèµ·åãããããããŸããïŒã
ãªã14ç§ãšæå®ããã®ã«2åãåèµ·åãŸã§ãããã®ã§ããããïŒ ããã¯ããã®ãã©ãŒã¯ãã ãè¡ãããŠããéããã·ã¹ãã èªäœã¯ãªããšãåãç¶ããŠããããã§ãããã©ãŒã¯ãã ã«ãã£ãŠããããããªãœãŒã¹ããªããªã£ãŠ14ç§ä»¥å ã«ããŒãããŒããã§ããªããªããšããç¬éã«ãªããŸã§ãçŽ2åã®æéãããã£ãŠããã®ã§ãã
ãWatchdogãç¡å¹ã«ããã«ã¯ïŒã
ããããªãããã®çç±ã§Watchdogãåã³ç¡å¹ã«ããããšãã¯ã©ãããã°è¯ãã§ããããã
ãã®å Žåã¯ãåçŽã«/boot/config.txtã«ãããŠonãšããç®æãoffã«ããã ãã§è¯ãã§ãã/bootã®äžã«ãããã¡ã€ã«ãªã®ã§çŽæ¥SDã«ãŒããªãŒããŒããPCãªã©ã§ãã¡ã€ã«ã倿Žããããšãã§ããŸããã
dtparam=watchdog=off
èšå®ã倿ŽããåŸã¯åèµ·åããŠãã ããã
ãååãŸãšãã
以äžããRaspberry Piãå©çšããããŒããŠã§ã¢Watchdogã®èšå®æå¹åãç¡å¹åã®ããæ¹ã§ãã 以åã®Raspbianã®ããŒãžã§ã³ã§ã¯ãWatchdogã䜿ãããã«å¥ã®ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããªããã°ãªããªãã£ãã®ã§ããããã®ããã«èšå®ã倿Žãããäœæãããããã ãã§ç°¡åã«ããŒããŠã§ã¢Watchdogæ©èœã䜿ãããšãã§ããããã«ãªã£ãŠããŸãã
RaspberryPiãé·æéããã£ãšåããç¶ãããããªéçšãèããŠããæ¹ã«ãšã£ãŠã¯ãšãŠã匷åãªæ©èœã«ãªãã§ãããã
ç¶ããŠåŸåç·šã§ãã
CANDY Pi Liteã®ã»ããã¢ããæã«Watchdogãèšå®ããŠã¿ãŸããã
ããããã¯ãCANDY Pi Liteãã䜿ãã®å Žåã«Watchdogãç°¡åã«èšå®ã§ããããã«ããæ¹æ³ã玹ä»ããŸãã
CANDY Pi Liteãã䜿ãã®å Žåãå°çšã®ãœãããŠã§ã¢candy-pi-liteãµãŒãã¹ãå©çšããŸããããŒãžã§ã³1.6.0ããããã®ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããæã«ãWatchdogã®èšå®ãåæã«è¡ããããã«ãªããŸããã
ä»åã¯ãã®ããŒãžã§ã³1.6.0ã®ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããŠãåæã«Watchdogã®èšå®ãè¡ã£ãŠã¿ãŸãããã
ãã€ã³ã¹ããŒã«ããŠã¿ãŸãããã
CANDY Pi LiteãRaspberry Piã«åãä»ããŠé»æºããããŠã¿ãŠãã ãããèµ·åãããããã°ã€ã³ããŠã¿ãŒããã«ãéãããSSHã§ãã°ã€ã³ããŸãããã
ãããã§ã«ä»¥åã®ããŒãžã§ã³ã®candy-pi-liteãµãŒãã¹ããããŠããå Žåã¯ãæåã«ã¢ã³ã€ã³ã¹ããŒã«ããŸãã åããŠã€ã³ã¹ããŒã«ããæ¹ã¯ããã®æé ã¯äžèŠã§ãã
candy-pi-liteã®ã¢ã³ã€ã³ã¹ããŒã«
sudo /opt/candy-line/candy-pi-lite/uninstall.sh
ã¢ã³ã€ã³ã¹ããŒã«ãããäžæŠåèµ·åããŸãããã
sudo reboot
candy-pi-liteã®ã€ã³ã¹ããŒã«
ããã§ã¯ãææ°ã®candy-pi-liteãµãŒãã¹ãå ¥ããŠã¿ãŸãããã
curl -sL https://git.io/v7bXx | sudo ENABLE_WATCHDOG=1 bash
ãããå®è¡ãããšããã
Collecting candy-board-cli Installing collected packages: candy-board-cli Successfully installed candy-board-cli-2.0.0 Collecting candy-board-qws ïŒéäžçç¥ïŒ [INFO] Configuring ufw... Firewall stopped and disabled on system startup Skipping adding existing rule Skipping adding existing rule (v6) Skipping adding existing rule Skipping adding existing rule (v6) Skipping adding existing rule Skipping adding existing rule (v6) Firewall is active and enabled on system startup [INFO] Configuring SC16IS7xx... [INFO] SC16IS7xx configuration done [INFO] Configuring Hardware Watchdog... [INFO] Hardware Watchdog configuration done [ALERT] *** Please reboot the system (enter 'sudo reboot') ***
ãããªé¢šã«åºãŠããŸããæåŸã«åèµ·åãä¿ãããŸããããåèµ·åãè¡ããŸãããã
sudo reboot
Watchdogæ©èœãæå¹ãã©ããããã§ãã¯ïŒ
å ã»ã©èšããããã«ã以äžã®ã³ãã³ãã§æå¹ã«ãªã£ãŠãããã©ããã調ã¹ãããšãã§ããŸãã åèµ·åããŠã¿ãŒããã«ãžå ¥ãããšãã§ãããã以äžã®ã³ãã³ããå®è¡ããŠã¿ãŸãããã
dmesg | grep bcm2835-wdt
以äžã®ãããªã¡ãã»ãŒãžã¯èŠã€ããããŸããïŒ
[ 0.722030] bcm2835-wdt 3f100000.watchdog: Broadcom BCM2835 watchdog timer
èŠã€ããã°æåã§ãïŒ
ããã§ã3GãLTEãä»ãã£æŸãã«ããŠããäžæž¬ã®äºæ ãRaspberryPiã§èµ·ããŠæ¢ãŸã£ããŸãŸã«ãªãããšãé¿ããããããã«ãªããŸãã SDã«ãŒãã®ããŒã¿ããããããªã£ãŠããŸã£ããã黿ºãèœã¡ãŠããŸã£ããã©ããããããªããã§ããã©ããšã¯èšã£ãŠãããã§RaspberryPiãã ãã¶é Œãã«ãªãååšã«ãªããŸããïŒ














