MacBookProにUSB3.0を用意する
- 2014/02/24 14:28
- カテゴリー:マニアックなおはなし
先日ACアダプタが壊れたMacBookProですが,もうしばらくうちのメインマシンとして使うにあたり,心許ないのが外部ストレージです。
1つには大容量の光学ドライブ,もう1つは接続インターフェースです。
前者はBlu-rayディスクへの対応ですが,正直なところ,いまさら片面1層で25GB程度の光学ディスクが焼けたところで,手間ばかりかかって大したメリットはありません。
大容量のHDDが安く買える今,すでに光ディスクの役割は終わったなあと,磁気&光メディア大好きの私は寂しい思いをするわけですが,この考えを少し変える出来事がありました。
2002年頃に導入した,HDD/DVDレコーダーで録画した番組を発掘したことです。
あれから10年を経て,DVD-Rにかき込まれたテレビ番組をPCでコピーしH.264に変換していたのですが,それなりに読めるんですね。もっとも読み込みをあきらめたものもありますが,ほとんど大丈夫でした。
HDDにこうした番組を記録しておいたとしても,きっと読み出す事なしに,消えていたでしょう。また,容量が大きなHDDは壊れると被害も大きく,実は正月明けに2TB近いデータが消失し,そのフォローに1ヶ月もかかったことがありましたが,この時に大容量HDDの怖さを思い知ったのです。
25GB程度に小分けされたデータであれば,1枚2枚読めなくなっても大部分は救えます。機械部分が別体になっていて,その気になれば新品を調達出来る光ディスクのシステムは,その点でとても合理的です。
加えてBD-RはDVD-Rと違い,無機材料を使って作ります。有機材料を使うCD-RやDVD-Rは紫外線や温度変化に対しての変質が起きやすく,保存性がいまいちだったわけですが,BD-Rはこの点で期待が持てます。
MacOSXでは正式サポートのないBDですが,次世代光ディスクのアナウンスがなく,民生品としての最終品になるであろうBDを,こなれてきた今導入するのは良い機会と言えるでしょう。
で,BDの導入の話は後日。
もう1つ,接続インターフェースです。
HDDがSATAに移行して久しく,内部接続用途としては決着が着いた高速インターフェースですが,外部用についてはまだまだ規格の乱立が続いています。勝者USB2.0はすでに時代遅れになりましたが,その椅子を狙ういくつかの規格のうち,最近USB3.0が頭一つリードしている感じです。
私も,HDDが1TBを越えたあたりで,インターフェースの見直しを行ったのですが,結論はeSATAでした。当時はこれが最速であったこと,HDDのSATAとほとんど変わらない信頼性を持つこと,そしてMacBookProで用意出来ることが理由でした。
安定性と言えば,express cardで増設を行う以上,非常に不安定です。最初期は数回に一度は必ずフリーズし「カーテン」がするすると降りてきましたし,今でも不安定なときがあります。Macにおいて安定するのはやはりFireWireであり,標準装備でドライバも完備しているという純正の安心感は,何にも代えがたいものがあります。
大事なデータはFireWire800で運用していますが,eSATAの魅力は裸のHDDをそのまま繋いで使えること,なにより高速であることです。しかし,eSATAはあくまでHDDを繋ぐためのものであり,カードリーダや光学ドライブを繋げるのは一般的ではありません。
MacはThundervoltを採用していますが,世の中の流れは明らかにUSB3.0です。USB3.0の対応機器が増えて,非常に安く買えるようになってきました。最新のMacなら対応出来るこれらの機器を,なんとか私のMacで使えるようには出来ないものでしょうか。
ちょっと調べてみると,express cardでUSB3.0を増設する方法があるようです。
以前検討したときには,まだまだ安定せず,高価で,接続機器が限定されたり,ドライバが専用だったりと,手を出すには早いという感じがありました。
ところが今は状況がかなり変わって来ています。そこで,express cardという難易度の高い仕組みを使って,新機能の追加をしてみることにしました。
思い起こせば,PowerMac7600にUSB2.0をつけたり,ATAを増設したりと,随分延命をしたことが懐かしいです。あのころはPCIを使って,安いPC用のカードを使って楽しんでいたのですが,やっていることは全く同じですね。
さて,MacBookProのexpress cardでUSB3.0を使うにはドライバが付属したものを買うか,PC用の安いものを買ってドライバを別途用意するかの2つに別れます。前者は確実ですが高価ですし,ドライバの更新がそのメーカー任せになるので,陳腐化する心配があります。
後者は言うまでもなく非対応機器ですから,駄目で元々です。しかもドライバの導入はかなり危険で試行錯誤が不可欠,うまく動いているように見えて実は駄目でしたという事を見抜く目も必要なので,技術と時間がないと出来ません。
その代わり安いし,最新デバイスを使えるし,ドライバもうまく選ぶと常に更新されたものを使えたりしますので,こちらの方が知的好奇心を満足できることは間違いありません。
私はもちろん,PC用のカードを使います。ざっと状況を調べます。
まず,ドライバは3つの方法で用意することが出来そうです。1つは他社製のカードのドライバをそのまま使う,あるいはApple純正のドライバにパッチをあてる,最後の1つは有志で作られた汎用のドライバを使うことです。
そして,カードそのものについては,チップが実質ルネサスのuPD720200シリーズに限られていることから,あまり気にしなくても良さそうです。
動作実績や価格,出っ張りがないことや入手性から,いつもの玄人志向から選びます。PITAT-USB3.0R/EC34という製品で,チップは最新のuPD720202です。価格は2000円ほど。amazonで買える便利さがいいですね。
土曜日に届きましたので,早速検討開始です。
まず,他社製のドライバをそのまま入れて見ます。LaCieのドライバを入れて見ますが,これで動いたという報告とは裏腹に,全然動かず。まあ当たり前ですね。
次にApple純正のドライバにパッチを当ててみます。IOUSBFamily.kextの中にあるAppleUSBXHCI.kextを,パッチを当てたものと入れ替えます。パッチはカードのIDを変更するのが目的です。
この方法だと,express cardを認識し,ドライバがロードされていることが確認出来ました。システムプロファイラでも,USBにSuperSpeedと表示されているので,動いたと喜んでいたのです。
ところが,実際にカードリーダを繋いで見ても,全然動いてくれません。接続時に点灯するLEDも消えたままですし,システムプロファイラでも接続されていないことになっています。
これは,カードが壊れているか,ドライバがおかしいか,どっちかです。壊れているならお手上げですから,とりあえずドライバを入れ替えることにします。3つ目の作戦,有志が作った汎用のドライバです。
結論から言うと,これで動きました。
導入は実に簡単で,有名なMultiBeastを使います。
まず,tonymacx86のサイトにユーザー登録。次にMultiBeast-Mravericks6.1をダウンロードし,起動します。ここからUSB3.0用のGenericなドライバをビルド&インストールし,再起動です。
再起動後,USB3.0カードを差し込んでシステムプロファイラを見れば,ドライバもロードされ,USBもSuperSpeedで認識しています。
ここにカードリーダを差し込むと,ちゃんと動作します。ぱっと見たところUSB3.0として動いていそうです。
しかし,電力不足はいかんともしがたく,USB3.0対応のポータブルBDドライブはスピンアップでこけます。セルフパワーにすると動くようになるので,注意しないといけません。
気をよくした私は,最も需要の高いD800用のコンパクトフラッシュの読み込みを,従来のexpress card経由からUSB3.0に移行させようと考えました。USB3.0でCFおよびSDに対応し,CFはUDMAに対応していることが条件で,ざっと探してバッファローのBSCR17TU3が2400円ほどで買いました。
早速,お約束のベンチマークです。USB3.0でちゃんと動いているのか,express card経由の方が有利なのか,そのあたりが気になるところです。
まず,express card経由での速度を取り直します。環境も変わっていますからね。使うCFは前回と同じで,D800に使っているWINTECというアメリカの会社の製品で,3FMCF64GBP-Rというものです。容量は64GB,リードは90MB/s,ライトは45MB/sとうたっています。
Sequential
Uncached Write11.00 MB/sec [4K blocks]
Uncached Write9.20 MB/sec [256K blocks]
Uncached Read15.64 MB/sec [4K blocks]
Uncached Read78.87 MB/sec [256K blocks]
Random
Uncached Write0.88 MB/sec [4K blocks]
Uncached Write8.72 MB/sec [256K blocks]
Uncached Read7.40 MB/sec [4K blocks]
Uncached Read74.16 MB/sec [256K blocks]
以前取ったときよりも全体に速度が落ちていますが,それでも256kのリードが80MB/sec近く出ています。シーケンシャルでもランダムでも余り差がないのは,ブリッジチップに起因するんじゃないでしょうか。
次に,USB3.0です。これは2回測定しました。
Sequential
Uncached Write31.51 MB/sec [4K blocks]
Uncached Write30.81 MB/sec [256K blocks]
Uncached Read6.28 MB/sec [4K blocks]
Uncached Read92.46 MB/sec [256K blocks]
Random
Uncached Write0.80 MB/sec [4K blocks]
Uncached Write17.27 MB/sec [256K blocks]
Uncached Read4.90 MB/sec [4K blocks]
Uncached Read54.03 MB/sec [256K blocks]
Sequential
Uncached Write27.24 MB/sec [4K blocks]
Uncached Write23.66 MB/sec [256K blocks]
Uncached Read6.25 MB/sec [4K blocks]
Uncached Read92.36 MB/sec [256K blocks]
Random
Uncached Write0.81 MB/sec [4K blocks]
Uncached Write17.41 MB/sec [256K blocks]
Uncached Read4.88 MB/sec [4K blocks]
Uncached Read53.95 MB/sec [256K blocks]
まず,256kのシーケンシャルリードが90MB/sec越えですので,USB3.0で動いていることは間違いないと思います。読み取ったデータも問題なく扱えていますので,正しく動作しているとみて良いでしょう。
express card経由との比較は傾向がつかめず,ちょっと難しい所です。シーケンシャルリードは高速ですが,ランダムリードは25%近くも遅いです。そうかとおもうとシーケンシャルのライトが3倍も速かったりと,よくわかりません。
確かによくわかりませんが,このくらいの読み書き速度が出ているなら,わざわざexpress card経由で読み書きする必要はありません。安心ですし,CFとSDが同じカードリーダで扱えるようになるメリットは大きいです。
ついでに,SDカードも測定してみました。GRに使っている,トランセンドの32GB,SDHCのclass10,UHS-Iに対応するものです。
Sequential
Uncached Write21.67 MB/sec [4K blocks]
Uncached Write26.36 MB/sec [256K blocks]
Uncached Read4.78 MB/sec [4K blocks]
Uncached Read41.85 MB/sec [256K blocks]
Random
Uncached Write0.77 MB/sec [4K blocks]
Uncached Write3.54 MB/sec [256K blocks]
Uncached Read3.74 MB/sec [4K blocks]
Uncached Read35.84 MB/sec [256K blocks]
CFと比べてみますと,リードは遅い一方で,ライトはそんなに悪くありません。これはNANDフラッシュの速度がボトルネックになっているからでしょうね。
後で分かったことですが,これまでよく使われていたuPD720200という初期のチップに比べて,今回私が買ったカードに使われているuPD720202という新しいチップは,USBでの転送速度が30%ほど向上し,消費電力も下がっているんだそうです。
シーケンシャルのリードが90MB/secを越えているというのは出来すぎですが,もしかするとこのチップの性格を示しているのかもしれないです。
いずれにせよ,USB3.0が私のMacBookProで動くようになりました。普及速度があがり,安い対応機器が入手しやすい形で提供されていることを横目で見ながらの生活はこれで終わりです。
PCが陳腐化する3大理由は,メモリ不足,インターフェースの陳腐化,最新OSの対象機種から外れる,だと思うのですが,インターフェースの陳腐化についてはUSB3.0が動くようになったことで,もう心配はなくなりました。
BD-Rの書き込みが出来るのか,外付けHDDがちゃんと動くのかなど,いろいろ試さねばなりませんが,少なくとも懸案だったSDカードの高速化とCFカードとの統一環境構築が達成出来たことは,大きな収穫だったと思います。