MA-E3xx は、RTC のアラームにより Standby 状態から Wakeupすることができます。
これにより、
といった制御が可能となります。
rtcwake コマンドを利用します。
user1@plum:~$ sudo rtcwake -h Usage: rtcwake [options] Options: -d, --device <device> select rtc device (rtc0|rtc1|...) -n, --dry-run does everything, but suspend -l, --local RTC uses local timezone -m, --mode <mode> standby|mem|... sleep mode -s, --seconds <seconds> seconds to sleep -t, --time <time_t> time to wake -u, --utc RTC uses UTC -v, --verbose verbose messages -V, --version show version For more information see rtcwake(8). user1@plum:~$
MA-E3xx では、device (-d) と mode (-m) に指定できる引数は下記固定となります。
Option | Argument | Note |
---|---|---|
device(-d) | rtc1 | SoC内蔵RTC |
mode(-m) | standby | スタンバイモード |
user1@plum:~$ sudo rtcwake -d rtc1 -m standby -s 60 rtcwake: wakeup from "standby" using /dev/rtc1 at Mon Jul 14 08:16:26 2014 user1@plum:~$
例として、2014/07/14 17:21:00 に Wakeup するよう設定してみます。
RTC は UTC で動作しているので、オプションに -u をつけるのがポイントです。
user1@plum:~$ sudo rtcwake -d rtc1 -m standby -u -t `date +%s -d "2014-07-14 17:21:00"` rtcwake: wakeup from "standby" using /dev/rtc1 at Mon Jul 14 08:21:00 2014 user1@plum:~$
Kernel のログ (dmesg) には、下のようなログが記録されます。
[14502.800321] PM: Syncing filesystems ... done. [14502.800457] PM: Preparing system for standby sleep [14502.801016] Freezing user space processes ... (elapsed 0.001 seconds) done. [14502.803089] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. [14502.804380] PM: Entering standby sleep [14502.804403] Suspending console(s) (use no_console_suspend to debug) [14502.913778] PM: suspend of devices complete after 108.703 msecs [14502.914407] PM: late suspend of devices complete after 0.615 msecs [14502.915159] PM: noirq suspend of devices complete after 0.732 msecs [14502.915217] PM: Successfully put all powerdomains to target state [14502.915217] PM: Wakeup source RTC Alarm [14502.929177] PM: noirq resume of devices complete after 13.801 msecs [14502.929824] PM: early resume of devices complete after 0.479 msecs [14502.930632] net eth0: initializing cpsw version 1.12 (0) [14502.992531] net eth0: phy found, phy addr = 2 [14503.157057] PM: resume of devices complete after 227.206 msecs [14503.157742] PM: Finishing wakeup. [14503.157752] Restarting tasks ... done. [14510.342242] libphy: 4a101000.mdio:02 - Link is Up - 1000/Full