• ベストアンサー

USBホストとUSBドライバの設定

Linuxでubuntuを使っています。 PC本体はUSBホストで外部メモリなどのUSB機器をクライアントとした設定はWEBなどでも通常取り扱われている通り問題はありませんが、Linux本体をクライアントとして接続する方法がわかりません。 具体的には、  [設定したいLinux PC:USBクライアント] -- [USBホスト:他のLinux] として、設定したいLinuxを外部ストレージのように扱いたいと思っています。 参考になるURLでもかまいません。このような設定をするにはどうしたらいいのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nonta0828
  • ベストアンサー率100% (1/1)
回答No.2

残念ですが、おそらく難しいでしょう。 まず用語の問題から。 USBクライアントとはいいません、USB-ターゲットといいます。 クライアント<->サーバーの呼び方はこの場合使用しません。 USBターゲットを使用する場合、コントローラーがターゲットモードに対応している必要が有ります。一般的なPCで使用しているものはターゲットモードには対応していないのがほとんどです。 一般のPCでない場合でカーネルがターゲットモードをサポートしているチップが搭載されている場合は使用可能になるかもしれません。 この場合、マスストレージクラスのDriverが必要になると思いますが、さすがにこの辺は組み込み関連の知識が必要で私にもわかりかねます。 では、上記の場合はどうしたほうが良いか? 擬似的な通信ケーブルでごまかす方法が昔はあったようです。 SUNTECのUSB通信ケーブルでホスト同士をつないで通信できるようにして、SSHなどでデータのやり取りを行なっていたようですが、今のカーネルではサポートしているかどうか? その前にケーブルが打っているかどうかも疑問です。 私の個人的オススメはUSBストレージキットにターゲットのHDDを乗せ変えて設定をし終わった後に元に戻すのが簡単そうです。 グリーンハウスのこのタイプを私は使用しています。 http://www.green-house.co.jp/products/storage/index.html#esata ターゲットの分解を最小限度に抑えて設定を変えています。 どうしてもUSBターゲットにしたいならそれなりのコントローラを増設してDriverを自力でポーティングもしくは作成する覚悟を決めたほうがよろしいでしょう。 組み込み関係の情報はあまり多くないし、外海サイトが引っかかりますが、なかなか理解できないのも現状です。がんばってくださいね。

その他の回答 (1)

  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.1

コンピューター機器の常識ですが、残念ながら ハードウェアで実現されている機能の多くが ソフトウェアだけでは、実用的な速度で動作しません。 PC-9821末期にSCSI H/Aを介して、PC-9821を SCSI機器に見せかけるソフトを書いた人がいましたが 技術的におもしろいものの、実用性のあるものではありませんでした。 理屈としては、USB規格のMSDに準拠した "MSDエミュレーター"を書けばいいわけですが それが存在しているか?わかりませんし、あえて調べません。 通常のPCでは需要がほとんど無いので、あるいは組み込みLinux向けに ソフトウェアだけで実現できるMSDエミュレーターがあるかもしれませんが… 普通は、組み込み機器向けUSBコントローラー自体が それを実現している可能性が高いと思います。 組み込み機器でUSB MSD機能を持たせている例のほとんどすべてが 高速にMSD機能が働くことを期待されるでしょうから… それがソフトウェアだけで実現されている可能性は低いと思います。 組み込み機器のCPUでは、PC以上に高速性を欠くことになります。 条件にもよりますが、USBを利用するよりも LANとsshを使ったスクリプトで 自動的にnfsやsmbでのマウントを行なうほうが 速度面で有利なのは間違いありません。 Linuxではsmbの速度が芳しくないこともありますが GbEのnfsでなら、まだ実測でUSBメモリーには負けないと思います。 うちだと、実測で1GBのファイルをサーバーからローカルにコピーして それをサーバーに別名でコピーするのに、1分はかかりません。 ただ、smbもそうですが、特にnfsでは 常時サービスを起動させておくと、セキュリティリスクは高くなるので ssh等で必要時に起動するほうがいいと思います。 USB接続にこだわるとしたら(ちょっとだけググってみると) USB MSD機能とUSBホスト機能の両方を持つコントローラーがあるようなので そういったものを搭載したPCやUSBカードがあれば それの…PC向けなりオープンソースなりのドライバーを探し… 理屈としてはなんとかなるかもしれません。が… そのドライバーが取り込んだ書き込みアクセスを、OSがどう扱い 整合をとりつつ安定動作できるのか?すごく難しい気がします。 まぁ、組み込み機器では、普通同時に両方の機能が動きませんし… 手持ちのPCや、各種USBカードのコントローラーをリストアップし それらの広報資料やデータシートとかにあたる必要があると思います。

関連するQ&A