Armadilloフォーラム

A420/440の再起動時に起動せず停止状態になる可能性について

murakami_sec

2022年6月8日 17時30分

お世話になります。村上と申します。
設置先のA420/440で下記現象が出て原因を探しています。
どのような可能性が考えられるかご教授ください。

<現象>
A420/440の再起動(reboot)時に起動せず停止状態になることがあります。
似たような環境で398台中31台で現象が発生しています。

<補足>
USBケーブル、D-sub9pinを抜き差ししたらLEDの状態が変化し、rc.localが実行されたように見受けられました。
(こちらで製作したアプリが立ち上がったことが確認できたことからの推測です。アプリのログを確認したら起動直後でした)
uptimeコマンドで確認したら24Daysだったのでケーブル抜き差しによる再起動はしていないと考えます。
こちらで製作したアプリは起動直後だったことから、本現象に影響はないと考えます。

<条件>
JP1:オープン
JP2:オープン
D-sub9pin(CON3)で外部機器と通信(常時接続)
外部機器の電源はA420/440のUSBポートから電源のみ使用

<質問1>
A420/440で起動中(※1)、D-sub9pin(CON3)に、ごみデータ(※2)が入った場合、途中で停止状態(※3)になる可能性はありますか。
可能性がある場合、どのような条件でしょうか。

<質問2>
停止状態になった場合、再起動以外で復帰する可能性はありますか。
可能性がある場合、どのような条件でしょうか。

※1:ブートローダ、カーネル、ユーザランド
※2:9600bps(スタート8、パリティなし、ストップ1)でバイナリコード電文
※3:LED3、4どちらも点灯状態でrc.localが実行されていないように見受けられる(こちらで製作したアプリが動いていない)

以上、よろしくお願いいたします。

コメント

at_mizo

2022年6月9日 12時31分

溝渕です。

以下、ソフトウェア構成に不明点があるので想像を含みます。

> D-sub9pin(CON3)で外部機器と通信(常時接続)

CON3は、外部機器との通信以外には用いておらず、「製作したアプリ」以外からは使われないという前提で以下記載します。

> <質問1>
> A420/440で起動中(※1)、D-sub9pin(CON3)に、ごみデータ(※2)が入った場合、途中で停止状態(※3)になる可能性はありますか。
> 可能性がある場合、どのような条件でしょうか。

まず、openしていないUARTは何もできないので、「製作したアプリ」は動作していると推測します。open後、入力されたデータに対して何かしらの動作を行うのは、以下2点のいずれかと思います。

- tty layer(制御端末にしている場合)
- 製作したアプリ

> <質問2>
> 停止状態になった場合、再起動以外で復帰する可能性はありますか。
> 可能性がある場合、どのような条件でしょうか。

これは、「停止状態」が具体的にどのような状態であるかを調査するのが良いかと思います。例えばプロセスが休止状態になっているのであれば復帰させれば良いですし、システムがハングアップしているのであればアプリまたはシステムの再起動が必要になると思います。