====== RTCによるStandby状態からのWakeup ======
MA-E3xx は、RTC のアラームにより Standby 状態から Wakeupすることができます。\\
これにより、
* 夜中の時間帯は Standby 状態として消費電力を抑える
* 一定時間データ処理を行い、不要なときには Standby 状態として消費電力を抑える。例えば、5秒間起動、55秒間 Standby する。
といった制御が可能となります。\\
\\
===== 方法 =====
rtcwake コマンドを利用します。
user1@plum:~$ sudo rtcwake -h
Usage:
rtcwake [options]
Options:
-d, --device select rtc device (rtc0|rtc1|...)
-n, --dry-run does everything, but suspend
-l, --local RTC uses local timezone
-m, --mode standby|mem|... sleep mode
-s, --seconds seconds to sleep
-t, --time 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) に指定できる引数は下記固定となります。
|< 25em 6em 6em 8em >|
^ Option ^ Argument ^ Note |
| device(-d) | rtc1 | SoC内蔵RTC |
| mode(-m) | standby | スタンバイモード |
\\
==== 実行例 ====
=== Standby 状態に入り、1分後に Wakeup する ===
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:~$
\\
=== Standby 状態に入り、指定時刻に Wakeup する ===
例として、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