Armadillo-IoT ゲートウェイ G3/G3L、Armadillo-X1で、動作中にDRAMのデータ化けと、それによって動作中の再起動がごくまれに発生しています 。
この事象は個体に依存して発生し、対策ソフトウェアにアップデートすることで回避することができます。
以下をご確認の上、対策ソフトウェアへの更新を強く推奨します。
発生する事象
搭載SoC(i.MX7D)の個体差によって、ごくまれにDRAMからReadするデータが化ける個体があります。 状況によっては、ウォッチドックタイマーによるリセットが発生し再起動に至ります。
再起動の発生には個体依存性があり、ほとんどの個体では発生せず、経年劣化によるものではありません。
発生頻度も個体によって違いがあります。
対象製品
- Armadillo-IoTゲートウェイ G3
- Armadillo-IoTゲートウェイ G3L
- Armadillo-X1
事象が発生するソフトウェア
- U-Boot v2016.07-at24以前 (2024年2月のリリース以前)
回避方法
個体差を吸収できるように、DRAMコントローラーの設定値を変更した対策ソフトウェア「 U-Boot v2016.07-at25以降」へ更新することで事象を回避することができます。また、更新することによる、現在動作中の製品への影響はありません。
最新版へのアップデートを強く推奨します。
対策ソフトウェアは製品アップデートでリリース済みです。
- Armadillo 製品アップデートのお知らせ (2024年3月/Armadillo-IoT G3対象)
- Armadillo 製品アップデートのお知らせ (2024年3月/Armadillo-IoT G3L対象)
- Armadillo 製品アップデートのお知らせ (2024年3月/Armadillo-X1対象)
出荷品への対策ソフトウェア適用時期について
2024年4月以降の出荷品より、順次対策ソフトウェアを適用致します。
U-Bootのバージョン確認方法(Linuxを起動せずに確認)
電源投入直後に出力されるログを確認してください。
U-Boot 2016.07-at25 (Mar 27 2024 - 10:49:03 +0900) CPU: Freescale i.MX7D rev1.3 at 996MHz CPU: Extended Commercial temperature grade (-20C to 105C) at 46C Reset cause: POR Watchdog enabled I2C: ready DRAM: 1 GiB Boot Source: eMMC Board Type: Armadillo-IoT G3 M1(0a000003) Revision: 0001 S/N: 00A000050041 DRAM: 00001e05 XTAL: 00 MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from MMC... OK In: serial Out: serial Err: serial Found PFUZE300! deviceid 0x30, revid 0x11 Net: FEC0
または、保守モードで起動してからversionコマンドを実行してください。
=> version U-Boot 2016.07-at25 (Mar 27 2024 - 10:49:03 +0900) arm-linux-gnueabihf-gcc (Debian 6.3.0-18) 6.3.0 20170516 GNU ld (GNU Binutils for Debian) 2.28
U-Bootのバージョン確認方法(Linuxを起動後に確認)
Armadillo-IoTゲートウェイG3 型番: AGX314x-、AGX3101-の場合
次のようにコマンドを実行してください。
root@armadillo:~# strings /dev/mmcblk2boot0 | grep "U-Boot" | grep "x1" U-Boot 2016.07-at25 for x1 board
それ以外のArmadillo-IoTゲートウェイ G3、Armadillo-IoTゲートウェイG3L、Armadillo-X1の場合
次のようにコマンドを実行してください。
root@armadillo:~# strings /dev/mtdblock0 | grep "U-Boot" | grep "x1" U-Boot 2016.07-at25 for x1 board
対策ソフトウェアへのアップデート方法
以下に、対策ソフトウェアにアップデートする方法を記載します。
遠隔地に設置している個体をアップデートする場合、事前に同ソフトウェア構成のテスト環境を構築して、アップデート手順含めた評価を十分に行ってください。
Armadilloに対策ソフトウェアのイメージファイルをを配置
ダウンロードした「 U-Boot v2016.07-at25以降」のイメージファイルをArmadillo上に配置してください。
USBメモリやネットワーク経由での転送等、手段は運用中の装置に合わせて選択してください。
[armadillo ~]# ls u-boot-x1-[version].bin
尚、運用中ではなく開発前の場合は、この手順ではなく最新のインストールディスクでOSを含めた全てのソフトウェアリソースを初期化することが最も簡単です。
U-Bootイメージファイルの書き込み
次のコマンドを実行し、U-Bootイメージファイルの書き込みを行ってください。 書き込み中(コマンド実行中)に電源断を行なうと、次回以降起動できなくなる可能性があります。
[armadillo ~]# x1-bootloader-install u-boot-x1-[version].bin
ご利用のDebian GNU/Linuxのバージョンが古いと、 x1-bootloader-installが存在しなことがあります。その際は次のコマンドを実行してください。
Armadillo-IoTゲートウェイG3 型番: AGX314x-、AGX3101-の場合
[armadillo ~]# echo 0 > /sys/block/mmcblk2boot0/force_ro [armadillo ~]# dd if=u-boot-x1-[version].bin of=/dev/mmcblk2boot0 bs=1k skip=1 seek=1 [armadillo ~]# sync [armadillo ~]# echo 1 > /sys/block/mmcblk2boot0/force_ro
それ以外のArmadillo-IoTゲートウェイ G3、Armadillo-IoTゲートウェイG3L、Armadillo-X1の場合
[armadillo ~]# dd if=u-boot-x1-[version].bin of=/dev/mtdblock0 [armadillo ~]# sync
再起動
Armadilloを再起動します。 再起動することで対策が有効になります。
[armadillo ~]# reboot
バージョン確認
先述したバージョン確認方法で「 U-Boot v2016.07-at25以降」になっていることを確認してください。