Armadilloフォーラム

ユーザースイッチの電源制御について

mori22554

2022年1月19日 19時17分

お世話になっております。森です。

ユーザースイッチを一時的に電源OFFではなく別の用途に使用したいと考えています。
https://armadillo.atmark-techno.com/forum/armadillo/2789
を参考に電源制御を無効にしたのですが、その後有効にできませんでした。下記の実行結果から何か原因について分かりますでしょうか?

添付ファイル:input-poweroffd.service_failed.txt
25行目:Job for input-poweroffd.service failed because the control process exited with error code.
32行目: Process: 3856 ExecStart=/usr/bin/input-poweroff start (code=exited, status=1/FAILURE)

製品:Armadillo G3L

ファイル ファイルの説明
input-poweroffd.service_failed.txt 電源制御無効化&有効化の実行結果
コメント

at_koseki

2022年1月21日 12時17分

古関です。

> ユーザースイッチを一時的に電源OFFではなく別の用途に使用したいと考えています。
スイッチによるシャットダウン機能ですが、
10秒間連続でスイッチを押すことで動作します。

新しく追加したい機能によるスイッチON判定時間を短くすれば、
2つの機能の両立が可能と考えていますが、いかがでしょうか。

注意点として、もし、debian 10 busterをご利用の場合、
バージョンによっては押した瞬間にシャットダウンしてしまう不具合があります。

以下の以降のバージョンを使うことで、改善されます。
https://armadillo.atmark-techno.com/news/20210831/software-update-aiotg…

以下のフォーラム記載の対応でも問題ありません。
https://armadillo.atmark-techno.com/forum/armadillo/9848

> 電源制御を無効にしたのですが、その後有効にできませんでした。
> 下記の実行結果から何か原因について分かりますでしょうか?

こちらでも症状が再現しました。
ご迷惑おかけして申し訳ありません。

原因は調査中ですが、取り急ぎサービスをstartさせたい場合は
enable にした後、本体をrebootすることで対応できます。

# systemctl enable input-poweroffd.service
# reboot

at_koseki

2022年1月21日 12時27分

古関です。

> 新しく追加したい機能によるスイッチON判定時間を短くすれば、
> 2つの機能の両立が可能と考えていますが、いかがでしょうか。

申し訳ありません、
これは片方のアプリにイベントが取られてしまうのでできませんね。

mori22554

2022年1月25日 18時18分

ご回答ありがとうございます。
情報不足ですみません、いつのユーザーランドかはっきりしませんがアットマークテクノ様ご提供のDebian9をベースに使用しております。
短押しで電源OFFするのはDebian10の問題のようなので関係なさそうですね。
enable input-poweroffd.serviceが有効にならない件は、できれば再起動なしで実現したいのですが今のところ再起動以外で回避策はないでしょうか。

ちなみに端末で何かコマンドを打てば、いつのtar.gzを展開したものか判断できるのでしょうか?
過去にhttps://download.atmark-techno.com/armadillo-iot-g3l/debian/から取得した記憶です
カーネルとかであればコマンドでバージョンを確認すればよさそうですが、Debian全体の場合ファイルも多いのでいつのファイルを展開したか確認するのが難しいので何かわかる情報あればご教授いただきたく思います

at_syunya.ohshio

2022年1月26日 16時21分

大塩です。

> enable input-poweroffd.serviceが有効にならない件は、できれば再起動なしで実現したいのですが今のところ再起動以外で回避策はないでしょうか。
>

確認しましたのでお知らせ致します。
/usr/bin/input-poweroffd 内のコードに原因がありました。
取り急ぎの対応としましては、/usr/bin/input-poweroffd の check_exists() 関数を以下のように修正することで回避可能です。

check_exists() {
        ps aux | grep $1 | grep -v .service | grep -q -v grep
}

> ちなみに端末で何かコマンドを打てば、いつのtar.gzを展開したものか判断できるのでしょうか?
> 過去にhttps://download.atmark-techno.com/armadillo-iot-g3l/debian/から取得した記憶です
> カーネルとかであればコマンドでバージョンを確認すればよさそうですが、Debian全体の場合ファイルも多いのでいつのファイルを展開したか確認するのが難しいので何かわかる情報あればご教授いただきたく思います

ユーザーランドのファイルバージョンそのものを取得するのは難しいです。
atmark-x1-base のバージョンと 製品アップデートニュースを比べていただくのが確実かと思われます。

mori22554

2022年1月31日 20時01分

> 大塩です。
>
> > enable input-poweroffd.serviceが有効にならない件は、できれば再起動なしで実現したいのですが今のところ再起動以外で回避策はないでしょうか。
> >
>
> 確認しましたのでお知らせ致します。
> /usr/bin/input-poweroffd 内のコードに原因がありました。
> 取り急ぎの対応としましては、/usr/bin/input-poweroffd の check_exists() 関数を以下のように修正することで回避可能です。
>

> check_exists() {
>         ps aux | grep $1 | grep -v .service | grep -q -v grep
> }
> 

>
> > ちなみに端末で何かコマンドを打てば、いつのtar.gzを展開したものか判断できるのでしょうか?
> > 過去にhttps://download.atmark-techno.com/armadillo-iot-g3l/debian/から取得した記憶です
> > カーネルとかであればコマンドでバージョンを確認すればよさそうですが、Debian全体の場合ファイルも多いのでいつのファイルを展開したか確認するのが難しいので何かわかる情報あればご教授いただきたく思います
>
> ユーザーランドのファイルバージョンそのものを取得するのは難しいです。
> atmark-x1-base のバージョンと 製品アップデートニュースを比べていただくのが確実かと思われます。
>

お世話になっております。
ご回答ありがとうございます。試してみます。
ユーザーランドの件も承知しました。
ありがとうございます。