10月
20
2009

自力サルベージ その1

先日MacBookのHDDがクラッシュしました
なんか動き遅いなぁと思ったら死んでました ><

本来ならばスグ取り外して業者送りにするのがいいんでしょうが,恐ろしい金額の請求書が届くこと間違いなしなので,自力サルベージを決行

ディスクはMac OSからは見えないので,とりあえずハズしてPCに接続
アダプタ経由のUSBではなく,ちゃんとデスクトップのSATAに接続します

BIOSから見えたり見えなかったりで,あまりよくない状態です

まずは,Linuxで試してみることに
ディスクが読めないせいか起動にエライ時間がかかります
dmsgで見る限りディスクの型番は認識できてます
でも,デバイスファイルは生成されず

お次は,FreeBSD
インストールするのが面倒ならFreeSBIEを使いましょう

もちろんBIOSから認識しているからといって,OSが認識できるとは限りません
でも,不安定なディスクだと何度か繰り返してるうちに認識できる時があります
とはいえ,何回もOSを再起動するのは面倒
というかディスクエラーのせいで起動にエライ時間がかかるので大変です

FreeBSDには “atacontrol detach/attach” というコマンドでバス単位で接続・切断を行える神コマンドが存在します

自分の場合はFreeBSDだと,カーネルから無事認識されてデバイスファイルが生成されました

ただ,DMA関連のエラーが出まくるのでPIOに切り替えようと

# atacontrol mode ad4 BIOSPIO

を実行したんですが,SATA300から変わらない・・・

PATA互換モードで動かしてるんやけどなぁ???

ということで,SATA→PATAアダプタを購入
その名も「スゴイアダプタ SATA-TR150BMS」

こいつをカマしてやるとPIO4で認識される
でも,なぜかPIO0にはできない・・・

続く

Written by h2 in: PC | タグ:

7件のコメント »

  • PiN

    このエントリに関係ないんですが…
    以前のエントリで、iPhoneとUARTの接続に関して書かれていたと思うのですが、
    “iPhone/iPod Touch Serial Port Tutorial” でのサンプルは普通にコンパイルする事ができたのですが、ここからのはうまくいかなくて…
    Unix系プログラムは始めたばかりで、まだまだわかんないことしかないんですけど、
    解説みたいなのもらえたらうれしいです。

    私は、iPhoneとRFIDリーダーをDockで繋げて、アプリというかプロトタイプ制作をやっています。

    コメント | 2009 年 10 月 21 日
  • h2

    UARTというと http://hasumi.info/~h2/2008/11/12/iphoneipod-touch-serial-communication-how-to/ ですかね?
    冗長だったりObsoleteな箇所を変更している or 使用後元の設定を復旧するように変更しているだけで,ほとんど“iPhone/iPod Touch Serial Port Tutorial” と同じコードだと記憶しています
    エラーの詳細を教えて頂けないでしょうか?

    コメント | 2009 年 10 月 21 日
  • PiN

    それです。
    あ!コンパイルはうまくいきました。

    でも実機の方で動かしてみると、
    UIKitApplication:com.yourcompany.serialTest3[0xbafa][615] : open: Permission denied

    と、最初のopenの時点でpermissionがダメっていってきます。
    他エントリでGPSモジュールとの通信してGUIアプリを動かされていたので、
    その辺知識をお借りできたらなと思います。

    開発自体はopenframeworksというC++のライブラリで行っていて、シリアル通信はCのファイルに記述して関数・変数共有しながら、C++の方でGUIを記述するというものを
    やっています。

    コメント | 2009 年 10 月 21 日
  • h2

    ちょっと電波の届かない場所に行ってましたm(_ _)m
    openが失敗していることをみると,デバイスファイルへのアクセス権限を疑ってみてはどうですか?
    UARTを使っていたころと環境が変わってしまっているのですが,自分のiPod touchではパーミッションは644のroot, wheelでした

    コメント | 2009 年 10 月 24 日
  • PiN

    返事が遅れてしまい申し訳ないです。
    権限の設定をいろいろ変えて見たのですが、GUIアプリの自体が持ってるアクセス権限(?)か、
    よくわからず、シンプルにアクセスする事はできませでした。
    しかし、このCのファイルをiPhone上のvar/root/のフォルダに入れて、バックグラウンドで
    実行させ、GUIアプリの方からその値を読みにいくという、なんともめんどうなやり方で
    解決しました(笑
    こっちは、iPhone3GのOS3.0を無理矢理2.2.1まで下げたものなので、
    やっぱりソフトウェアの作りが結構変わっているのかもしれませんね。

    コメント | 2009 年 10 月 26 日
  • h2

    最近のiPhone OSではアプリがアクセスできるファイルに制限があるという話を聞いたことがあります
    自分は自作アプリをstashに入れて起動することがほとんどですが,アプリの場所によって扱いが変わるんでしょうかねぇ
    バックグランドだとメモリが足らなくなった時にプロセスをkillされたりしないか気になるところですが,ともあれうまくいったようで何よりです

    コメント | 2009 年 10 月 27 日
  • PiN

    stashですか、一度試してみます。

    いろいろ相談にのって頂きありがとうございました。

    コメント | 2009 年 10 月 27 日

RSS feed for comments on this post. TrackBack URL

コメントをどうぞ

TheBuckmaker WordPress Themes Webhosting, MP3, AAC & Co