• ベストアンサー

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

  • USBホスト機能が使えません(SHL24)

    SHL24にはUSBホスト機能があると取説など記載されてますが、USBメモリ等を繋いでも認識されません。 端末の「設定」-「ストレージ」を見ても、USBストレージ等の表示もありません。 本体は、Android 4.2 オールリセットした状態です。 接続機器は、エレコム MRS-MB06 スマートフォン向けUSBカードリーダ 別のスマホ(ソニー SOL21 Andorid4.1)では使えてるので、機器側に問題はないと思います。 汎用のUSBホストケーブルでマウスやUSBメモリを繋いでみましたが、認識されませんでした。 SHL24は中古で入手たもので、前オーナーが何かしてた可能性もありますが、その他の機能は問題なく使えてます。 何か考えられる原因、ヒントでも頂ければと思います。よろしくお願いします。 ※OKWaveより補足:「シャープのスマートフォン・携帯電話」についての質問です。

  • USBメモリをlinuxOS兼ストレージ使用は可能

    USBメモリからLinux(Ubuntu12.04)を起動できるようにしたんですが、 パーティションを分けてLinuxで使用していない領域をwindowsその他OSでストレージとして使うことは可能でしょうか? またストレージ(メモリ)+無線LANのUSBアダプタという商品は存在するのでしょうか? よろしくお願いします

  • USBホスト機能を備えたケーブルってありますか

    USBホスト機能を持ったUSB接続ケーブルって、どこかで売ってないでしょうか。 例えば、ホスト機能のないスマートフォンとUSB機器を接続して、外部入力を可能にするとか、そういった事に使いたいと思ってます。 自分で探した範囲では、見つかりませんでした。 その辺の事情にあまり詳しくないのですが、事実上不可能な話なのでしょうか。 それともニーズが少ないから必要無いという話なのでしょうか。 どうぞ、よろしくお願いします。

  • LAN設定をまちがったのですが

    すみません。。教えてください。 ネットワークの設定でホストpcとクライアントpcの 設定を逆にしてしまいました。取り消すにはどうすればいいのでしょうか?機器を接続しているほうがホストpcですよね。接続していないpcをホストにしてしまい接続している方をクライアントにしてしまったようです。共有したいpcのドライブを共有設定にしたらどちらのpcにもクライアントpcのドライブが 出現しています。頭が混乱してきました。とにかく ネットワークの設定をはじめからやりたいので取り消したいのですがどうすればいいのでしょうか?設定を まちがったようです

  • USBメモリを認識しない

    LenovoA820のスマホなのですが、USBメモリを認識しません。 ネットで調べたのですが、android4.1.2なので、USBホスト機能があるはずなのですが、 アプリでstickmountを入れてもNoneと表示がでます。一応、root権限を取得しているのですが、どうすればいいのでしょうか。なお、本体の内部ストレージは、sdとusbとなっています。 これが、おかしいのでしょうか。USBメモリが読み書きできるように、お教えください。よろしくお願いします。

  • LAN内専用のサーバに設定するホスト名

    LinuxをインストールしてLAN内専用のサーバを立てようと思うのですが Linuxをインストールする際に設定するホスト名は 公開しない場合はFQDNではなく任意のホスト名だけを設定するものなのでしょうか? 一般的にwindowsなどのクライアントに設定するホスト名のような感じでホスト名だけ。 そしてLAN内からアクセスするときは http://サーバのプライベートIP ftp://サーバのプライベートIP という形でアクセスさせるのが多いのでしょうか? それともLAN内に内向けDNSを立てるか、クライアントのhostファイルにホスト名=プライベートIPアドレスとさせて http://ホスト名 ftp://ホスト名 でアクセスさせる形が多いのでしょうか?

  • LinuxをUSBメモリから起動したいのですが…

    Ubuntu系のLinuxをUSBメモリから起動したいです。 手持ちのBIOSを使ったPCでは問題なくUSBメモリから起動はできます。 しかし、出張先のEFIを使ったPCではそのUSBメモリで起動できません。 調べたところ、EFIを使ったPCではGUID Partition Table (GPT)でなければ起動できないようです。 手持ちのPCはBIOSを利用したのしかありません。 この環境で、BIOS・EFI両方で起動できる、Linuxが入ったUSBメモリの作り方が知りたいです。 よろしくお願いいたします。

  • ホスト(PC)に複数のUSBデバイスが接続されていた場合に、USBデバ

    ホスト(PC)に複数のUSBデバイスが接続されていた場合に、USBデバイスごとに アドレスが設定されると思います。 たとえば、3台のUSBデバイスが順番に接続された場合、接続されたUSBデバイスの 順番にアドレスが設定されると考えてよいのでしょうか? (例) USB機器A→USB機器B→USB機器Cの順にPCの3つのUSBポートに接続した場合     USB機器Aにアドレス01、USB機器Bにアドレス02、USB機器Cにアドレス03のように     アドレスが設定される。 また、上記の例の接続状態でUSB機器Bの接続を一度解除して再度接続をした場合 設定されるアドレスはどうなるのでしょうか?

  • USBからノートPCへのインストール方法を教えてください

    Linuxのubuntuを手持ちのノートPCにインストールしようとしたところ、CDドライブが付属していないタイプのPCなのでCDが使えません。 なのでUSBからのインストール方法をアドバイスしていただけないでしょうか? 一応、ubuntuのisoファイルをDLしてUSBメモリに入れてあります。

  • USBドライバについて

    あるUSB機器をWindows XP ProfessionalのPCで使用しています。 PCにはUSBポートが2つあり、一方のUSBに挿してドライバを インストールをし、正常に使用できているのですが、 もう一方のUSBポートに挿すと、再度ドライバのインストールを 要求されます。 これはUSBの仕様なのでしょうか? 仕様だとすればなんと言う仕様(規格)なのでしょうか? USBメモリではこのようなことはないのですが。 よろしくお願い致します。