会社で某IKさんから

Seagateの認識しなくなっちゃったHDDがあるんですけど
http://www15.atwiki.jp/seagatebak/
この辺見ながらいじってみる気はないですか!

という旨のメッセンジャーが飛んできました。

そういやなんかちょっと前にSeagateのHDDが突然認識しなくなるとかいうニュース見たなあと思いながらも読んでみると…
なにやらメンテ用のシリアルポートからコマンド送り込んで復活させることができるらしいじゃないですか。マニアック。
しかもシリアルポートの詳しい仕様が不明らしい。なんかおもしろそー。

というわけで。

T6のトルクスドライバーをコーナンで買って。

HDDを

IMG_0745ばばーん

ST3500320AS 9BX154-501 SD15 09025 KRATSG Barracuda 7200.11 500 Gbytesどばーん

かりてきました。
型番はST3500320AS、シールにはファームウエア SD15 と書いてますね。よくわかんないですが。

とりあえずUSB-SATA変換ケーブルでつないでみましたが…
まあ当然のごとく認識せず。
コンピュータの管理→ディスクの管理 を見てもドライブ自体がないです。
接続順で見ると USBルートハブ→USB大容量記憶装置→ディスクドライブ みたいになるのが普通ですが、ディスクドライブだけ無いです。

というわけで。

レベル変換基板を作りますよ。

ここが何と言っても問題ですよね…。
RS-232Cは±10V程度、対してHDDのシリアルポートは不明というかTTLレベルか+3.3VのCMOSレベルかみたいな話らしいのです。
さらにRS-232Cはマーク(1)が負電圧、スペース(0)が正電圧ですが、今回のHDDとかPICはマークが+Vccでスペースが0Vです。
なのでそのへんもなんとかしないと…

と思って調べたら意外とすぐにみつかったのがChaNさんのページの解説だったりします。この人神だな。

要するになんというかほとんどのPC(というかUART)では負電圧作らないで0Vでも行けるらしいです。
さらには電源不要のDoCoMo用シリアルケーブルの分解記事とか、先のWikiのいろんな記事とかを見て、こんな回路でいけるんじゃないかなーというものが見えてきた。

seagate

HDD側のRX(回路図ではJP1の1番ピン)はプルアップされているのでオープンコレクタやらオープンドレインにしておけば電源電圧が何であれ動きそう、という話なのでそうしました。HDDの基板を目で見た感じでも確かにそんなよーな感じ。
HDD側のTXはたぶん0V/2.5Vだろうという話なので、トランジスタで+12VをGNDに落としたりPC側に流したりするようにしました。
どちらのトランジスタもベース電流は5mA程度になるように抵抗値を決めました。
PC側RXのプルアップ抵抗は2SC1815のコレクタ電流が120mAくらいになるようにしましたが、こんなに流さなくても全然いいはずです。

で。

ジャンク箱を漁ってみたんですが、DSUB9ピンコネクタ、2SC1815はあったんですが、そんな半端な抵抗値の抵抗がない。
仕方ないのですべて1KΩを使いました(ぉ
あとは回路図どおりに組みあげて…

できた!

IMG_0748みょーん

HDD用電源延長コネクタの途中から+12Vを拝借しています。
わりとギチギチに作ったんで、基板はDSUB9ピンコネクタの後ろにちょっと乗る程度になりましたよっと。
さて、一応配線間違いがないか確認して…

…。

DSUBの5番ピンをGNDに落とすのと、3番ピンを接続するのを忘れてたり、DSUBの2番ピンと3番ピンを逆に配線してたりしたので直しました。情けないw

というわけで、できたっぽいので…

IMG_0749

つないだよ!
で、電源ON!

term1

なんか表示キタ━━━( ´∀`)・ω・) ゚Д゚)・∀・) ̄ー ̄)´_ゝ`)━━━!!!!

で、ここからCTRL+Zを押すとプロンプトが出るらしい。

ので押しましたが。

はんのうがないです。(汗)

もうね、いろいろやりましたよ。うちオシロスコープないんで、クリスタルイヤホンで聞きながらキー押してコマンド送信されてるか確かめたり、VRを入れて電圧変えられるようにしてみたり…

そんなこんなで1時間か2時間色々やりまくったけど、
どうしようもなくなってしまったので、なんか別のところから線を引っ張り出してみたりしたらどうかなあと苦し紛れな事を考え付きまして。

IMG_0751

基板をHDDからはずして、パターン辿ってみたら端っこのランドと繋がってたので、そこにビニール線をくっつけてみました。
んで、基板を戻すのはめんどいので基板だけで電源入れて状況を確認…

term2

( ゚д゚ )<・・・

キタ━━━━(゚∀゚)━━━━!!!!

CTRL+Z入ったよ?何これ?ねえ?
もしかして接触不良?
とか思って色々調べましたが、どうやら

死んでいるHDDの場合は基板単体で電源入れないとCTRL+Zを受け付けない

みたいです(汗)
半田付けしたビニール線からでも、基板をメカ部に固定してやるとコマンドが通りませんでしたよ。

となれば、あとはマニュアル通りです…。

途中で電源を入れたまま基板を付けることになってるんですが、接点ブロックが2か所あるんで、要はそこが接触しなければいいはずです。
押してみた感触では、ネジを限界までゆるめておけば基板と端子が接触しないようにできそうです。
基板を取り付ける時になったらネジを締めるだけ。

というわけで…

term3

コマンド入れて基板のネジ締めてコマンド入れた。

term4

電源入れ直してコマンド入れて実行終わった。

いや普通に進みすぎてあっけない。

というわけで修復が終わったので電源落としてPCにつないでみたところ、

認識されました!(´Д⊂グスン

prop

ちゃんと中身も読めましたとさ。

HDDは明日IKさんに返そう。

まとめwiki作ってくれたり情報集めてくれてる方に感謝を!