Dovresti aggiungere un dispositivo USB / controller periferico al computer, al contrario del controller host USB che tendono a venire.
Qualcosa del genere: https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX3420E.html
Sfortunatamente, dovresti trovare un modo per collegarlo alla tua scheda madre. Tecnicamente, può essere fatto. Praticamente, dovresti riprogettare la scheda madre per includerla. Potresti essere abbastanza fortunato da trovare un bus SPI o I2C esposto da qualche parte sulla tua scheda madre per permetterti di aggiungerlo, ma di solito sono collegati direttamente a tutto ciò per cui vengono utilizzati a meno che tu non stia usando una scheda di sviluppo o un singolo- computer di bordo con GPIO esposto e altre porte come un Raspberry Pi.
L'altra opzione sarebbe un controller USB On-the-Go. Le schede madri progettate per dispositivi embedded e portatili tendono ad avere un controller USB OTG (On-the-go), che può funzionare come controller Host o Device. Ad esempio, il summenzionato Raspberry Pi ha un controller On-the-Go, ma su tutti i modelli tranne il Pi Zero che viene ricablato a una porta host o un hub USB integrato che nega l'uso della funzionalità del dispositivo USB. BeagleBone Black ha una porta OTG.
Non è tutto però: una volta ottenuto l'hardware, avresti anche bisogno del software. Linux ha alcuni driver del gadget USB del kernel utili ("gadget USB" è un altro termine per periferica / dispositivo USB) come g_serial e g_ethernet che ti consentono di collegare il tuo dispositivo a un altro computer e di essere visibile come dispositivo seriale o Ethernet su USB (ce ne sono altri per esporre un dispositivo come memoria di massa, che ti consentono di utilizzare un file come dispositivo a blocchi ed esporre il computer come gadget di memoria di massa). BeagleBone Black tende ad avere questo abilitato per impostazione predefinita, quindi puoi semplicemente collegarlo al tuo PC tramite USB e vederlo come un dispositivo di rete - e credo che appaia anche come dispositivo di archiviazione di massa utilizzando un driver composito (che consente apparire come più tipi di dispositivi USB su una singola connessione. Il Pi Zero può usarli , ma non di default. Per Windows o altri sistemi operativi, probabilmente dovresti scrivere tu stesso quel driver di dispositivo.
Quindi, teoricamente, puoi farlo. Puoi abbattere il tuo PC desktop, provare a trovare un bus compatibile inutilizzato sulla scheda madre da qualche parte (molto probabilmente alcuni pin inutilizzati su un controller IC) o un modo per estendere un bus I2C o SPI interno o qualcosa che puoi strappare e sostituire e saldare un OTG USB o un chip controller del dispositivo su di esso. Quindi è possibile installare Linux e utilizzare un driver di gadget o scrivere il proprio per un altro sistema operativo. Praticamente, a meno che tu non sia un ingegnere elettronico di prim'ordine, non sarai in grado di farlo. Almeno, fino a quando qualcuno non esce con quell'adattatore sfuggente con un dispositivo o una porta OTG su di esso che si collega a una porta USB (teoricamente, che potrebbe essere fatto con un microcontrollore come un Arduino collegato a una coppia di CI di controller di dispositivo USB), e scrive i driver per eseguirlo.