Vous devrez ajouter un périphérique USB / contrôleur périphérique à l'ordinateur, par opposition au contrôleur hôte USB avec lequel ils ont tendance à être fournis.
Quelque chose comme ça: https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX3420E.html
Malheureusement, vous devez trouver un moyen de le connecter à votre carte mère. Techniquement, cela peut être fait. Pratiquement, il faudrait repenser la carte mère pour l'inclure. Vous pourriez avoir la chance de trouver un bus SPI ou I2C exposé quelque part sur votre carte mère pour vous permettre de l'ajouter, mais ils sont généralement câblés directement dans ce qu'ils sont utilisés, sauf si vous utilisez une carte de développement ou un seul ordinateur de bord avec GPIO exposé et d'autres ports tels qu'un Raspberry Pi.
L'autre option serait un contrôleur USB On-the-Go. Les cartes mères conçues pour les appareils embarqués et portables ont tendance à avoir un contrôleur USB OTG (On-the-go), qui peut fonctionner comme un hôte ou un contrôleur de périphérique. Par exemple, le Raspberry Pi susmentionné a un contrôleur On-the-Go, mais sur tous les modèles sauf le Pi Zero qui est recâblé sur un port hôte ou un concentrateur USB intégré refusant l'utilisation de la fonctionnalité du périphérique USB. Le BeagleBone Black possède un port OTG.
Mais ce n'est pas tout - une fois que vous avez le matériel, vous aurez également besoin du logiciel. Linux a quelques pilotes de noyau USB utiles («gadget USB» est un autre terme pour périphérique / périphérique USB) tels que g_serial et g_ethernet qui vous permettent de brancher votre appareil sur un autre ordinateur et d'être visible en tant que périphérique série ou Ethernet sur USB (il existe d'autres méthodes pour exposer un périphérique en tant que stockage de masse, qui vous permettent d'utiliser un fichier en tant que périphérique de bloc et d'exposer l'ordinateur en tant que gadget de stockage de masse). Le BeagleBone Black a tendance à être activé par défaut, vous pouvez donc simplement le brancher sur votre PC via USB et le voir comme un appareil en réseau - et je pense qu'il apparaît également comme un périphérique de stockage de masse en utilisant un pilote composite (qui permet pour qu'il apparaisse sous la forme de plusieurs types de périphériques USB sur une seule connexion. Le Pi Zero peut les utiliser , mais pas par défaut. Pour Windows ou d'autres systèmes d'exploitation, vous devrez probablement écrire ce pilote de périphérique vous-même.
Donc, théoriquement, vous pouvez le faire. Vous pouvez détruire votre PC de bureau, essayer de trouver un bus compatible inutilisé sur la carte mère quelque part (très probablement des broches inutilisées sur un CI de contrôleur), ou un moyen d'étendre un bus I2C ou SPI interne, ou quelque chose que vous pouvez déchirer et remplacer et souder une puce USB OTG ou un contrôleur de périphérique dessus. Ensuite, vous pouvez installer Linux et utiliser un pilote de gadget, ou écrire le vôtre pour un autre système d'exploitation. Pratiquement, à moins que vous ne soyez un ingénieur en électronique de premier ordre, vous ne pourrez pas le faire. Du moins, pas tant que quelqu'un ne sort pas avec cet adaptateur insaisissable avec un appareil ou un port OTG qui se branche sur un port USB (théoriquement, cela pourrait être fait avec un microcontrôleur tel qu'un Arduino câblé à une paire de CI de contrôleur de périphérique USB), et écrit les pilotes pour l'exécuter.
L'USB est dissymétrique: un côté est un hôte, l'autre côté est un périphérique. Vous ne pouvez pas faire fonctionner un périphérique comme un hôte ou vice versa. Il est possible qu'un port USB puisse agir de part et d'autre; cela s'appelle USB on-the-go et est présent sur certains téléphones portables et tablettes. Les ports sont physiquement des types de périphériques, pas des ports de type hôte. Je n'ai jamais vu un PC avec un port d'appareil. Cela nécessite une électronique sur le contrôleur, il ne suffit pas de faire un câble qui s'adapte aux deux extrémités.
Donc non, vous ne pourrez pas transformer un PC en périphérique USB.
Si vous souhaitez utiliser un ordinateur comme périphérique de stockage USB, vous pouvez utiliser un téléphone mobile ou une tablette avec une connexion USB au lieu d'utiliser un PC.
la source
Vous pouvez envisager d'utiliser l'un des «câbles pontés USB-USB» spéciaux, parfois appelés «câbles réseau USB». Comme celui mentionné dans ces articles:
Ils vous permettent de transférer des fichiers entre deux PC. J'utilise ce type de câbles il y a plus de dix ans (à l'époque de Windows XP) et à cette époque, tous ces câbles disponibles sur le marché nécessitaient un pilote et un logiciel spéciaux. Ils vous permettent de transférer des fichiers uniquement via un commandant de fichier spécial, fourni avec des pilotes de câble sur un disque d'installation et ne permettant donc pas à un PC d'agir sur un autre comme un périphérique externe USB pur.
Je ne suis pas sûr, si quelque chose a changé depuis et si de nouvelles solutions vous permettent uniquement de transférer des fichiers à l'aide d'un logiciel spécial et - si vous pouvez forcer un PC à agir comme un périphérique externe vers un autre PC.
la source
Comme expliqué dans la réponse de Matt Thomson , il n'est pas possible de faire correctement un port USB physique d'un ordinateur PC comme un périphérique esclave USB, car le contrôleur esclave USB est manquant.
Cela signifie que si nous avons une carte d'adaptateur qui peut fournir un USB en mode esclave (comme le Raspberry Pi Zero), nous devons le connecter à votre PC hôte par un canal différent, comme Ethernet filaire. J'ai deux propositions différentes quel protocole vous pourriez exécuter sur cette connexion Ethernet:
(1) Exposez le port USB sur le réseau IP.
Utilisez un logiciel pour exposer le port USB en mode esclave du Raspberry Pi Zero en tant que périphérique USB virtuel à votre PC. Le projet USB / IP fournit cela, au moyen d'un pilote qui peut transporter USB sur des réseaux IP.Voici un exemple d'utilisation d'USB / IP pour fournir un périphérique USB simulé à un ordinateur - qui serait votre PC ici.
Ce que je ne sais pas dans cette solution proposée, c'est si le logiciel USB / IP est déjà capable d'exposer un port esclave USB sur un réseau IP, ou seulement un port hôte USB comme d'habitude.
Mais même si cela fonctionne, vous devez toujours configurer ou adapter les pilotes de périphérique sur votre PC de telle sorte qu'ils (1) acceptent la connexion USB / IP entrante comme connexion USB, (2) fournissent le mode esclave USB plutôt que Mode hôte USB, (3) simuler un périphérique de stockage de masse USB en servant les données de l'emplacement attribué (votre
.vdi
fichier).Dans l'ensemble, c'est une façon complexe de procéder.
(2) Exposez le fichier sur le réseau IP.
C'est un moyen beaucoup plus simple d'utiliser la connexion Ethernet au Raspberry Pi Zero: sur le Raspberry Pi Zero, montez les données stockées sur votre PC via un système de fichiers réseau. Ces fichiers apparaissent ensuite de manière logique dans le cadre du système de fichiers du Pi Zero, et vous pouvez les utiliser avec le pilote de gadget USB Linux pour que le Raspberry Pi ressemble à un périphérique de stockage de masse USB pour les périphériques connectés.
la source