イーサネット接続型のHDDであるバッファローLS-300GLの再生記録です。というか、再生以上の成果を手に入れた感じです。これまでは単なるイマイチなイーサHDDでしかありませんでしたが、今はtelnet可能なLinuxサーバに化けました。しかも、特殊な改造などは行っていません。別マシンにHDDをつないで……といった作業も無しです。
以下、順を追って経緯を書きます。
日付不詳・雷雨の日 §
激しい雷雨の日に一瞬だけ停電が発生。稼働していたLS-300GLはそのままダウン。時間がないので、ダメージ等のチェックは行わず。オフ状態で放置。
3日前 §
使う必要が発生したので、電源を入れて稼働開始。しかし、有線LAN経由のWin2KマシンとXPマシンよりアクセスすると、時々ネットワーク接続が切れるという問題が発生。無線LAN経由のVistaマシンからは発生せず。
この時点で、問題の原因の切り分けはできておらず、主に有線LANを疑っていて、イーサHDDは疑わず。
2日前 §
非常に長い時間と多くの手間を費やして問題の切り分けが完了。問題はLS-300GLに絞られました。調べてみると、ファームウェアのバージョンが現行の1.02から比較にならないぐらい高い1.15に上がっていることが判明。ファームを上げれば改善があり得るかと軽い気持ちでファームのアップデートを開始。しかし、エラーで中断。起動してもEMモードにしかならない状態に。
ここで、完全にハードウェアの問題と判断。(この判断は結果として誤っていた。ファームがアップデートできない理由は後述。しかし当初認識された通信が切れる問題は、ハードの問題である可能性が高いと思われる)
問題はネットワーク通信関係であり、HDDは問題ない可能性が高いと判断。
修理する方針を決断 §
HDD内部のデータは残っていると考え、これをサルベージするために修理を決断。しかし、調べてみるとメーカー修理はHDDが初期化される模様。これでは意味がありません。
ここで、この製品を放棄するという選択肢と、自分で修理するという選択肢が浮上。重要なファイルはバックアップしてあるし、夏前には熱さでやられる可能性を考えてフルバックアップも取ってあります。放棄してても致命傷にはなりません。しかし、あえて自分で修理という選択肢を選びました。
同一モデルを入手してHDD交換を考え、探したところ。新品の入手は無理そう。ヤフオクで更に探すと、同一モデルの「中身無し」が売りに出ているのを発見。即刻、希望落札価格で入札して落としました。
1日前 §
早めの時間に「中身無し」の代金を振り込み、すぐに発送の連絡を受けました。
今日 §
本日、「中身無し」が到着。
同一モデルであるはずが、実は背面のパネルの配置が違っていて、中身の構造も全く違うことが発覚。
ちなみに、「中身無し」はHDDが抜かれる前は500GBモデルだったようです。
ともかくHDDを抜き出して、「中身無し」に組み込みました。
そして無事起動。
ところが、ファームのアップデートは同じエラーで通らず。症状は同じ。かといって、そのままではEMモードでしか立ち上がらないので使い物にならず。
ここで、一度は断念しかけました。
救世主登場 §
エラーメッセージを検索して救世主を発見。
acp_commander.jarというツールを使うと解決できるようです。
なんでも、/bootがいっぱいなので掃除する必要があるとかないとか。ローカルのPCから以下のコマンドを叩いてリモートで処理します。(当然、要JRE)
java -jar acp_commander.jar -t <linkstation-ip> -cb
仕方がないので、強引にOpenOfficeを突っ込みたがるイヤなインストーラのJREを入れました。もちろん、OpenOfficeは丁重にお断りしました。
救世主実行! §
以下の記録で、IP等は?に変えて伏せてあります。
C:\Users\autumn\Documents\delme>java -jar acp_commander.jar -t ?.?.?.? -cb
ACP_commander out of the nas-central.org (linkstationwiki.net) project.
Used to send ACP-commands to Buffalo linkstation(R) LS-PRO.
WARNING: This is experimental software that might brick your linkstation!
Using random connID value = A823130F23AB
Using target: ?.?.?.?/?.?.?.?
Starting authentication procedure...
Sending Discover packet...
Found: LS-GL-EMEBE (/?.?.?.?) LS-GL(IESADA) (ID=0009) mac: 00:
16:01:BC:7E:BE Firmware= 9.00 Key=7004AD0A
Trying to authenticate EnOneCmd... ACP_STATE_OK
Sending clear /boot command sequence... OK (ACP_STATE_OK)
Output of df for verification... Filesystem 1k-blocks Used
Available Use% Mounted on
/dev/root.old 13303 11864 1439 89% /
/dev/ram1 15360 420 14940 3% /mnt/ram
/dev/ls_disk1_1 194443 10956 173448 6% /boot
そして、ファームのアップデートをやり直し。
驚くべきかな、進行速度も大幅アップ。そして成功。
完全に機能は復旧。ファイルも全て見えました。
まだ終わらんよ §
ここで終わっても良いのですが、いろいろ調べているうちに、これにはLinux+telnet等が入っていることが分かりました。なので、これも有効にしたいと思いました。もしかして、acp_commander.jarを使えばできるのではないかと思いましたが、やはりできました。
java -jar acp_commander.jar -t <linkstation-ip> -o
再び救世主実行! §
C:\Users\autumn\Documents\delme>java -jar acp_commander.jar -t ?.?.?.? -o
ACP_commander out of the nas-central.org (linkstationwiki.net) project.
Used to send ACP-commands to Buffalo linkstation(R) LS-PRO.
WARNING: This is experimental software that might brick your linkstation!
Using random connID value = 2FD302521C09
Using target: ?????/?.?.?.?
Starting authentication procedure...
Sending Discover packet...
Found: ????? (/?.?.?.?) LS-GL(IESADA) (ID=0009) mac: 00:16:01:BC
:7E:BE Firmware= 1.150 Key=570DD39E
Trying to authenticate EnOneCmd... ACP_STATE_OK
start telnetd... OK (ACP_STATE_OK)
Reset root pwd... Password changed.
You can now telnet to your box as user 'root' providing no / an empty password.
C:\Users\autumn\Documents\delme>
telnetしてみる §
Tera Termでつないでみました。
BUFFALO INC. LinkStation series LS-GL(IESADA)
KHOME1 login: root
root@KHOME1:~# pwd
/root
root@KHOME1:~# ls -la
drwx------ 3 root root 19 May 20 10:03 .
drwxr-xr-x 18 root root 4096 Jul 25 07:00 ..
drwx------ 2 root root 28 May 20 10:03 .files
root@KHOME1:~#
いやもうバッチリですわ。
感想 §
災い転じて福となす。行けてないイーサHDDが小型万能サーバに化けてしまいました。
ちなみに、外部から見えるIPには置いてないから攻撃はしないように。外部向けのサービスは一切やってないので、特定ポートだけで転送とかもありません。念のため。
あと、rootのパスワードも設定済みです。念のため。