Poder compartir un dispositivo USB a través de la red puede ser muy beneficioso en muchas situaciones del día a día. Digamos que tiene una llave de licencia para el software que todos en su oficina necesitan usar. Y todos los días ese dongle se conecta y se saca más veces de las que nadie puede contar y hay muchas posibilidades de que en algún momento se caiga en pedazos. Claro, las cosas no pueden seguir así para siempre, pero comprar cada uno su propia licencia está fuera de su presupuesto. Debe haber otra forma de evitar esto, ¿verdad?
Bueno, como habrás escuchado, puedes compartir un dispositivo conectado a USB a través de TCP / IP con una Raspberry Pi. Para hacer eso, obtendrá un software para propósitos especiales. Y la pregunta principal aquí es: ¿cuál debería obtener? ¿Una aplicación de pago infalible o una solución de código abierto gratuita pero defectuosa? Echemos un vistazo a ambos.
dpkg -i [package]
apt-get install -f
rpm -i [package]
yum install [package]
¡Eso es todo!
Después de eso, podrá acceder al dispositivo compartido desde cualquier máquina conectada a Internet, sin importar el sistema operativo en esa máquina remota (funciona para Linux, Windows y Mac), o la distancia física a la misma. Ni siquiera necesitará cargar el módulo del kernel para iniciar USB Network Gate en una máquina Linux. Además, la aplicación se puede utilizar en máquinas virtuales VMware, VMware ESX Server, Citrix XenServer y Microsoft Hyper-V. Este método funciona para dispositivos USB de todos los tipos y marcas. Todo el uso compartido/no compartido del dispositivo entra en vigor inmediatamente sin necesidad de reiniciar el sistema.
Todas las conexiones establecidas con USB Network Gate son totalmente seguras gracias al avanzado cifrado SSL de 2048 bits. Además, puede establecer una contraseña de autorización para una protección adicional. Por lo tanto, no hay absolutamente ninguna posibilidad de que sus datos caigan en las manos equivocadas.
Lo mejor de optar por USB Network Gate es que realmente no necesita convertir permanentemente su Raspberry Pi en un servidor USB sobre IP. Es una solución multiplataforma ideal para compartir dispositivos USB desde cualquier máquina que tenga, además, no hay límite en cuanto a la cantidad de dispositivos compartidos.
Este método es, en esencia, la misma forma de compartir USB sobre IP en Ubuntu, solo que esta vez usaremos una aplicación diferente. Tenga en cuenta que es un software de código abierto basado en Linux que aún está en desarrollo. Asegúrese de estar listo para un proceso de configuración técnicamente desafiante y no se deprima si se aturde al primer intento.
Otros puntos importantes a tener en cuenta antes de empezar:
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 versión de cliente de la aplicación para Windows es una beta sin soporte para Windows 10. por lo que no la consideraremos aquí.
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
O crea un servicio systemd:
vi /lib/systemd/system/usbip.service
definido como:
[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
No olvide reemplazar N con un número de identificación USB real de su dispositivo y 0.0.0.0 con la dirección IP de su Raspberry.
Guarde el servicio y ejecute estos comandos para iniciarlo:
sudo systemctl --system daemon-reload
sudo systemctl enable usbip.service
sudo systemctl start usbip.service
Si aún no puede acceder al dispositivo compartido desde la máquina cliente, comience de nuevo desde el paso 1 de la guía de configuración del servidor.
Importante! NO desenchufe los dispositivos USB de la Raspberry Pi mientras se comparte con este método. Apague su Raspberry primero para evitar la pérdida de datos y / o evitar que el dispositivo se dañe.
Limitación de distancia
|
Limitación de distancia
|
Ninguno
|
Área de cobertura LAN
|
Plataformas compatibles:
|
Plataformas compatibles:
|
|
|
Lado del servidor
|
Lado del servidor
|
✓ Windows
✓ Linux
✓ macOS
✓ Android |
✓ Linux |
Lado del cliente
|
Lado del cliente
|
✓ Windows
✓ Linux
✓ macOS |
✓ Windows (beta)
✓ Linux |
Optimización del tráfico
|
Optimización del tráfico
|
Cifrado opcional |
N/A |
Seguridad
|
Seguridad
|
Contraseña |
N/A |
Cifrado
|
Cifrado
|
SSL de 2048 bits |
N/A |
Conectividad inalámbrica
|
Conectividad inalámbrica
|
Sí |
N/A |
Registro de actividades
|
Registro de actividades
|
Sí |
N/A |
Independientemente del método que elija, tenga en cuenta que una opción gratuita no siempre es la mejor. y lo que parece ahorrar al principio puede convertirse en una pérdida más adelante. Nueve de cada diez veces es mucho más gratificante invertir en una aplicación probada que será fácil de usar y no causará ningún problema que poner en juego toda su operación y cerrar las escotillas esperando la próxima falla de su herramienta gratuita.