BiTT開発
BiTT開発
2016.01.30
LIG PR
#3
Intel Edison

ファームウェアアップデート周りでハマった場合の解決手段

のびすけ

こんにちは、エンジニアののびすけ(@n0bisuke)です。
先日、LIGの社内でマイコンボードのハンズオンをおこないました。

ハンズオンでは多くのエンジニアがハマっていましたが、特に多かったのがIntel Edisonの最初のセットアップ箇所。前回の記事ではハマったときの話を全く書いていなかったため、前回の補足としてIntel Edisonのファームウェアアップデート周りについて紹介したいと思います。

inteledison2 Intel Edisonとは
Intelが開発している マイコンボード。Wi-FiモジュールやBluetoothモジュールを最初から搭載している。

ファームウェアアップデートのハマり

前回のIntel Edisonのセットアップ記事ですとファームウェアをアップデートしたつもりが、バージョンが変わっていないなどの問題がありました。そもそもEdisonがMacから認識されず、詰んでしまうというときもありました(苦笑)

  • 最初のファームウェア確認
root@edison:~# cat /etc/version
edison-weekly_build_56_2014-08-20_15-54-05
  • セットアップ後のファームウェア確認
root@edison:~# cat /etc/version
edison-weekly_build_56_2014-08-20_15-54-05

全く変わっていませんね(汗)
ちゃんとした手順をおこなったつもりでも、ここの表示が変わっていなければファームウェアアップデートは失敗しています。以下に3つのケースとその対策があるので、状況に合わせて読み進めてみてください。

ケース1:Edisonが認識されない

これが一番つらいですね(笑)
通常、EdisonとMacを接続すると上記の写真のようにネットワーク検出がされます。前回の記事の流れですと、ここでIPアドレスを割り振ってSSH接続してEdisonのコンソールにログインしました。
ネットワークが検出されない場合、次の対処をおこなってみてください。

対処法1:Screenコマンドを利用しよう

まずはEdisonのコンソールにログインしないことには始まりません。microUSBを2本用意して、パソコンに接続しましょう。USBシリアル通信をおこなうことができます。そして、Macのターミナルで

$ screen /dev/tty.usbserial-xxxxxx 115200

と入力しましょう。tty.usbserial-xxxxxxの部分はそれぞれの環境に合わせる必要があるため、

$ screen /dev/tty.usb

くらいまで入力したらtabキーを押して補完しましょう。screenコマンドを実行しようとすると、ユーザー名とパスワードを要求されます。
初期状態だとパスワード設定がされていないのでユーザー名にroot、パスワードは空のままで進めるとログインできます。ログインしたら以下のコマンドでバージョン確認をしてみましょう。

root@edison:~# cat /etc/version

対処法2:フォーマットしてみる

EdisonをUSB接続した状態で、MacのディスクユーティリティーからEdisonをフォーマットしてみます。ディスクユーティリティーにEdisonの表示があるので、消去を選択して実行します。

 

確認アラートが出ますが、気にせずに消去を押しましょう。このとき、消去が上手くできない(ディスクマウントが外せないと警告がある)場合がありますが、再チャレンジしてみると上手くいくときがあります。

ケース2:容量不足と言われてしまう

ファームウェアアップデートをしようとして、ファームウェアのファイルをEdison側にコピーしようとしたときに容量が不足していると怒られる場合があります。

対処法1:ログファイルの削除

Edisonはさまざまな操作に伴い、ログファイルが溜まり容量がなくなる場合があるので、不要なログファイルは削除しておきましょう。 先ほど紹介したscreenコマンドでシリアル通信SSHでログインしてから以下のコマンドを実行してください。

root@edison:~# rm -rf /var/log/journal/*

このコマンドを叩くことでゴミを削除して容量に余裕を持たせることができます。

容量が回復したら、ファームウェアアップデートを進めてみてください。

対処法2:フォーマットしてみる

この事象の場合も上記と同じでとりあえずフォーマットしてみることをお勧めします。フォーマットすることで余計なファイルなどもある程度は消えてくれます。

ケース3:ここまでの方法でもアップデートが上手くいかない or Edisonが認識されない

ここまで来ると本当によく分からない原因なのですが、次のような対策ができるかなと思います。

対処法:Phone Flash Tool Liteを使う

Phone Flash Tool Liteというのを使うといいです。 
今のところ、この方法でできなかったことはなかったので、個人的には最終手段のようなイメージです。新しくソフトウェアをPCにインストールする必要があるのが気が重いですが……(苦笑)

参考サイト:Intel Edisonのファームウェアアップデートが出来ないときの対策
http://qiita.com/Cheap-Engineer/items/174b5a0de34db96943da

Phone Flash Tool Liteはこちらのサイトからダウンロードできます。ページ上部ではWindows向けの説明がありますが、その下にMac向けの説明があります。

 

リンクからPhoneFlashToolLite_5.2.4.22_mac64.pkgといったインストーラーをダウンロードできます。

 

通常通りにインストールを進めます。

 

Phone Flash Tool Lieteをインストールし、立ち上げます。

 

Browse...を押してダウンロードしたファームウェアのzipファイルを選択しましょう。

 

Configurationを設定します。 MacならCDCに、WindowsならRNDISにします。今回はMacの想定なのでCDCにしましょう。

 

Start to flashを押します。

 

このときにUSBが2本刺さっている状態ですと失敗します。なので一度USBを両方抜いて、片側だけ刺しなおしてください。Phone Flash Tool Liteに表示される図面で見ると"上"の方のUSBケーブルをMacと接続する形になります。

 

そうすると、このような表示がでます。

Command `Wait for device with status dnx_fw on port -1` failed

というエラーが出るときがありました。 こういう場合は何回か抜き差ししたら大抵大丈夫です。 'Connected on port 1/3'と緑色表示になったのですかさずStart to flashを押してファームウェアの更新をします。

 

待っていると、進捗のプログレス表示がどんどんと上がっていきます。僕の場合 50%くらいのところで止まったりもしたのですが、少し待って進まない場合は勇気を持ってそのままUSBを抜き差ししてみましょう。

僕の場合は再開してくれました。また、84%くらいのところで止まったケースもあったのですが、この場合も 勇気を持ってそのままUSBを抜き差ししてみましょう。 一気に100%になって、実はすでにアップデートが完了していたなんてこともあります。

 

Flash successと表示されると完了です。ファームウェアが更新されているはずですので、前回の記事のフローに戻って確認してみて下さい。

おわりに

初めからFlash Tool Liteでいいんじゃないかという話もあるのですが、そこまでしなくてもファームウェアアップデートができる場合もあります。いろいろと試してみてどうしようもなくなり、藁にもすがる思いになった場合は最終手段として使ってみるくらいでいいと思います。

ここまでやって上手くいかない方がいらっしゃいましたら @n0bisuke までご連絡下さい! 責任は取れないですが、相談にのることはできると思います。

これでやっと電子工作を楽しめますね。IoTな開発の世界に入っていきましょう!