Armadilloフォーラム

Armadillo-X1基板における再起動現象について

tsato_814

2023年5月15日 15時50分

お世話になります。佐藤と申します。長文失礼します。

現在弊社では、客先からの依頼で、Armadillo-X1基板を使用した、ゲートウェイ製品を生産しています。

この際、以下のような2種類の不具合が発生しており、工数の増大につながっています。

あくまでも、工場出荷状態のX1基板ではなく、客先のアプリなどがインストールされていて、
複数のアプリ/デーモンなどが実行されている状態です。
したがいまして、原因について確定的な回答は頂けないと思いますが、何かヒントなど、
お気づきのことがあれば、ご教示願えないかと思っている次第です。

1. 「halt」コマンドを実行して、シャットダウン後、電源を切ろうとしているが、
 シャットダウンせずに(「reboot: System halted」が表示されずに)再起動してしまう。

2. 起動後、ログインし、いくつかのコマンドを実行した後、しばらく放置していて、
 何もしていないのに、勝手に再起動してしまう。

1については、5台に1台くらいの頻度で発生しています。
同じ基板でも、1回だけしか発生しなかったり、2回続くこともあります。
したがって、基板によるものではなく、ある頻度でランダムに発生しているような感じです。

2については、50台中2台程度の発生頻度です。

USBシリアル変換アダプタを、X1基板のCON4に接続しており、CON4からの出力を添付します。

1が発生した際の、CON4出力を「halt時_reboot_2回連続.txt.txt」に添付します。

13行目に「halt」を実行していますが、「imx2-wdt 30280000.wdog: Device shutdown: Expect reboot!」や
「reboot: System halted」が表示されずに、137行目から再起動しています。

なお、この時は、2回連続発生していて、同じく742行目に「halt」を実行していますが、
863行目から再起動しています。

2が発生した際の、CON4出力を「login後プロンプト表示_放置時_reboot.txt」に添付します。

18行目は、一部割愛させて頂いていますが、こちらで複数のコマンド実行とその応答が表示され、
19行目のプロンプトが表示されたあと、しばらく放置していて、
その後「ci_hdrc ci_hdrc.1: remove, state 1」と「usb usb2: USB disconnect, device number 1」が
表示され、22行目から再起動しています。

残念ながら、2つの現象とも、syslogなどは取っていません。

2は発生頻度が低いので難しいかもしれませんが、1は、必要であれば、syslogなどをとることは可能です。

Armadillo-X1 製品マニュアル Version 3.1.1のP.111「7.3.18. ウォッチドッグタイマー」の項に、

「i.MX 7Dual の WDOG は、一度有効化すると無効化することができませ
ん。そのため、halt コマンドなどを実行してLinux カーネルを停止した
場合は、ウォッチドッグタイマーのキックができなくなるためシステムリ
セットが発生します。」

という記載がありますが、1項の現象は、これによるもので、例えば、haltによりシャットダウンしたいのに、
カーネルが停止されたことでWDTのキックができなくなって、システムリセットによって、
先に再起動してしまう、という現象は考えられるでしょうか?

その場合、例えば、一時的にWDTのタイマーを128秒に設定してから、「halt」を実行するなどで、
対処は可能でしょうか。(ただし、128秒の設定は一時的であり、再電源投入時は、通常のタイマにしたい。)

また、2項については、これもWDTがらみで、客先アプリなどによる原因で、WDTのキックができなくて、
システムリセットによって、再起動してしまっているのではないかと推測しています。

ただし、客先アプリについては当方では内容をわかっておらず、また、これについては、
このフォーラムで聞いてもわからないことなので、ここでお聞きしたいのは、
再起動時に表示された、「ci_hdrc ci_hdrc.1: remove, state 1」と
「usb usb2: USB disconnect, device number 1」について何かヒントがあれば
ご教示願いたいということです。

それを把握した上で、客先に確認したいと思っています。

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

コメント

at_koseki

2023年5月15日 20時30分

古関です。

> 1. 「halt」コマンドを実行して、シャットダウン後、電源を切ろうとしているが、
>  シャットダウンせずに(「reboot: System halted」が表示されずに)再起動してしまう。

終了時はhaltではなく、poweroffコマンドを実行していただけますでしょうか。

haltしても、その状態で電源を抜かずにいると128秒後にリブートしてしまう制約があります。
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…

poweroffコマンドを実行した場合、128秒後にリブートしません。

マニュアルの終了方法がhaltとなっていますが、
この手順が適切ではないため修正いたします。
ご迷惑をお掛けし申し訳ございません。
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…

それとも、halt後、128秒よりも短い時間で再起動が起きてしまうでしょうか。

> 2. 起動後、ログインし、いくつかのコマンドを実行した後、しばらく放置していて、
>  何もしていないのに、勝手に再起動してしまう。
> usb usb2: USB disconnect, device number 1」について何かヒントがあれば
はい。ご指摘の通り、こちらでもここを疑っています。

* 何かUSBデバイスを接続しているでしょうか?
* もしそうである場合、起動後にUSBデバイスを活線挿抜しているでしょうか?

また、症状が起きたときのコンソールではなく
/var/log/syslogをいただくことはできるでしょうか。

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

at_koseki

2023年5月15日 20時37分

古関です。

> /var/log/syslogをいただくことはできるでしょうか。

> 残念ながら、2つの現象とも、syslogなどは取っていません。
> 2は発生頻度が低いので難しいかもしれませんが、1は、必要であれば、syslogなどをとることは可能です。

申し訳ありません、2はsyslogを取るのが難しいのですね。

tsato_814

2023年5月16日 17時25分

古関様、御連絡ありがとうございます。佐藤です。

> 終了時はhaltではなく、poweroffコマンドを実行していただけますでしょうか。

了解しました。今後は、haltではなく、poweroffコマンドを実行して様子を見てみます。
ただ、今回の生産ロット分は本日で終了してしまいました。
次の生産は今月中には可能と思いますので、そこで確認したいと思います。

> それとも、halt後、128秒よりも短い時間で再起動が起きてしまうでしょうか。

これに関しては、128秒よりも短い時間で再起動が起きた可能性が高いと思っています。
(確実ではありませんが)

当方でも、haltコマンドを実行し、「reboot: System halted」が表示されたあとでも。
そのまま電源を抜かないとリブートすることは把握していて、「reboot: System halted」が
表示された後は、速やかに電源を抜いています。
(128秒というのは分かっていなかったし、poweroffコマンドだとリブートしないことも
分かっていませんでしたが。)

しかし、今回の現象は、添付したCON4出力のファイルにあるように、
「reboot: System halted」が表示されないうちにリブートしています。
シャットダウンに2分以上かかっていたのかもしれませんが、通常はもっと早く終了しているはずです。

> 申し訳ありません、2はsyslogを取るのが難しいのですね。

2 の現象が発生した際に、どのX1基板で起きたのか控えていれば、syslogを取ることは可能です。
(今回は、どの個体で起きたのか、作業者が控えていなかったため、できませんでした。)

ただし、発生頻度が低いので、次のロットで発生するかわからないため、syslogを取るのが
難しいと表現した次第です。

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

at_koseki

2023年5月16日 17時50分

古関です。

回答ありがとうございます。

1, 2 のどちらも同現状で起きているタイミングの違いだけなのかもしれません。
(halt実行中に出ているのか、通常運用中に出るのかなど)

* リブートは個体に依存して起きるのでしょうか?
 (再現している個体と、していない個体がある)
* 問題の個体をインストールディスク等で初期化した場合でも再現するでしょうか?
 (お客様のアプリケーションに依存して出るのか、そうでないのか)

tsato_814

2023年5月18日 16時15分

佐藤です。対応が遅くなり申し訳ありません。
またしても長文になります。

> * リブートは個体に依存して起きるのでしょうか?
>  (再現している個体と、していない個体がある)
必ず起きる、あるいは必ず起きない、と断言できるような
頻度でもないため、断定はできませんが、
個体に依存はしていないものと考えています。
(最初の、5/15 15:50の投稿に記載したとおり、
「基板によるものではなく、ある頻度でランダムに発生している」
と考えています。)

> * 問題の個体をインストールディスク等で初期化した場合でも再現するでしょうか?
>  (お客様のアプリケーションに依存して出るのか、そうでないのか)
これについては、まだ実施していません。
頻度から考えて、10台程度初期化して、かつそれぞれ5回ぐらいやってみた上で、
全然再現しない、ということであれば、客先アプリに依存したもの、
と判断できるとは思いますし、逆に少ない台数/回数でも再現するのであれば、
客先アプリに依存しない、と言えるとは思いますが、それぞれ逆の結果になってしまうと、
判断が難しいと思いますので、なかなか実施できません。

ただ、このフォーラムを見た限り、他のお客様であまり発生していないようなので、
客先アプリ依存なのかも、と思ったりしています。

「1」の現象に関するコメントで、「halt」コマンドと「poweroff」コマンドについて
ご説明頂きましたが、その内容から以下のように推測しました。
1) 「halt」コマンドでは、Linuxカーネルを停止する前に、WDTのタイマーを128秒に
 設定してから、カーネルを停止するので、128秒以内では再起動せず、
 しかし、電源を切らないでいると、128秒後に再起動する。
2) 「poweroff」では、Linuxカーネルを停止する前に、WDT自体を無効にするので、
 電源を切らないでも、ずっと再起動しない。

ということで、「poweroff」コマンドでやれば再起動しない、と推測しました。

ただ、実は今回のロットの生産が一昨日で終了せずに、1台だけうまくいかなかったため、
昨日現場に行って確認した際、試しに「poweroff」コマンドで終了していましたが、
一度だけ、やはり再起動してしまいました。もちろん128秒は経過していません。
推測が違っていたのか、あるいはWDTによる再起動ではないということなのか。

その際のコンソール出力を「poweroffでもreboot.txt」に添付します。
20行目で「poweroff」コマンドを実行しており、シャットダウン途中、
128行目が出力した後、129行目から再起動しています。

一方、poweroffコマンドで正常にシャットダウンした際のコンソール出力を
「poweroffで正常ダウン.txt」に添付します。
44行目で「poweroff」コマンドを実行しており、161行目で正常シャットダウン終了
しています。

ただし、この再起動については、個体依存の可能性も高いです。
この2つの添付ファイルは、同じX1基板のものですが、「poweroffでもreboot.txt」の
507行目や550行目以降にあるように、「usb 2-1:~」の出力で「error -71」が多発しています。
はっきりはしていませんが、AEH-AR9462モジュールとのI/Fで何らかの不具合がある
基板のようです(実際に客先アプリにてBluetoothが接続できない個体)。

ちなみに、5/15 15:50の投稿に添付したコンソール出力では(添付した箇所以外の前後も含め)
「error -71」出力は一切出ていません。

ということで、
a) 今回添付のものは「poweroff」コマンドでシャットダウンしようとしたが、
  個体不具合のため、再起動してしまった。
b) 前回添付のものは、個体不具合はない?が「halt」コマンドでシャットダウンしようと
 したため、再起動してしまった。
ということかもしれません。
(「halt時_reboot_2回連続.txt」の1回目のrebootの際、再起動直前の135行目に
「rndis_host 1-1:2.0 eth1: unregister 'rndis_host' usb-ci_hdrc.0-1, RNDIS device」
という出力がありますが、以前この表示のあと、しばらく出力が停止したことがあった記憶があり、
これにより128秒経過してしまった可能性もあります。
ただ、なぜそこで停止してしまうことがあるのか、という疑問はありますが)

また、5/15 20:30のコメントで頂いていたご質問に
回答していなかった件がありましたので、回答します。
「2」の現象についてです。

> * 何かUSBデバイスを接続しているでしょうか?
> * もしそうである場合、起動後にUSBデバイスを活線挿抜しているでしょうか?
接続されているUSBは2つあります。

1つは、CON2(USB TypeAコネクタ)にUSBケーブル経由で、
別の機器を接続していますが、起動前も起動後もずっと接続されており、
活線挿抜することはありません。接触不良などで、接続と接続断が
繰り返されていれば別ですが。
なお、本機器は、USB経由でLAN接続するRNDIS機能をもったものです。

もう1つは、本X1基板は、WLAN+BTコンボ製品であり、AEH-AR9462モジュールが
搭載されているため、X1基板上のUSB HUB経由で、CON3を通して、
そのモジュールと接続されています。
これも当然活線挿抜することはありません。

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

ファイル ファイルの説明
poweroffでもreboot.txt
poweroffで正常ダウン.txt