Armadilloフォーラム

Armadillo IoTでスリープが出来ない

ntaka206

2015年8月17日 11時11分

NTシステムデザイン 高村と申します。
お世話になります。

下記URLの情報に従って、Armadillo IoTをスリープさせようとしています。

Armadillo-400 シリーズ ソフトウェアマニュアル
第9章 Linux カーネルデバイスドライバー仕様 http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_soft…
9.20. パワーマネジメント
9.20.2. PMICの電源OFF機能

付属のUSB Serial変換器でDebug Consoleに接続しています。
説明に従い、/sys/power/state ファイルに standbyやmem、offを書き込んでも、下記のようにInvalid argumentエラーになってしまいます。

# echo mem > /sys/power/state
ash: write error: Invalid argument

# echo standby > /sys/power/state
ash: write error: Invalid argument

# echo off > /sys/power/state
ash: write error: Invalid argument

試しに/sys/power/stateをcatしてみました。
# cat /sys/power/state
freeze

freezeならば出来るのかと思い、echo freezeしてみました。

# echo freeze > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.002 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)

エラーにはなりませんでしたが、SW1,2,3を押したりConsoleからキー入力しても何も反応がなく復帰しません。

使用しているイメージは出荷時のままのV2.00です。
linux-aiotg-std-v2.00.bin.gz

atmark-dsitとkernelのversionは以下のとおりです。
atmark-dist v1.41.0 (AtmarkTechno/Armadillo-IoTG-Std)
Linux 3.14.36-at1 [armv5tejl arch]

下記URLの最新のイメージにupdateして同じテストをしてみましたが症状は変わりません。
Armadillo 製品アップデートのお知らせ (2015年7月/Armadillo-IoTシリーズ対象) | 組み込みLinuxのArmadilloサイト http://armadillo.atmark-techno.com/news/20150729/software-update-aiot
atmark-dist v1.42.0 (AtmarkTechno/Armadillo-IoTG-Std)
Linux 3.14.36-at2 [armv5tejl arch]

Armadillo IoTではこの機能は使えないのでしょうか?
または、何かカーネルの設定が必要なのでしょうか?
皆様のお知恵を拝借できればと思います。
よろしくお願い致します。

コメント

at_kojiro.yamada

2015年8月17日 15時33分

> 下記URLの情報に従って、Armadillo IoTをスリープさせようとしています。

申し訳ございません。
Armadillo-IoTはパワーマネジメントには対応しておりません。

kojiro.yamada様
高村です。
ご返信をいただきありがとうございます。

mem, standbyには対応していないということですが、offには対応していませんか?

echo off > /sys/power/state でoff状態にして、
起動時刻にRTCのINT2でPMIC_ON/OFF信号を出して起動させたいのです。

下記URLの「図14.9 リアルタイムクロックの割り込み信号」のような構成です。

第14章 ハードウェア仕様 http://manual.atmark-techno.com/armadillo-iot/armadillo-iotg-std_produc…

Armadillo IoTのmanualに書いてあることなので出来ると思うのですが。
それを期待して購入しました。

よろしくお願い致します。

参考になるカーネルソースの場所など、フックになるような情報だけでもあると助かります。
echo off > /sys/power/state が出来ないとしても、何か他の手段でできれば良いのです。

> kojiro.yamada様
> 高村です。
> ご返信をいただきありがとうございます。
>
> mem, standbyには対応していないということですが、offには対応していませんか?
>
> echo off > /sys/power/state でoff状態にして、
> 起動時刻にRTCのINT2でPMIC_ON/OFF信号を出して起動させたいのです。
>
> 下記URLの「図14.9 リアルタイムクロックの割り込み信号」のような構成です。
>
> 第14章 ハードウェア仕様 http://manual.atmark-techno.com/armadillo-iot/armadillo-iotg-std_produc…
>
> Armadillo IoTのmanualに書いてあることなので出来ると思うのですが。
> それを期待して購入しました。
>
> よろしくお願い致します。
>

at_yuma.arakawa

2015年8月24日 17時52分

> 下記URLの「図14.9 リアルタイムクロックの割り込み信号」のような構成です。
>
> 第14章 ハードウェア仕様 http://manual.atmark-techno.com/armadillo-iot/armadillo-iotg-std_produc…
上記の図14.9のPMIC ON/OFFインターフェース(CON12)の2ピンと電源入力インターフェース(CON13)の3ピンは、
お客様の下で接続していただく必要があります。

申し訳ございませんが、
接続用のケーブルは弊社から提供しておりませんので、
お客様にてご用意していただく必要がございます。
下記メーカーにて製作可能です。

○株式会社高池
 http://www.haisen.jp/index.html
 ・ACHコネクタ
  http://www.haisen.jp/JST/ACH.html

弊社で作成した図面を添付いたします(PMIC_ON_OFF用ハーネス仕様書.pdf)。
メーカー依頼の際の参考にしてください。

> mem, standbyには対応していないということですが、offには対応していませんか?
申し訳ございません。
Linux 3.14-at2では対応しておりません。

> echo off > /sys/power/state が出来ないとしても、何か他の手段でできれば良いのです。
I2Cデバイスファイル経由でPMIC OFFにできます。
サンプルプログラム(pmic_off.c)を添付しますので参考にしてください。

■ ビルド方法
[ATDE]$ arm-linux-gnueabi-gcc -o pmic_off pmic_off.c

■ PMICレジスタ設定値について
以下のデータシートを参照してください。
http://cache.freescale.com/files/analog/doc/data_sheet/MC34704.pdf

■ 復帰時のRTC設定について
PMIC OFF状態から復帰する際のRTC設定については、以下を参照してください。
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_soft…

なお、RTCによる復帰後、RTCのアラーム割り込みステータスはクリアされませんので、
再度アラーム割り込みを設定する際には、
> echo +0 > /sys/class/rtc/rtc0/wakealarm
のように、割り込みステータスのクリアを行なってください。

ファイル ファイルの説明
PMIC_ON_OFF用ハーネス仕様書.pdf PMIC_ON_OFF用ハーネス仕様書
pmic_off.c I2Cデバイスファイル経由でPMIC OFFにするサンプルプログラム

yuma.arakawa様

> > 下記URLの「図14.9 リアルタイムクロックの割り込み信号」のような構成です。
> >
> > 第14章 ハードウェア仕様 http://manual.atmark-techno.com/armadillo-iot/armadillo-iotg-std_produc…
> 上記の図14.9のPMIC ON/OFFインターフェース(CON12)の2ピンと電源入力インターフェース(CON13)の3ピンは、
> お客様の下で接続していただく必要があります。

このケーブルは既に製作しました。
偶然にも、ご紹介いただいた会社にお願いして作りました。

> > echo off > /sys/power/state が出来ないとしても、何か他の手段でできれば良いのです。
> I2Cデバイスファイル経由でPMIC OFFにできます。
> サンプルプログラム(pmic_off.c)を添付しますので参考にしてください。

ありがとうございます!これこそまさに欲しかった情報です。
実際に試してみた所、きちんとOFFになりました。
大変助かりました。