Linux(できればUbuntu)でUSB-to-USBデータ転送システムを作成したい。このため、外部ハードウェアやスイッチは使用しません(このケーブルを除く)。USBドライブをシステムにマウントするようなものになりますが、このシナリオでは、Linuxシステムの1つが他のシステムにマウントされます。どうすれば作成できますか?
カーネルプログラミングの経験が非常に基本的であるため、利用可能なカーネルモジュールはありますか?
Linux(できればUbuntu)でUSB-to-USBデータ転送システムを作成したい。このため、外部ハードウェアやスイッチは使用しません(このケーブルを除く)。USBドライブをシステムにマウントするようなものになりますが、このシナリオでは、Linuxシステムの1つが他のシステムにマウントされます。どうすれば作成できますか?
カーネルプログラミングの経験が非常に基本的であるため、利用可能なカーネルモジュールはありますか?
回答:
はい、これは可能ですが、USB-Aコネクタで2本のUSBケーブルを切断し(通常マザーボードのUSBに接続されるもの)、データケーブルを相互接続することはできません。このような自作ケーブルでUSB電源ラインを接続すると、オンボードUSBハンドリングチップを揚げてしまう可能性があります。自宅でこれを試さないでください!
ほとんどのコンピューターボードでは、USBを処理するチップはホストのみです。それだけでなく、多くの低レベル通信を処理して、処理を高速化し、CPUの負荷を軽減します。まるで非ホストのように振る舞うようにUSBポートのピンを処理するようにコンピューターをプログラムできるというわけではありません。チップレベルで、ホストとして動作することとホストに接続することを切り替えることができるデバイスは、はるかに高価なチップが必要です¹。たとえば、スマートフォン、GPS、電子書籍などのインテリジェントデバイスはすべてLinuxなどを実行しているのにssh
、通常のUSBケーブルで接続すると通信に使用できません。
これらのデバイスは、接続時にダムモードになり、ホスト(私のデスクトップシステム)はそのストレージをUSBディスクとして使用できます。デバイスを切断した後、データを取得するためにホストと同じインターフェイスを使用します(ケーブル接続は必要ありませんが、これは内部で行われます)。Linuxが両方で実行されている場合でも、この種のデバイスでは、システム間、つまりlinuxes間の通信はありません。これは、デスクトップに接続する通常のマイクロまたはミニUSBケーブルとは無関係です。
2台のデスクトップPCの間では、USB-AからUSB-Aへのケーブルが必要になるため、上記の操作は通常不可能です(これは一般的ではありません(接続を駆動する通常のチップでは動作しないため)。
私が見た2つのUSB-Aコネクタを使用してUSBからUSBを実行するソリューションは、その間にいくつかの電子機器があるケーブルに基づいています。(USB→シリアルがSerial→USBケーブルに差し込まれているように見えますが、それがすべて一体となっています)。これらは通常、転送を行うためのドライバーを必要としますが、「通常の」シリアルポートを使用する場合のように、そのようなケーブルを介してUUCPまたは他の何かを使用できる場合があります。これにはおそらく、他のコンピューターにログインするためにinetdと適切な構成が必要です。
¹ この方法でソフトウェアを変更できる唯一のデバイスは、まさにそのような特別なチップを備えたArduinoボードです。このチップだけで、ボード は通常のArduinoボードの2倍の価格になりました。
ssh
通常のUSBケーブルで接続したときに通信に使用することを許可しないでください」誤解されているかもしれませんが、ジェイルブレイクしたiPhoneに入れることができ ますssh
openssh
デバイスにインストールする場合ssh
は(Wi-Fi経由で)、afc2
デバイスに(Apple File Conduit)をインストールする場合はUSB経由でファイルシステムを参照できます(それなしでは、「投獄されます」 "to /var/mobile
)
はい、USB 3.0は3.0ケーブルで全二重データ転送を可能にします。仕様は、USB仕様のセクション5.5.2にあります。これらの仕様へのリンクは、別の回答で以前に提供されています。http://www.gaw.ru/pdf/interface/usb/USB%203%200_english.pdf
ケーブルは見つけやすくなっています。たとえば、$ 8.00未満でAmazonで購入できます。オスAからオスAへのケーブルのデータ転送を必ず購入してください。Linuxの新しいバージョンは転送をサポートしています。
それが誰かの助けになることを願っています-私はかなり長い間自分で答えを探しました。
このようなケーブルフォームファクターで利用可能なUSBブリッジデバイスを使用できます... http://www.usbgear.com/link/(自動再生ビデオ警告)
デバイスの1つがUSB OTGをサポートしている場合、技術的には可能です。USBOTGでは、ポートがマスターまたはスレーブとして機能します。OTGデバイスをスレーブとして設定し、USBハードディスクドライブとして機能させることができます(したがって、マスターに特別なドライバーさえ必要ありません)。
これは、多くの電話と一部のカメラが行うことです。それらをプリンターに接続すると、マスターになります。PCに接続すると、スレーブになります。
私がそれをする方法は、2本のUSBシリアルケーブルとその間のヌル接続を使用することです。その後、xmodem、zmodem、kermitなどを使用してファイルを転送したり、2台のマシン間のネットワークでpppまたはslipを使用したりできます。昔ながらですが動作します。
サッド