Servir des fichiers via USB

12

J'aimerais pouvoir servir une section du système de fichiers de ma box via USB à un autre ordinateur. Par exemple, si les fichiers se trouvent sur la case A et que je lis dans la case B, alors B monterait A, verrait ces fichiers et les monterait comme un périphérique de système de fichiers (c'est-à-dire comme une clé USB).

Idéalement, la solution fonctionnerait pour n'importe quelle distribution Linux, mais je l'exécuterai très probablement sur des variantes Debian.

Veuillez me faire savoir si vous avez besoin de plus d'informations. À votre santé.

Sam Bisbee
la source
4
Vous ne pouvez pas simplement connecter deux ordinateurs avec un câble USB - le protocole électrique USB n'est pas symétrique et nécessite un ordinateur à une extrémité et un périphérique à l'autre extrémité (c'est pourquoi les fiches ne sont pas les mêmes). Avez-vous déjà un gadget matériel spécifique que vous souhaitez utiliser? Sinon, Ethernet (ou Firewire) serait mieux adapté pour créer un réseau entre les deux ordinateurs.
Gilles 'SO- arrête d'être méchant'
2
@Gilles - Merci pour la réponse. D'après votre réponse, je suppose que ma question est vraiment de savoir comment donner à mon ordinateur l'apparence et / ou agir comme un périphérique sur sa connexion / concentrateur USB. Qu'est-ce qui sépare un périphérique et une machine hôte? À votre santé.
Sam Bisbee du

Réponses:

11

D'après les informations que vous avez fournies, je présume que:

  1. Vous disposez d'un périphérique Black Box avec lequel vous ne pouvez communiquer qu'en branchant un périphérique de stockage de masse USB.
  2. Brancher et débrancher physiquement une clé USB n'est pas acceptable, vous n'aurez pas d'accès physique après le déploiement.

Si l'une de ces hypothèses est fausse, vous aurez plus de facilité.

Ce que vous recherchez est un moyen de faire apparaître un ordinateur comme un périphérique de stockage USB. En principe, cela ne devrait pas nécessiter beaucoup d'électronique - je pense que le bon gadget pourrait être produit en masse pour pas plus de quelques USD plus les frais de port. Mais je ne trouve pas de référence au bon gadget existant.

Le simple fait d'utiliser un câble USB d'ordinateur à ordinateur ne fera pas l'affaire: ceux-ci simulent un réseau Ethernet et la boîte noire ne parle pas Ethernet. Et les convertisseurs de stockage USB vers LAN ne vous aideront pas, ils vont dans le mauvais sens.

  1. Vous pouvez concevoir un bras de robot qui débranche une clé USB de la boîte noire et la branche sur un ordinateur. Maintenant que la suggestion évidente mais peu pratique a été faite ...

  2. Vous pouvez faire concevoir le gadget et lui écrire un pilote. Mais cela pourrait être hors de votre fourchette de prix, surtout si vous n'avez pas besoin de millions d'unités.

  3. Il peut y avoir un périphérique NAS sophistiqué qui peut communiquer avec plusieurs ordinateurs via iSCSI et USB (ces deux derniers mots sont la partie difficile).

  4. Certains téléphones portables et PDA peuvent agir comme un périphérique de stockage USB et disposent en outre d'une connexion GSM, wifi ou Ethernet. Mais ils agissent souvent comme périphériques de stockage uniquement lorsqu'ils sont éteints, donc je ne sais pas s'il y en a un qui pourrait être utilisé comme pont ou serveur.

  5. Voici une discussion sur une exigence quelque peu similaire. La seule solution possible qu'il suggère est ce pont de stockage USB vers wifi , qui semble convenir - mais c'est cher.

  6. Il existe des commutateurs USB (alias hubs de partage) qui vous permettent de partager un périphérique USB entre deux ordinateurs. Vous pouvez en utiliser un pour partager un périphérique de stockage entre la boîte noire et un ordinateur. Le problème est qu'ils obligent généralement l'utilisateur à appuyer sur un bouton pour basculer entre les deux appareils - mais si vous en trouvez un où le commutateur peut être contrôlé à distance, vous avez une solution.

Gilles 'SO- arrête d'être méchant'
la source
Merci pour ta réponse très réfléchie Gilles. Vous avez raison dans vos hypothèses. Le pont PDA / mobile est une idée très cool à laquelle je devrai réfléchir davantage. Les autres idées, qui semblent être principalement axées sur le LAN ou le robot, sont hors de question car il n'y a pas de LAN dans l'environnement. Je vais essayer de rassembler quelques POC et je ferai rapport dans un jour ou deux. Merci encore!
Sam Bisbee
2

Je pense que cela peut être accompli avec un câble USB d'hôte à hôte et le pilote usbnet Linux. La compatibilité matérielle et des détails sur la façon de configurer cela sous Linux sont fournis à: http://www.linux-usb.org/usbnet/

Riccardo Murri
la source
3
C'est Ethernet sur USB, ce qui est bien si l'appareil le prend en charge ... mais j'ai l'impression que non.
Gilles 'SO- arrête d'être méchant'
@Gilles - Vous avez raison, je ne pense pas que la boîte noire parle Ethernet. Cela étant dit, la boîte noire pourrait toujours capter et faire de la magie si elle détecte simplement qu'il y a une connexion USB (via le câble A-to-A). Sera découvrir dans un jour ou deux. À votre santé.
Sam Bisbee
Eh bien, je suppose qu'au moins les périphériques répertoriés sur la page du pilote devraient le prendre en charge ...
Riccardo Murri
-1

Je ne vois pas vraiment comment l'USB s'intègre ici? Pourquoi n'utilisez-vous pas SAMBA ou NFS pour partager les fichiers entre ces machines? Peut-être que cela ne fonctionne pas pour une raison quelconque, vous devriez donc probablement ajouter un peu plus d'explications ...

tante
la source
Ces protocoles ne fonctionneront pas, car la machine de lecture n'est pas activée en réseau. Le seul point d'E / S dont je dispose est USB, dont il surveille et lit les fichiers. Dans l'environnement final, non test, je ne pourrai pas contrôler la machine du lecteur (je ne connais même pas son logiciel), mais il prendra mes fichiers. Merci!
Sam Bisbee du
-1

Même si vous résolvez les problèmes spécifiques à l'USB, comme faire ressembler un hôte USB à un périphérique USB, vous rencontrerez des problèmes pour monter le système de fichiers sur deux périphériques différents en même temps.

Si la boîte A a un lecteur (disons / dev / sdb1) et qu'il est monté et utilise les fichiers sur / dev / sdb1, que se passe-t-il lorsque la boîte B monte veut accéder à ces fichiers? Au niveau le plus bas, l'USB voudra s'attendre à traiter avec un appareil, pas avec un système de fichiers.

kbyrd
la source
3
Si le problème matériel est résolu, il existe probablement un moyen de mettre un verrou d'accès afin qu'un seul côté puisse écrire à la fois et que les accès en lecture obtiennent une vue cohérente. Certaines solutions n'autoriseront de toute façon qu'un seul ordinateur à accéder au stockage. Alors oui, c'est une préoccupation, mais pas écrasante.
Gilles 'SO- arrête d'être méchant'
Il va être extrêmement difficile de le faire sans monter et démonter le système de fichiers sur la boîte A tout en y accédant sur la boîte B (et vice-versa). La plupart des systèmes de fichiers normaux (non compatibles avec les clusters) ont le droit de supposer que les bits sur disque qu'ils ont montés ne changent pas en dessous d'eux. Un tas de structures en mémoire seront désynchronisées. Vous devez soit monter / démonter lors du basculement entre A et B, soit obtenir la coopération (c'est-à-dire écrire un nouveau système de fichiers) du pilote du système de fichiers sur les boîtes A et B.
kbyrd