はじめに
今回はWindows環境で「Intel Edison Module」のファームウェアの更新をしてみたいと思います。
この作業は各種設定を行う前に、最初に行っておくことをお勧めします。というのも、この作業を行うとすべての設定がデフォルト状態に戻るからです。逆に、いろいろと設定をいじった後にデフォルト状態に戻したい場合にもこの作業は有効です。
試用している「Intel Edison Module」などについて
- 本記事で試用している「Intel Edison Module」などは、インテル株式会社のご厚意により“さかきけい”個人に貸し出されたものです。このため私の勤務先等とは一切関係がありません。
- 本記事は“さかきけい”が完全に自由意思で書いているもので、インテル株式会社からは何らの要請、制限等は受けていません。
途中で機材を変更すると記事の連続性に難があるかと思いますので、発売後である今回も前回に引き続いて貸し出しを受けている「Intel Edison Module」と「Intel Edison Board for Arduino」を使用しています。
免責の宣言
本記事は“さかきけい”の作業内容を共有するためのものであり、何ら保証はありません。自己責任でのみ使用することができます。
使用するもの
- Intel Edison Board Kit for Arduino
- USB 2.0 Standard Type Aプラグ ⇔ USB 2.0 Micro Type Bプラグのケーブル – 2本。※1
- 出力が7~15VまでのACアダプター
- Windows パソコン※2
- Internet接続環境
- シリアルでのアクセスに対応したTera Termのような端末エミュレーター
ACアダプターはUSB接続で問題なく動作していれば不要ではあるのですが、USBケーブルからの給電のみでは不意にリブートするとの報告が多数あるため、ファームウェアの更新時にはACアダプターによる給電をすることを強くお勧めします。※3私はIntel Galileo Gen 2ボードに付属のACアダプター(出力12V 1.5A)を使用しました。※4
ファームウェアの更新手順
- 初めて接続する際にはWindowsにIntel Edison用のドライバーをインストールします。すでにインストール済みの場合にはこの手順をスキップしてください。
- 「Intel Edison Board for Arduino」に搭載されているFTDI製のUSB・シリアル変換チップ用のドライバーをインストールします。Windows Updateにも同社のドライバーは存在していますが、Intel Corporationは別途ダウンロードしてインストールするように指示していますので、今回はそれに沿って作業を行います:
- FTDI(Future Technology Devices International Ltd)のサイトからドライバーをダウンロードします。
- ダウンロードしたファイルを右クリックしてショートカット・メニューから「管理者として実行」を選択します。
- Windowsの設定によっては「ユーザー アカウント 制御」(UAC)の表示がなされるので許可します。
- 「Extract」ボタンをクリックします。
- 「次へ」ボタンをクリックします。
- 「完了」ボタンをクリックしてインストールを終了します。
- 「Intel Edison Module」を認識するためのドライバーをインストールします。
- Intel CorporationのサイトからRNDIS(ネットワーク)、CDC(シリアル)およびDFU(ファームウェア更新)を行うためのドライバーを「Edison – Software Downloads」ページの「Windows Driver setup」からダウンロードします。
- ダウンロードしたファイルを実行します。
- Windowsの設定によっては「ユーザー アカウント 制御」(UAC)の表示がなされるので許可します。
- 「Next」ボタンをクリックします。
- ライセンス条項を確認し、同意できるのであれば「I Agree」ボタンをクリックします。なお、同意できない場合にはこのソフトウェアは使用できません。
- インストールするコンポーネントにチェックを入れて(通常はチェックが入っている)「Next」ボタンをクリックします。
- インストールする先のパス(通常はデフォルトのままでよいでしょう)を指定して、「Install」ボタンをクリックします。
- ドライバーのインストールが完了するまで待ちます。
- 「OK」ボタンをクリックします。
- 「Finish」ボタンをクリックしてインストールを終了します。
- 「Intel Edison Board for Arduino」に搭載されているFTDI製のUSB・シリアル変換チップ用のドライバーをインストールします。Windows Updateにも同社のドライバーは存在していますが、Intel Corporationは別途ダウンロードしてインストールするように指示していますので、今回はそれに沿って作業を行います:
- 「Intel Edison Module」を装着した「Intel Edison Board for Arduino」にUSBケーブルを2本とACアダプターを挿します:
- 「Edison – Software Downloads」ページから「Edison Yocto complete image」をダウンロードします:
- ダウンロードした
.zip
ファイルを展開します。展開すると以下のようなファイルが生成されます: - 「Edison」とボリューム ラベルのあるドライブを選択します:
- 初期状態では該当ドライブには空のはずですが、すでに何らかのファイルが存在しているようであればすべて削除します。削除の際に不意にエラーが表示されることがありますが、無視して問題ありません。
- 先ほど展開したファイルをフォルダー構造をそのままに、該当ドライブのルート フォルダーにコピーします:
- 任意の端末エミュレーターを起動してシリアル・ポートに接続します。ここではTera Termを使用します。
- Enterキーを押して以下の表示が出ることを確認します:
Poky (Yocto Project Reference Distro) 1.6 edison ttyMFD2 edison login:
初期のファームウェアではCOMポートからの入力を取りこぼすエラッタがあるため、でない場合には2連続で押してみると反応することがあります。以下同様に対処してください。
- 「
root
」と入力してEnterキーをおします。 - 以下の表示が出ていることを確認します:
root@edison:~#
- 「
reboot ota
」と入力してEnterキーをおします。 - メッセージが大量に流れてファームウェアの更新処理が実行されるので、電源を落とさないようにしつつ以下の表示が出るまで待ちます:
Poky (Yocto Project Reference Distro) 1.6 edison ttyMFD2 edison login:
更新中は3度再起動がかかります。実測で全行程5分9秒かかりました。
今回の更新の結果
初期状態のuname
表示は以下の通りでした:
Linux edison 3.10.17-poky-edison+ #1 SMP PREEMPT Wed Aug 20 16:09:18 CEST 2014 i686 GNU/Linux
これが今回の更新で以下のようになりました:
Linux edison 3.10.17-poky-edison+ #1 SMP PREEMPT Mon Sep 8 14:09:55 CEST 2014 i686 GNU/Linux
また、/etc/version
の情報は初期状態では以下の通りでした:
edison-weekly_build_56_2014-08-20_15-54-05
これが更新後は以下のようになりました:
edison-weekly_build_68_2014-09-08_13-49-07
まとめ
Intel Edison Moduleのファームウェアの更新はIntel Galileoシリーズほど簡単ではありません※9が、かといって難しいというレベルでもないように思います。一つだけ気になるとすれば、設定を維持しながら更新する方法が今のところない点でしょうか?
今後もファームウェアは更新されていく予定となっています。現時点でもいくつかの機能を追加する予告が行われています。また不具合についても順次修正していくことになるでしょう。例えばセキュリティ・ホールについてもファームウェアの修正で対応していくことになります。※10
Intel Edisonを快適に使用していくためにも、新しいファームウェアの情報には注意を払っていくことが大切でしょう。
- 当然のことながらパソコン側にも2本のUSB 2.0の空きコネクターが必要です。
- Windows 7 Ultimateを稼働させた、CPU Intel Core i7-930、DDR3 DRAM 24GBのマシンを使用しました。
- 私自身も不意にリブートがかかる体験をしたことがあるので、現在は常にACアダプター接続で動かしています。
- 私のIntel Galileo Gen 2ボードは「インテル Galileo Gen 2ボードをPower over Ethernet対応にする」で書いたようにPoE対応にしたため、ちょうどこのACアダプターが空いていたのです。
- 2つあるコネクターの下側で「J3」とシルク印刷がある方。
- 2つあるコネクターの上側で「J16」とシルク印刷がある方。
- 複数のFTDI社製チップを採用したUSBデバイスを接続していて、区別がつかない場合には不要なデバイスをすべて外すなどして識別してください。
- 他の設定もキャプチャ画像に全て合わせてください。
- Intel Galileoシリーズの場合はArduinoソフトウェア開発環境で更新メニューを選択するだけで更新することができます。
- 実際にIntel Galileoシリーズのファームウェアではそのように対応しています。