Dateien über USB bereitstellen

12

Ich möchte einen Teil des Dateisystems meiner Box über USB an einen anderen Computer senden können. Wenn sich die Dateien beispielsweise in Box A befinden und ich aus Box B lese, würde B A bereitstellen, diese Dateien anzeigen und sie als Dateisystemgerät bereitstellen (dh wie ein USB-Stick).

Idealerweise würde die Lösung für jede Linux-Distribution funktionieren, aber ich werde dies höchstwahrscheinlich auf Debian-Varianten ausführen.

Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. Prost.

Sam Bisbee
quelle
4
Sie können nicht einfach zwei Computer mit einem USB-Kabel verbinden - das elektrische USB-Protokoll ist nicht symmetrisch und erfordert einen Computer an einem Ende und ein Peripheriegerät am anderen Ende (deshalb sind die Stecker nicht gleich). Haben Sie bereits ein bestimmtes Hardware-Gadget, das Sie verwenden möchten? Andernfalls wäre Ethernet (oder Firewire) besser geeignet, um ein Netzwerk zwischen den beiden Computern zu erstellen.
Gilles 'SO - hör auf böse zu sein'
2
@ Gilles - Danke für die Antwort. Aus Ihrer Antwort geht hervor, dass meine Frage wirklich ist, wie mein Computer über seine USB-Verbindung / seinen Hub wie ein Peripheriegerät aussehen und / oder sich wie ein Peripheriegerät verhalten kann. Was trennt ein Peripheriegerät und einen Hostcomputer? Prost.
Sam Bisbee

Antworten:

11

Aus den Informationen, die Sie gegeben haben, gehe ich davon aus, dass:

  1. Sie haben ein Black-Box-Gerät, mit dem Sie nur kommunizieren können, indem Sie ein USB-Massenspeichergerät anschließen.
  2. Das physische Ein- und Ausstecken eines USB-Laufwerks ist nicht zulässig. Nach der Bereitstellung haben Sie keinen physischen Zugriff.

Wenn eine dieser Annahmen falsch ist, fällt es Ihnen leichter.

Was Sie suchen, ist eine Möglichkeit, einen Computer als USB-Speichergerät anzuzeigen. Im Prinzip sollte dies nicht viel Elektronik erfordern - ich denke, das richtige Gerät könnte für nicht mehr als ein paar USD zzgl. Versand in Serie hergestellt werden. Ich kann jedoch keinen Verweis auf das richtige vorhandene Gadget finden.

Die bloße Verwendung eines USB-Computer-zu-Computer-Kabels reicht nicht aus: Diese simulieren ein Ethernet-Netzwerk, und die Black Box spricht kein Ethernet. Und USB-Speicher-zu-LAN-Konverter helfen nicht, sie gehen falsch herum.

  1. Sie könnten einen Roboterarm entwerfen, der einen USB-Stick von der Blackbox abzieht und an einen Computer anschließt. Nun, da der offensichtliche, aber unpraktische Vorschlag gemacht wurde ...

  2. Sie könnten das Gadget entwerfen lassen und einen Treiber dafür schreiben. Dies liegt jedoch möglicherweise außerhalb Ihrer Preisspanne, insbesondere wenn Sie nicht Millionen von Einheiten benötigen.

  3. Möglicherweise gibt es ein ausgeklügeltes NAS- Gerät, das über iSCSI und USB mit mehreren Computern kommunizieren kann (die letzten beiden Wörter sind der schwierige Teil).

  4. Einige Mobiltelefone und PDAs können als USB-Speichergerät fungieren und verfügen zusätzlich über eine GSM-, WLAN- oder Ethernet-Verbindung. Aber sie fungieren oft nur dann als Speichergeräte, wenn sie ausgeschaltet sind. Daher weiß ich nicht, ob es eines gibt, das als Bridge oder Server verwendet werden kann.

  5. Hier ist eine Diskussion über eine etwas ähnliche Anforderung. Die einzig mögliche Lösung ist diese USB-Speicher-zu-WLAN-Brücke , die anscheinend geeignet wäre - aber teuer ist.

  6. Es gibt USB-Switches (auch Sharing Hubs genannt), mit denen Sie ein USB-Gerät zwischen zwei Computern teilen können. Sie können eines verwenden, um ein Speichergerät zwischen der Black Box und einem Computer freizugeben. Das Problem ist, dass der Benutzer normalerweise eine Taste drücken muss, um zwischen den beiden Geräten zu wechseln. Wenn Sie jedoch eine finden, bei der der Schalter ferngesteuert werden kann, haben Sie eine Lösung.

Gilles 'SO - hör auf böse zu sein'
quelle
Vielen Dank für Ihre sehr nachdenkliche Antwort Gilles. Sie sind in Ihren Annahmen richtig. Die PDA / Mobile Bridge ist eine sehr coole Idee, über die ich noch etwas nachdenken muss. Die anderen Ideen, die hauptsächlich auf LAN oder Roboter ausgerichtet zu sein scheinen, kommen nicht in Frage, da es in der Umgebung kein LAN gibt. Ich werde versuchen, einige POCs zusammenzustellen und werde in ein oder zwei Tagen darüber berichten. Danke noch einmal!
Sam Bisbee
2

Ich denke, dies kann mit einem Host-zu-Host-USB-Kabel und dem Linux-USB-Treiber erreicht werden. Hardwarekompatibilität und Details zum Einrichten unter Linux finden Sie unter: http://www.linux-usb.org/usbnet/

Riccardo Murri
quelle
3
Das ist Ethernet über USB, was in Ordnung ist, wenn das Gerät es unterstützt ... aber ich habe den Eindruck, dass dies nicht der Fall ist.
Gilles 'SO - hör auf böse zu sein'
@ Gilles - Sie haben Recht, ich glaube nicht, dass die Black Box Ethernet spricht. Abgesehen davon kann die Black Box immer noch etwas Magie aufnehmen, wenn sie einfach erkennt, dass eine USB-Verbindung besteht (über das A-zu-A-Kabel). Wird in ein oder zwei Tagen herausfinden. Prost.
Sam Bisbee
Nun, ich denke, dass zumindest die auf der Treiberseite aufgeführten Geräte dies unterstützen sollten ...
Riccardo Murri
-1

Ich sehe nicht wirklich, wie USB hier passt? Warum verwenden Sie SAMBA oder NFS nicht, um die Dateien zwischen diesen Computern freizugeben? Vielleicht funktioniert das aus irgendeinem Grund nicht, deshalb sollten Sie wahrscheinlich etwas mehr Erklärungen hinzufügen ...

tante
quelle
Diese Protokolle funktionieren nicht, da der Reader nicht netzwerkfähig ist. Der einzige E / A-Punkt, den ich dazu habe, ist USB, von dem Dateien überwacht und gelesen werden. In der endgültigen Umgebung ohne Test kann ich das Lesegerät nicht steuern (ich kenne nicht einmal die Software), aber es werden meine Dateien aufgenommen. Vielen Dank!
Sam Bisbee
-1

Selbst wenn Sie die USB-spezifischen Probleme lösen, z. B. einen USB-Host wie ein USB-Gerät aussehen zu lassen, treten Probleme beim gleichzeitigen Mounten des Dateisystems auf zwei verschiedenen Geräten auf.

Wenn Box A ein Laufwerk hat (sagen wir / dev / sdb1) und es gemountet ist und die Dateien in / dev / sdb1 verwendet, was passiert, wenn Box B-Mounts Zugriff auf diese Dateien wünschen? Auf der untersten Ebene möchte USB erwarten, dass es sich um ein Gerät handelt, nicht um ein Dateisystem.

kbyrd
quelle
3
Wenn das Hardwareproblem behoben ist, gibt es wahrscheinlich eine Möglichkeit, eine Zugriffssperre zu setzen, sodass jeweils nur eine Seite schreiben kann und Lesezugriffe eine konsistente Ansicht erhalten. Bei einigen Lösungen kann ohnehin nur ein Computer auf den Speicher zugreifen. Also ja, das ist ein Problem, aber kein überwältigendes.
Gilles 'SO - hör auf böse zu sein'
Es wird furchtbar schwierig sein, dies zu tun, ohne das Dateisystem auf Box A ein- und auszuhängen, während auf Box B zugegriffen wird (und umgekehrt). Die meisten normalen (nicht clusterfähigen) Dateisysteme haben das Recht anzunehmen, dass sich die von ihnen gemounteten Bits auf der Festplatte nicht darunter ändern. Eine Reihe von In-Memory-Strukturen ist nicht synchron. Sie müssen entweder ein- oder aushängen, wenn Sie zwischen A und B wechseln, oder Sie müssen die Zusammenarbeit des Dateisystemtreibers auf den Boxen A und B (dh Schreiben eines neuen Dateisystems) in den Boxen A und B erhalten.
kbyrd