Armadilloフォーラム

G3 M1が高温になった場合の挙動

masatosato

2019年3月1日 11時25分

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

Armadillo-IoT G3 M1が高温になった場合の挙動についてご教示願います。

具体的には、以下マニュアルの仕様と異なり、
G3 M1のCPU温度が100℃に達したところで、電源が停止してしまうのですが、
その理由をご教示いただけないでしょうか。

■参照マニュアル
Armadillo-IoT ゲートウェイ G3製品マニュアル v.2.0.3 pdf版 p.115
→"Armadillo-IoT G3は、温度センサーの測定温度が105℃以上になった場合、Linuxカーネルがシステムを停止させる"

■G3M1使用条件
 ・型番:AGX3142-D01Z
 ・環境
    1. G3M1は"金属製の筐体"に格納
    2. 筐体を恒温槽に格納 (雰囲気温度70℃)
 ・動作
    1. ether経由でPCと接続し、10秒周期でデータ (約1KB) を送信
    2. 以下コマンドでCPU温度をモニタリング
       cat /sys/class/thermal/thermal_zone1/temp

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

コメント

at_hironori.miura

2019年3月1日 14時52分

三浦です。

いくつか確認させて下さい。

1. G3 M1のCPU温度が100℃に達したことの確認は、以下コマンドの結果が100になったことを確認したという認識で良いでしょうか?
cat /sys/class/thermal/thermal_zone1/temp

2. 電源が停止する状態とは、具体的にどのような状態を指していますでしょうか?
cpuからの応答がなくなる、kernelによるサーマルシャットダウンシーケンスが実行されpoweroffする、rebootするなど

3. 筐体を恒温槽に格納した際の雰囲気温度70℃は、筐体の外部の雰囲気温度でしょうか?
 それとも筐体内部の温度でしょうか?

佐藤です。

> 1. G3 M1のCPU温度が100℃に達したことの確認は、以下コマンドの結果が100になったことを確認したという認識で良いでしょうか?
> cat /sys/class/thermal/thermal_zone1/temp
三浦様の認識通りですが、正確には100℃を超えて100.690℃を示していました。

> 2. 電源が停止する状態とは、具体的にどのような状態を指していますでしょうか?
> cpuからの応答がなくなる、kernelによるサーマルシャットダウンシーケンスが実行されpoweroffする、rebootするなど
"kernelによるサーマルシャットダウンシーケンスが実行されてpoweroffする"という状態を指しています。

> 3. 筐体を恒温槽に格納した際の雰囲気温度70℃は、筐体の外部の雰囲気温度でしょうか?
>  それとも筐体内部の温度でしょうか?
筐体外部の雰囲気温度を指しています。

at_hironori.miura

2019年3月4日 15時39分

三浦です。

原因が分かりました。

本件、マニュアル記載とLinux-Kernel側の設定値が食い違っていることが原因です。
ご迷惑をおかけし、大変申し訳ありません。

- マニュアル記載: 105℃
- Linux-Kernelの設定値(※実際の動き): 100℃

近日中に修正いたします。

105℃でシステム停止させたい場合は、次の様にコマンドを実行してください。
----------------------------------------------------------------------------------------
■ 設定
root@armadillo:~# echo 105000 > /sys/class/thermal/thermal_zone1/trip_point_1_temp

■ 現在値の確認
root@armadillo:~# cat /sys/class/thermal/thermal_zone1/trip_point_1_temp
105000
----------------------------------------------------------------------------------------

Linux-Kernel側のソースコードを修正することでも同様の対応は可能です。
----------------------------------------------------------------------------------------
drivers/thermal/imx_thermal.c

static int imx_get_sensor_data(struct platform_device *pdev)
... 省略 ...

- data->temp_critical = data->temp_max - (1000 * 5);
+ data->temp_critical = data->temp_max;
----------------------------------------------------------------------------------------

佐藤です。

3点質問させてください。

1. "近日中に修正する"とのことですが、"マニュアルの記載を100℃に修正する"との認識で正しいでしょうか。
それとも、"今後販売するG3M1に対してLinux-Kernelの設定値を105℃に修正する"という意味でしょうか。

2. Linux-Kernelの設定値を100℃とした場合は、保証範囲に含まれるのでしょうか。

3. Linux-Kernelの設定値を105℃とした場合は、保証範囲に含まれるのでしょうか。

at_hironori.miura

2019年3月5日 18時22分

三浦です。

下記のとおり回答いたします。

1. について
今後のアップデートで、ソフトウェアの設定値を105℃に修正したイメージをリリースします。
今後出荷されるイメージにも順次適用されます。

2. と3. について
設定値と製品の動作保証温度範囲は関係なく、
基板周囲温度が-20~70℃であれば保証範囲内となります。

なお、ソフトウェアの扱いについては、下記マニュアルの「ソフトウェア使用に関しての注意事項」をご確認下さい。
https://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_pro…

佐藤です。

ご回答ありがとうございました。
大変助かりました。
今後ともよろしくお願いします。