はじめに
Intel Edison Moduleに設定したパスワードを忘れてしまった際に、それを初期化してやり直すための方法について説明します。この処置は直接接続できる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を使用します。
- 「Intel Edison Board for Arduino」を使用している場合には「SW1UI5 RESET」ボタンを押すか、それ以外のボードを使用している場合には電源となる接続を外してから再度の接続を行います。※9
- シリアル接続をしている端末において、Intel Edison Moduleの起動中の自動起動のメッセージが0になるカウントダウンが表示されている最中にEnterキーや文字キーなどの端末エミュレーターで送信される何らかのキーを押します。
このタイミングを逃した場合はリセット・ボタンを押すか電源を入れなおすところからやり直してください。
- 「
run do_ota
」と入力してEnterキーを押します。 - メッセージが大量に流れてファームウェアの更新処理が実行されるので、電源を落とさないようにしつつ以下の表示が出るまで待ちます:
Poky (Yocto Project Reference Distro) 1.6 edison ttyMFD2 edison login:
更新中は2度再起動がかかります。
以上で、ファームウェアの更新とそれに伴う初期化が実行されます。そして、ログインはパスワードなしのroot
ユーザーで行えるようになります。
まとめ
このように、万が一パスワードを失念してしまっても初期化することができます。とはいえ、この方法は適用できる範囲がやや広すぎるように思います。おそらく今後は何らかの制限をかけられるようになっていくのではないかと、筆者は予想しています。
情報の出典等
- 当然のことながらパソコン側にも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デバイスを接続していて、区別がつかない場合には不要なデバイスをすべて外すなどして識別してください。
- 他の設定もキャプチャ画像に全て合わせてください。
- 電源となるUSB接続、ACアダプターなどの各種電源を取り外して再度接続することを意味します。