FAQ

故障かなと思ったら(Armadillo-X2)

Armadillo-X2で故障かな?と思った時の確認手順を説明します。

確認は下の図のような流れで行います。

本FAQは、 電源、UART2(USBコンソールインターフェース)、uSDHC2(microSD)、uSDHC3(eMMC) のハードウェアの不具合、またはeMMC上のイメージファイルが原因でArmadilloが正しく起動しない方に向けて、起動するイメージファイルをSDブートを用いて切り替えながら問題の切り分けを行っていく手順を紹介しています。 これに該当しない方は、「フォーラムの利用方法」を必ずご確認の上、「Armadillo フォーラム」にてご質問ください。

本FAQではmicroSDカードを使用します。1GB以上のmicroSDカードを用意してください。

目次

  1. 準備
  2. ACアダプタの確認
  3. ハードウェアの確認
  4. U-Bootイメージの確認
  5. Linuxイメージの確認
  6. 不具合箇所が特定できた場合は?
  7. 問題が解決しなかった場合は?

1. 準備

1-1.Armadillo-X2と作業用PCのシリアルポート同士を接続する

以下の接続例を参考に、Armadillo-X2と作業用PCを接続します。

  1. Armadillo-X2 本体
  2. 作業用PC
  3. シリアル通信用 USB ケーブル(A-microB)

1-2. 作業用PCがUSBシリアル変換ICを認識していることを確認する

作業用PCがWindowsの場合

[G4/A6E/X2] USBコンソール向けデバイスドライバをWindowsにインストールする方法」を参照してUSBシリアル変換ICのドライバを作業用PCにインストールし、シリアルポートとして認識されていることを確認した上で「作業用PCにATDEをインストールする」以降の手順を実施してください。
Armadillo-X2に搭載されているUSBシリアル変換ICのドライバがインストールされていない場合、Armadillo-X2と作業用PCをシリアル通信用USBケーブル(A-microB)で接続してもシリアルポートとして認識せず、ATDEでも使用できない場合があります。

作業用PCがLinuxの場合

Linuxカーネルのバージョン3.x.x以降である場合は当該のUSBシリアル変換ICのドライバが組み込まれているため、この作業は基本的に必要ありません。
接続後に以下のコマンドを実行して正しく認識されていることを確認し、「作業用PCにATDEをインストールする」に進んでください。

[PC ~/]$ lsusb | grep CP210x
Bus 002 Device 008: ID 10c4:ea60 Silicon Labs CP210x UART Bridge

上記の手順を行ったにも関わらず、作業用PCがUSBシリアル変換ICを認識しない場合はハードウェアの不具合である可能性があります。 「問題が解決しなかった場合は?」を参照してください。

1-3. 作業用PCにATDEをインストールする

作業用PCにATDEをインストールします。
インストールの手順は「製品マニュアル 開発環境のセットアップ」を参照してください。

Armadillo-X2に対応したATDEはATDE9です。

1-4. SDブート用のmicroSDカードを作成する

本FAQでは、標準イメージが書き込まれたmicroSDからSDブートすることで問題の切り分けを行っていくため、予めSDブート用のmicroSDを作成します。

製品マニュアル ブートディスクの作成」を参照し、最新の標準イメージを用いてSDブート用のmicroSDを作成してください。作成には1GB以上のmicroSDカードが必要になります。

1-5. ATDEでシリアル通信ソフトウェアを起動する

Armadillo-X2とシリアル通信を行うために、ATDEでminicomを起動します。minicomは端末内で動作するシリアル通信ソフトウェアです。 minicomの起動方法と設定については「製品マニュアル シリアル通信ソフトウェア(minicom)の使用」を参照してください。

もしATDEでシリアルポートが使用できない場合は、「FAQ : ATDEでシリアルポートが使用できません」を参照してください。

2. ACアダプタの確認

Armadillo-X2の電源投入前に、お手元のACアダプタが使用可能であるか確認します。
Armadillo-X2付属のACアダプタを使用している場合は問題ありません。
そうでない場合は以下の表を参照してACアダプタが適切であるか確認してください。

出力電圧 出力電流 プラグ形状 極性マーク 対応ACアダプタ
12V 3.0A以上 外径: 5.5mm
内径: 2.1mm
ac-adapter OP-AC12V6-00 (3.0A)
可能であればテスターなどで、ACアダプタの出力電圧が適切であることを確認してください。

3. ハードウェアの確認

起動出来ない原因がハードウェアかソフトウェアかを判断するために、Armadillo-X2のブートローダーであるU-BootをmicroSDカードから起動させます。

3-1. SDブートを行う

これから示す手順にしたがって以下の接続例のとおりにケーブル・部品を取り付けてください。

  1. Armadillo-X2 本体
  2. AC アダプタ
  3. 作業用PC
  4. シリアル通信用 USB ケーブル(A-microB)
  5. microSD カード
  6. ジャンパーソケット
  7. LED4

まず、AC アダプタが接続されている場合は、これを取り外してください。

JP1をジャンパーソケットでショートさせます。 USBシリアル変換アダプタのスライドスイッチを図のように切り替えます。

次に、最初に作成したmicroSDカードをmicroSDスロット(CON1)に挿入します。

Armadillo-X2と作業用PCをUSB ケーブルで接続します。

最後にACアダプタを接続します。

3-2. LEDの点灯確認

電源投入後にLED4が点灯することを確認してください。LED4の位置は上図を参照してください。

電源を投入してもLED4が点灯しない場合は、Armadillo-X2のハードウェア的な不具合である可能性と、microSDカードのハードウェア的な不具合である可能性があります。別のmicroSDカードを使用しても同様の現象が発生する際は、「問題が解決しなかった場合は?」を参照してください。

3-3. SDブートの起動確認

SDブートが成功すると以下のように起動メッセージが表示されます。 起動メッセージの途中で「Hit any key to stop autoboot:」のカウントダウンが0になる前に何かキーを押下して、U-Bootのプロンプト(以下の起動メッセージの末尾にあるu-boot=>)が表示されるかどうかを確認してください。

U-Boot SPL 2020.04-at24 (Jun 25 2024 - 05:23:49 +0000)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 4000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from BOOTROM
image offset 0x8000, pagesize 0x200, ivt offset 0x0
NOTICE:  BL31: v2.4(release):2020.04-at19
NOTICE:  BL31: Built : 08:29:47, Dec 14 2023
 
 
U-Boot 2020.04-at24 (Jun 25 2024 - 05:23:49 +0000)
 
CPU:   i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)                         
CPU:   Industrial temperature grade (-40C to 105C) at 30C                       
Model: Atmark-Techno Armadillo X2 Series                                        
DRAM:    Hold key pressed for tests: t (fast) / T (slow)                        
2 GiB                                                                           
WDT:   Started with servicing (10s timeout)                                     
MMC:   FSL_SDHC: 1, FSL_SDHC: 2                                                 
Loading Environment from MMC... OK                                              
In:    serial                                                                   
Out:   serial                                                                   
Err:   serial                                                                   
 
 BuildInfo:                                                                     
  - ATF 2020.04                                                                 
  - U-Boot 2020.04-at24                                                         
 
reset cause: first boot since power on                                          
switch to partitions #0, OK                                                     
mmc1 is current device                                                          
serial# changed: Clearing MAC addresses in env                                  
flash target is MMC:1                                                           
Net:   eth0: ethernet@30be0000 [PRIME]                                          
Fastboot: Normal                                                                
Normal Boot                                                                     
Hit any key to stop autoboot:  0                                                
u-boot=> 

正しく起動メッセージとプロンプトが表示された場合、発生している不具合の原因がeMMC上のソフトウェアである可能性があります。 続いて、「U-Bootイメージの確認」に進んでください。

プロンプトが表示されない場合はハードウェアの不具合である可能性があります。 「問題が解決しなかった場合は?」を参照してください。

4. U-Bootイメージの確認

eMMCに書き込まれているU-Bootを起動できるか確認します。

以下の接続例になるように、ケーブルを取り付けます。 最初にACアダプタを外してから、 ジャンパーソケットとmicroSDカードを取り外してください。

ACアダプタを再度接続する際は、先ほど同様、起動メッセージの途中で「Hit any key to stop autoboot:」のカウントダウンが0になる前に何かキーを押下して、U-Bootのプロンプト(以下の起動メッセージの末尾にあるu-boot=>)が表示されるかどうかを確認してください。

  1. Armadillo-X2 本体
  2. AC アダプタ
  3. 作業用PC
  4. シリアル通信用 USB ケーブル(A-microB)

正しく起動すると以下のようにU-Bootの起動メッセージとプロンプトが表示されます。

U-Boot SPL 2020.04-at24 (Jun 25 2024 - 05:23:49 +0000)                          
DDRINFO: start DRAM init                                                        
DDRINFO: DRAM rate 4000MTS                                                      
DDRINFO:ddrphy calibration done                                                 
DDRINFO: ddrmix config done                                                     
Normal Boot                                                                     
Trying to boot from BOOTROM                                                     
image offset 0x0, pagesize 0x200, ivt offset 0x0                                
NOTICE:  BL31: v2.4(release):2020.04-at19                                       
NOTICE:  BL31: Built : 08:29:47, Dec 14 2023                                    
 
 
U-Boot 2020.04-at24 (Jun 25 2024 - 05:23:49 +0000)                              
 
CPU:   i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)                         
CPU:   Industrial temperature grade (-40C to 105C) at 31C                       
Model: Atmark-Techno Armadillo X2 Series                                        
DRAM:    Hold key pressed for tests: t (fast) / T (slow)                        
2 GiB                                                                           
WDT:   Started with servicing (10s timeout)                                     
MMC:   FSL_SDHC: 1, FSL_SDHC: 2                                                 
Loading Environment from MMC... OK                                              
In:    serial                                                                   
Out:   serial                                                                   
Err:   serial                                                                   
 
 BuildInfo:                                                                     
  - ATF 2020.04                                                                 
  - U-Boot 2020.04-at24                                                         
 
reset cause: first boot since power on                                          
switch to partitions #0, OK                                                     
mmc2(part 0) is current device                                                  
flash target is MMC:2                                                           
Net:   eth0: ethernet@30be0000 [PRIME]                                          
Fastboot: Normal                                                                
Normal Boot                                                                     
Hit any key to stop autoboot:  0                                                
u-boot=> 

起動メッセージとプロンプトが正しく表示された場合、eMMC上のU-Bootイメージに問題はありません。「Linuxイメージの確認」へ進んでください。

プロンプトが表示されない場合はeMMCに書き込まれているU-Bootに問題がある可能性があります。 「不具合箇所が特定できた場合は?」を参照してください。

5. Linuxイメージの確認

Linuxの起動を確認します。

5-1. Linuxシステムの起動確認

U-Bootのプロンプトでbootコマンドを実行しLinuxシステムを起動してください。

=> boot

bootコマンド実行後に以下のログインプロンプトが表示されるか確認してください。
表示された場合はログインプロンプトが表示された場合へ、表示されない場合はログインプロンプトが表示されない場合へ進んでください。

armadillo login:

5-1-1. ログインプロンプトが表示された場合

一度も再起動せずに起動ログが表示され、以下のようにログインプロンプトが表示された場合はお使いのArmadillo-X2の起動に関しては問題はないようです。
他に不具合が見られる場合は、「フォーラムの利用方法」を必ずご確認の上、「Armadillo フォーラム」にてご質問ください。

ログインプロンプトは出ても、その際に自動的に再起動が挟まる場合は、ロールバックが起こった可能性があります。
その場合はハードウェアの故障ではなく、お使いのカーネルイメージかDTBファイルが破損しているか起動できないイメージである可能性が高いです。
ロールバックからの復旧」を行ってください。

5-1-2. ログインプロンプトが表示されない場合

ログインプロンプトまでたどり着けず、再起動を何度も繰り返す場合は、一度ロールバックしてアップデート前のルートファイルシステムで起動したことに気づかず、起動できない独自のアップデートを再度施してしまい、A/B面どちらのルートファイルシステムにおいても起動できずにロールバックで無限ループとなってしまう状態に陥ることがあります。
その場合はインストールディスクを使用してイメージを書き直す必要がありますので、「インストールディスクを用いて初期化を行う」に進んでください。

一度も再起動せず、ログインプロンプトにもたどり着けない場合は、お客様がソフトウェアに加えた変更点が原因で起動できない可能性が高いです。
この場合は、「フォーラムの利用方法」を必ずご確認の上、「Armadillo フォーラム」にてご質問ください。

5-2. ロールバックからの復旧

Armadillo-X2では、eMMCに書き込まれているカーネルイメージファイルまたはDTBファイルの問題によってLinuxの起動に失敗した場合、ロールバックが起こりアップデート前の状態のルートファイルシステムで起動します。

ロールバックが発生したかどうかは、ログイン後に以下のコマンドを実行することで確認できます。

[armadillo ~/]# abos-ctrl status
Currently booted on /dev/mmcblk2p1
WARNING: Currently running on non-latest version (expected /dev/mmcblk2p2 installed on Mon Apr 28 15:39:42 JST 2022)
rollback-status: rolled back

rollback-statusrolled backとなっている場合はロールバック機能が働いて、アップデート前のルートファイルシステムで起動しています。

ロールバックが発生したかどうかは上記コマンド以外にも起動ログやat-logなどからも確認できます。 詳しくは「製品マニュアル ロールバック状態を確認する」を参照してください。

初めてロールバックした際には上記コマンド実行例のように起動可能なアップデート前のルートファイルシステムで起動しているはずです。
この場合は「起動できなかったルートファイルシステムを修正する」に進んでください。

5-2-1. 起動できなかったルートファイルシステムを修正する

アップデート前のルートファイルシステムから以下のコマンドを実行することで、/targetディレクトリにアップデート後の起動しなかったルートファイルシステムをマウントすることができます。

[armadillo ~/]# abos-ctrl mount-old && mount -o remount,rw /target

実行後に、/targetディレクトリ以下のファイルを修正してください。

修正後は以下のコマンドを実行することで、修正した方のルートファイルシステムで起動を試みます。

[armadillo ~/]# abos-ctrl rollback
[armadillo ~/]# reboot

再起動時に修正したルートファイルで正常に起動したならば不具合は修正されました。

正常に起動せず、再度ロールバックが起こってしまった場合は、正しく起動するまで同じ手順を繰り返して修正を行ってください。

不具合箇所が特定できた場合は?」もあわせて参照してください。

5-3. インストールディスクを用いて初期化を行う

A/B面共に起動しないイメージを書き込んでしまった場合は、Armadillo Base OS インストールディスクイメージで作成したインストールディスクを用いて初期化を行うことになります。

注意点としまして、インストールディスクを用いた初期化を行うと、ArmadilloのeMMCに書き込んだデータは全て消去されます。

必要であれば、インストールディスクを使用する前に「各イメージファイルのバックアップ手順」を参照してファイルのバックアップを行ってください。

インストールディスクの作成方法及び使用方法は「製品マニュアル 初期化インストールディスクの作成」を参照してください。

初期化後はユーザーアプリケーションや各種イメージを修正し、Armadillo-X2に書き込んで再度動作確認をしてください。

不具合箇所が特定できた場合は?」もあわせて参照してください。

6. 不具合箇所が特定できた場合は?

ここまでの手順で不具合箇所が特定できた場合は、その部分を修正することで正常に動作するようになる可能性が高いです。 修正の際にご不明な点があれば、「フォーラムの利用方法」を必ずご確認の上、「Armadillo フォーラム」にてご質問ください。

修正したにも関わらず起動しない場合は、再度本FAQの手順をやり直してください。

やり直しても正常に起動しない場合は、「Armadillo フォーラム」にてご質問いただくか、「問題が解決しなかった場合は?」を参照してください。

7. 問題が解決しなかった場合は?

本手順通りに作業を行い問題が解決しない場合は、「製品保証規定」をご確認の上、「交換のお申込み」を行ってください。

Appendix. 各イメージファイルのバックアップ手順

eMMC上のイメージファイルのバックアップをとりたい場合の手順を紹介します。

バックアップするためにまず「ハードウェアの確認」を参照してSDブートし、rootユーザでログインしてください。

以下のコマンドを実行することで、eMMC上のルートファイルシステムをマウントしてアクセスできるようになります。
以下の例ではeMMCの第1パーティション(/dev/mmcblk2p1)をマウントしていますが、ロールバックの状態によっては第2パーティション(/dev/mmcblk2p2)にバックアップしたいファイルが保存されている場合もありますので、適宜読み替えてください。

[armadillo ~]# mount /dev/mmcblk2p1 /mnt
[armadillo ~]# ls /mnt/
bin   dev  home  live        mnt  proc  run   sys     tmp  var
boot  etc  lib   lost+found  opt  root  sbin  target  usr

これらをSDカードのルートファイルシステムや他のUSBメモリなどにコピーしてバックアップしてください。