Essere in grado di condividere un dispositivo USB attraverso la rete può essere molto vantaggioso in molte situazioni quotidiane. Supponiamo che tu abbia un dongle di licenza per il software che tutti nel tuo ufficio devono utilizzare. E ogni singolo giorno quel dongle viene collegato e tirato fuori più volte di quanto chiunque possa contare e ci sono buone probabilità che a un certo punto cada in pezzi. Certo, le cose non possono andare avanti così per sempre, ma acquistare a tutti la propria licenza è fuori dal tuo budget. Ci deve essere un altro modo per aggirare questo problema, giusto?
Bene, come avrai sentito, puoi condividere un dispositivo connesso a USB su TCP / IP con un Raspberry Pi.. Per farlo, riceverai un software speciale. E la domanda principale qui è: quale dovresti prendere? Un'app a pagamento infallibile o una soluzione open source gratuita ma glitch? Diamo un'occhiata a entrambi.
dpkg -i [package]
apt-get install -f
rpm -i [package]
yum install [package]
Questo è tutto!
Dopodiché, sarai in grado di accedere al dispositivo condiviso da qualsiasi macchina connessa a Internet, indipendentemente dal sistema operativo su quella macchina remota (funziona per Linux, Windows e Mac) o dalla distanza fisica da essa. Non avrai nemmeno bisogno di caricare il modulo del kernel per avviare USB Network Gate su una macchina Linux. Inoltre, l'app può essere utilizzata su macchine virtuali VMware, VMware ESX Server, Citrix XenServer e Microsoft Hyper-V. Questo metodo funziona per dispositivi USB di tutti i tipi e marche. Tutta la condivisione / annullamento della condivisione del dispositivo ha effetto immediato senza che sia necessario riavviare il sistema.
Tutte le connessioni stabilite con USB Network Gate sono totalmente sicure grazie all'avanzata crittografia SSL a 2048 bit. Inoltre, puoi impostare una password di autorizzazione per una protezione aggiuntiva. Quindi non c'è assolutamente alcuna possibilità che i tuoi dati finiscano nelle mani sbagliate.
La cosa migliore dell'opzione per USB Network Gate è che non hai davvero bisogno di trasformare in modo permanente il tuo Raspberry Pi in un server USB-over-IP. È una soluzione multipiattaforma ottima per condividere dispositivi USB da qualsiasi macchina tu abbia, inoltre, non c'è limite al numero di dispositivi condivisi.
Questo metodo è, in sostanza, lo stesso modo di condividere USB su IP in Ubuntu, solo che questa volta useremo un'app diversa. Tieni presente che si tratta di software open source basato su Linux che è ancora in fase di sviluppo. Assicurati di essere pronto per un processo di configurazione tecnicamente impegnativo e non scendere se sbaglierai al primo tentativo.
Altri punti importanti di cui prendere nota prima di iniziare:
sudo apt install usbip
sudo modprobe usbip_host
echo 'usbip_host' >> /etc/modules
lsusb
usbip list -p -l
sudo usbip bind --busid=N
usbipd
vi /lib/systemd/system/usbipd.service
[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
sudo systemctl --system daemon-reload
sudo systemctl enable usbipd.service
sudo systemctl start usbipd.service
Nota: la versione client dell'app per Windows è una beta senza supporto per Windows 10. quindi non la considereremo qui.
sudo -s
apt-get install linux-tools-generic -y
modprobe vhci-hcd
echo 'vhci-hcd' >> /etc/modules
sudo usbip attach -r 0.0.0.0
Oppure crea un servizio systemd:
vi /lib/systemd/system/usbip.service
definito come:
[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
Non dimenticare di sostituire N con un numero ID USB effettivo del tuo dispositivo e 0.0.0.0 con l'indirizzo IP del tuo Raspberry.
Salvare il servizio ed eseguire questi comandi per avviarlo:
sudo systemctl --system daemon-reload
sudo systemctl enable usbip.service
sudo systemctl start usbip.service
Se non riesci ancora ad accedere al dispositivo condiviso dal computer client, ricomincia dal passaggio 1 della guida alla configurazione del server.
Importante! NON scollegare i dispositivi USB dal Raspberry Pi mentre è condiviso con questo metodo. Spegni prima il tuo Raspberry per evitare che la perdita di dati e/o salvare il dispositivo venga danneggiato.
Limitazione della distanza
|
Limitazione della distanza
|
Nessuna
|
Area di copertura LAN
|
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 |
Ottimizzazione del traffico
|
Ottimizzazione del traffico
|
Crittografia opzionale |
N/A |
Sicurezza
|
Sicurezza
|
Parola d'ordine |
N/A |
Crittografia
|
Crittografia
|
SSL a 2048 bit |
N/A |
Connettività wireless
|
Connettività wireless
|
Sì |
N/A |
Registro delle attività
|
Registro delle attività
|
Sì |
N/A |
Qualunque sia il metodo scelto, tieni presente che un'opzione gratuita non è sempre la migliore. e ciò che sembra risparmiare all'inizio può rivelarsi una perdita in seguito lungo la strada. Nove volte su dieci è molto più gratificante investire in un'app collaudata che sarà facile da usare e non causerà alcun problema che mettere in gioco l'intera operazione e chiudere i portelli in attesa del prossimo fallimento del tuo strumento gratuito.