2016年6月22日水曜日

Buffalo HD-HGLAN へ Debian Jessie をインストール

メーカ純正ファームウェアのインストールに失敗していたバッファローの NAS 製品 HD-HGLAN へ Debian Jessie をインストールしました。

苦難を乗り越えて Debian Jessie のインストールに成功した HD-HGLAN です。

経緯

入手した HD-HGLAN は、何故かメーカ純正のファームウェアのインストールに失敗していました。原因は Debian Jessie をインストールしたことによって判明したのですが、LAN ポート付近の不良でした。具体的な場所については確定していません。HD-HGLAN に接続しているイーサネット・スイッチの LED ランプは正常に接続していると表示されていましたが、Debian Jessie を起動させると、接続しておらず DHCP による自動設定が出来ない状態でした。しかし LAN ケーブルを手に持っていろんな方向に向けて圧力をかけると LAN へ接続できる状態となるのです。どうも LAN ポート周辺の接触不良または一時的な断線が発生している模様です。これにより、正常な通信が出来なくてメーカ純正のファームウェアのアップデートに失敗していた模様です。
(2016-06-24 追記:LAN ポートの異常がファームウェアの失敗の原因ではないことが二台目の HD-HGLAN で判明しました。)
Buffalo HD-HGLAN にメーカ純正ファームウェアのインストール(失敗)
http://near-unix.blogspot.jp/2016/06/buffalo-hd-hglan_15.html

インストールの第一歩

では実際に Debian jessie をインストールした方法を紹介します。現状では、フラッシュメモリの中の起動ステータス部分(/dev/fl3)へ "NGNG"  が書き込まれており、常にフラッシュメモリの中のシステムが起動されるようになっています。このままでは、ハードディスクへいくら正常なシステムをインストールしたところで、このハードディスク内のシステムを起動させることができませんでした。そこで他の玄箱と同様に u-boot 1.2.0 をインストールすることとしました。

HD-HGLAN のフラッシュメモリ内のシステムは、起動したところでパスワードが不明なため、シリアルコンソールを接続していても一切の操作ができません。もちろんフラッシュメモリの内容を書き換えることもできません。

そこで HD-HGLAN のメーカ純正ファームウェアのアップデート・ソフトウェア(HD-HGLAN FWUpdate.exe)の特性を使って u-boot をインストールしました。

u-boot のインストール

それは、オプションに /force を設定してファームウェアのアップデートを実行させると、フラッシュメモリの中のシステム部分(/dev/fl1)と起動コード(/dev/fl2)を書き換えてくれることでした。

起動コードは、bootcode.bin という 38KB ほどのファイルになっています。これを u-boot 1.2.0 (u-boot-1.2.0-hg.flash.bin)に置き換えてメーカ純正のファームウェアのアップデート・ソフトウェアを /forece オプションを設定して実行させました。
DOS プロンプト上からの起動させます。

copy u-boot-1.2.0-hg.flash.bin  bootcode.bin
"HD-HGLAN FWUpdate.exe"  /force

通常のアップデートと同様にファームウェアのアップデートを更新しましたが、起動コード部分が書き換えられたために、HD-HGLAN からの反応が無くなってしまったようで、ファームウェアのアップデートが失敗してしまいます。

そこで電源を再投入してシリアルコンソールを観察していると u-boot による起動が開始されました。上記の bootcode.bin の置き換えで、起動コード部分をu-boot に書き換えてくれていました。

後は、u-boot のコンソールへログインした後、起動ステータスの部分を "OKOK" と書き換えました。書き換えは u-boot のコマンドを使用しました。
=> run writeok
=> boot

そのままハードディスク内の状況にもよりますが、ハードディスク内の第一パーティション(/dev/hda1)のシステムを起動させようとします。何もシステムをインストールしていなければ起動に失敗するはずです。

u-boot に書き換え成功した HD-HGLAN です。

Debian Jessie のインストール

ここで電源を切り、ハードディスクを取り出します。そしてハードディスクをパソコンへ接続して、パソコンから直接 玄箱用の Debian Jessie をインストールしました。インストール方法は過去の記事に詳細があります。第一パーティションへは、HD-HGLAN のファームウェアではなく、玄箱 HG 用のファームウェアをインストールしました。
玄人志向 玄箱 HG へ大容量ハードディスク向けインストール
http://near-unix.blogspot.jp/2016/03/hg_24.html

Debian Jessie のインストールが終わったハードディスクを HD-HGLAN へ接続して、起動させます。すぐに u-boot のコンソールへログインして、Debian Jessie の起動に必要な設定を行います。以下の記事の u-boot の設定部分を参照してください。
玄人志向 玄箱用 Debian Jessie 通常版(カーネル3.16 版)
http://near-unix.blogspot.jp/2016/01/debian-jessie-316.html

動作確認

再起動させて Debian Jessie が起動するか確認しました。

ここで初めて、上記に記した LAN ポートの不具合を発見しました。起動途中で DHCP による LAN の自動設定がタイムアウトで設定出来ないことを発見しました。その後、ハードディスクの第一パーティションへインストールしていた玄箱 HG 用のファームウェア(1.01)で起動し直してみましたが、同様に DHCP で IP の自動設定が出来ないことを確認しました。LAN ケーブル部分に圧力を加えると DHCP で IP の自動設定が行われることから、LAN ポート周辺の不具合が存在している模様です。

今後、LAN ポート周辺の再ハンダ付けなどを行ってみたいと思っています。

HD-HGLAN に搭載されていた RTL8110S-32 です。
RTL8169 と認識されて r8169 ドライバが使用されます。
HD-HGLAN の LAN ポートとパルストランス周辺の様子です。


 

0 件のコメント:

コメントを投稿