Cookie
FlexiHub Team uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.
Olga Weis Olga Weis Aug 23, 2022

Come condividere USB su Ethernet con Raspberry Pi

Man mano che il funzionamento remoto diventa sempre più popolare, ti imbatterai inevitabilmente in situazioni lavorative in cui dovrai solo utilizzare una sorta di extender USB universale o trovare un altro modo per condividere un USB su Ethernet che funzioni con tutti i sistemi operativi più diffusi e Periferiche USB.

FlexiHub


Windows, macOS, Linux, Android 4.8 Rango basato su 386+ Recensioni
Condividi seriale su IP
Ad esempio, se hai un intero team che utilizza un software con licenza costoso che non si avvia senza dongle USB. Nessuno vuole spendere una fortuna in licenze individuali per ogni dipendente o rischiare di perdere o danneggiare detti dongle poiché verranno trasportati in giro per l'ufficio e collegati a macchine diverse tutto il giorno.

Come forse già saprai, esiste un modo per configurare il tuo Raspberry Pi come server USB su Ethernet. Bene, in realtà, non c'è una, ma due strade che puoi prendere qui: un percorso facile con l'app a pagamento efficiente al cento per cento o un giro accidentato con una soluzione open-source e il suo complicato processo di configurazione. E stiamo per dare un'occhiata a entrambi.

Condivisione USB rapida e sicura da Raspberry Pi con FlexiHub

Con il giusto strumento software di estensione USB, condividere USB su IP da un Raspberry Pi è tutt'altro che semplice e non dovrai acquistare prolunghe, gadget aggiuntivi o disporre chilometri di cavo LAN CAT6 o persino utilizzare un USB all'adattatore RS32.

Come condividere USB su IP da un Raspberry Pi
1
Registra qui un account FlexiHub e inizia un periodo demo gratuito.
 Registra un account FlexiHub
2
Scarica e installa l'app sul computer server;
 Scarica e installa l'app
3
Nel terminale del tuo Raspberry, esegui il seguente comando: yum install [package];
4
Avvia l'app e fai clic su "Condividi" accanto al tuo dispositivo USB.

Questo è tutto!

Da quel momento in poi, il dispositivo USB condiviso sarà accessibile in remoto da tutti i computer con FlexiHub installato e la connessione Internet, indipendentemente dai sistemi operativi o dalle distanze fisiche. Grazie all'esclusivo Redirection USB Server, l'app è davvero una soluzione universale che funziona attraverso tutti i firewall e non richiede indirizzi IP pubblici. Puoi persino utilizzare questo metodo per condividere un hub USB in modo che qualsiasi periferica collegata ad esso diventi immediatamente disponibile per le connessioni remote.

FlexiHub

Windows, macOS, Linux, Android
4.8 Rango basato su 386+ Recensioni
Inoltre, FlexiHub ha una funzione di compressione del traffico opzionale che è molto utile quando si tratta di condividere periferiche USB sensibili alla larghezza di banda come stampanti USB o webcam, quindi non è necessaria una connessione Internet ad alta velocità a 100 Mbps per farle funzionare . E una crittografia SSL a 2048 bit a prova di proiettile per impedire completamente l'accesso indesiderato alle telecamere di sicurezza, ai dongle USB o a qualsiasi dato passato con l'app
FlexiHub

E la ciliegina su questa torta è che per condividere da USB a Ethernet non è necessario trasformare in modo permanente il tuo Raspberry Pi in un server USB. Puoi condividere dongle, webcam, stampanti e altre periferiche collegate alle porte USB di tutti i computer con FlexiHub installato, incluso il tuo tablet Android, e non avrai mai problemi con la connettività multipiattaforma. Da una macchina Windows, puoi persino condividere una periferica basata su COM. Quanto è fantastico? E, per maggiore comodità, avrai l'opportunità di usufruire della connettività wireless accedendo ai dispositivi condivisi tramite Wi-Fi. Addio a tutti quei cavi CAT6 sparsi per l'ufficio.

Un modo gratuito per configurare un Raspberry Pi come server USB-over-IP

In linea di principio, questo metodo è simile a quello appena descritto, ma tramite un'altra app di estensione da USB a Ethernet. E dato che questa volta utilizzeremo una soluzione open source ancora in fase di sviluppo, il processo di installazione richiede un livello decente di competenza tecnica per essere eseguito, quindi se non ne hai, non sorprenderti se non funzionerà al primo tentativo.

Ecco alcuni punti più importanti che devi considerare prima di optare per questo metodo:

  • Funziona solo per la condivisione di dispositivi USB nella LAN.
  • Impossibile condividere un dispositivo da una macchina non Linux.
  • Questo metodo di condivisione non funzionerà per un hub USB.
  • Si consiglia vivamente di disporre di una connessione di almeno 100 Mbps.
  • Maggiore è la distanza dal dispositivo condiviso, peggiore è la connessione.
  • Nessuna protezione da accessi non autorizzati.
  • Nessuna compressione del traffico, quindi un'immagine da telecamere remote potrebbe ritardare molto.

Cominciamo con la configurazione del tuo Raspberry Pi come server:

1
Installa l'app utilizzando questo comando: sudo apt install usbip
2
Una volta completata l'installazione, aggiungi il modulo del kernel di cui avremo bisogno inserendo:
sudo modprobe usbip_host
echo 'usbip_host' >> /etc/modules
3
Ora, usa il comando lsusb per visualizzare un elenco di tutti i dispositivi USB fisicamente collegati al tuo Raspberry Pi e ricorda (o annota) il numero ID USB a 8 cifre di un dispositivo che stai per condividere.
4
Utilizza il comando usbip list -p -l per trovare l'ID bus del tuo dispositivo (utilizza il numero ID USB di un passaggio precedente per identificare il dispositivo corretto nell'elenco). Annota quel numero.
5
Esegui il comando:
sudo usbip bind --busid=N
(N è il numero ID bus del passaggio precedente)
6
Esegui il demone per collegare il dispositivo all'USB/IP eseguendo il comando: usbipd

In alternativa, puoi creare un servizio systemd:

vi /lib/systemd/system/usbipd.service

con la seguente definizione (non dimenticare di cambiare la N per un numero ID USB effettivo del tuo dispositivo):


[Unit]
Description=usbip host daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/sbin/usbipd -D
ExecStartPost=/bin/sh -c "/usr/sbin/usbip bind --$(/usr/sbin/usbip list -p -l | grep '#usbid=N#' | cut '-d#' -f1)"
ExecStop=/bin/sh -c "/usr/sbin/usbip unbind --$(/usr/sbin/usbip list -p -l | grep '#usbid=N#' | cut '-d#' -f1); killall usbipd"
[Install]
WantedBy=multi-user.target



E poi dovrai eseguire questi comandi per avviare quel servizio:

sudo systemctl --system daemon-reload
sudo systemctl enable usbipd.service
sudo systemctl start usbipd.service

Ok, ora configuriamo un cliente:

Nota: l'app ha un client per Windows, ma è una versione beta fragile senza driver firmati o supporto per Windows 10, quindi non vale davvero la pena menzionarla.

1. Per installare la stessa app per la condivisione di USB su IP in Ubuntu, esegui questi comandi:
sudo -s
apt-get install linux-tools-generic -y

2. Abilita il modulo richiesto:
modprobe vhci-hcd
echo 'vhci-hcd' >> /etc/modules

Ora, per connettere il dispositivo condiviso a questa macchina, esegui il comando: sudo usbip attach -r 0.0.0.0
(digita l'indirizzo IP effettivo del tuo Raspberry Pi invece di 0.0.0.0)

Oppure puoi creare un servizio systemd:
vi /lib/systemd/system/usbip.service

Con la definizione (sostituisci N con un numero ID USB effettivo del tuo dispositivo e 0.0.0.0 con l'indirizzo IP del tuo Raspberry):

[Unit]
Description=usbip client
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/sh -c "/usr/lib/linux-tools/$(uname -r)/usbip attach -r 0.0.0.0 -b $(/usr/lib/linux-tools/$(uname -r)/usbip list -r 0.0.0.0 | grep 'N' | cut -d: -f1)"
ExecStop=/bin/sh -c "/usr/lib/linux-tools/$(uname -r)/usbip detach --port=$(/usr/lib/linux-tools/$(uname -r)/usbip port | grep '<Port in Use>' | sed -E 's/^Port ([0-9][0-9]).*/\1/')"

[Install]
WantedBy=multi-user.target

Salva, quindi esegui questi comandi per avviare il servizio:

sudo systemctl --system daemon-reload
sudo systemctl enable usbip.service
sudo systemctl start usbip.service

Dopodiché, dovresti essere in grado di accedere al dispositivo condiviso da remoto. In caso contrario, riprova tutti i passaggi dall'inizio.

Importante! Se scolleghi un dispositivo USB dal Raspberry Pi mentre è condiviso con questo metodo, potrebbe verificarsi una perdita permanente di dati. Spegni prima il tuo Raspberry (dopo che è spento, puoi anche scollegare il suo adattatore CA per ulteriori precauzioni).

Condivisione USB con FlexiHub
Periodo di prova di 30 giorni

Una tabella per il confronto tra i due metodi:

Server proxy
Server proxy
Server di reindirizzamento
• non c'è bisogno di IP esterno
• comunicazione multi-rete
• funziona attraverso il firewall
N/A
Piattaforme supportate:
Piattaforme supportate:
Lato server
Lato server
✓ Windows
✓ Linux
✓ macOS
✓ Android
✓ Linux
Dalla parte del cliente
Dalla parte del cliente
✓ Windows
✓ Linux
✓ macOS
✓ Windows (beta)
✓ Linux
Firmware per microcontrollori
Firmware per microcontrollori
Raspberry (su richiesta)
N/A
Sicurezza
Sicurezza
Token di accesso per la condivisione sicura dell'account
Blocca per il controllo dell'accesso al dispositivo
N/A
Crittografia
Crittografia
SSL a 2048 bit
N/A
Stabilità migliorata
Stabilità migliorata
Opzione Mantieni la connessione attiva
N/A

Commenti finali

Di sicuro, spetta totalmente a te decidere quale dei due metodi descritti in questo articolo intendi adottare. Ma non sarebbe meglio investire in uno strumento facile da gestire con comprovata efficienza piuttosto che fare affidamento su qualcosa che può fallire in qualsiasi momento e causare chissà quanti nervi, tempo e denaro a causa di tempi di inattività non pianificati.


Miglior scelta
FlexiHub
  • 4.8 overall rank basato su 386+ Recensioni
  • Windows, macOS, Linux, Android e Raspberry Pi. 10.4MB Size.
  • Versione 6.0.14865. (31 Magg, 2023).