FlexiHub
Como es posible que ya sepas, hay una forma de configurar tu Raspberry Pi como un servidor USB sobre Ethernet. Bueno, en realidad, no hay una, sino tres opciones que puedes tomar aquí: un camino fácil con la aplicación de pago 100% eficiente o un camino más complicado con una solución de código abierto y su proceso de configuración algo complicado. Y vamos a analizar todas ellas.
¡Eso es todo!
A partir de ese momento, el dispositivo USB compartido será accesible de forma remota desde todos los ordenadores con FlexiHub instalado y una conexión a Internet, independientemente de los sistemas operativos o las distancias físicas involucradas.
Solución Universal:
Servidor de Redirección USB: El exclusivo servidor de redirección USB de FlexiHub permite que la aplicación funcione a través de todos los cortafuegos sin necesidad de direcciones IP públicas.
Compartición de Periféricos: Puede compartir un concentrador USB para que cualquier periférico conectado a sus puertos USB esté disponible instantáneamente para conexiones remotas sin necesidad de configuración adicional.
Rendimiento Mejorado:
Compresión de Tráfico: FlexiHub ofrece una función opcional de compresión de tráfico, que es especialmente útil para dispositivos USB sensibles al ancho de banda, como impresoras USB o cámaras web. Esto significa que no necesita una conexión a Internet de alta velocidad de 1 Gbps para que funcionen eficientemente.
Seguridad:
Cifrado SSL: FlexiHub proporciona un cifrado SSL de 2048 bits a prueba de balas para prevenir completamente el acceso no deseado a sus cámaras de seguridad, dongles USB o cualquier dato transmitido a través de FlexiHub.
En principio, este método es similar al que acabamos de describir, pero a través de una aplicación diferente de extensión USB a Ethernet. Y dado que esta vez usaremos una solución de código abierto que todavía está en desarrollo, los requisitos del proceso de configuración requieren un nivel decente de competencia técnica para llevar a cabo, por lo que si no tienes ninguno, no te sorprendas si no funciona al primer intento.
Aquí hay algunos puntos más importantes que debes considerar antes de optar por este método:
sudo apt install usbip
sudo modprobe usbip_host
echo 'usbip_host' >> /etc/modules
lsusb
para ver una lista de todos los dispositivos USB conectados físicamente a tu Raspberry Pi y recuerda (o anota) el número de identificación USB de 8 dígitos de un dispositivo que vas a compartir.
usbip list -p -l
para averiguar el ID de bus de tu dispositivo (usa el número de identificación USB de un paso anterior para identificar el dispositivo correcto en la lista). Anota ese número.
sudo usbip bind --busid=N
usbipd
Como alternativa, puedes crear un servicio systemd:
vi /lib/systemd/system/usbipd.service
con la siguiente definición (no olvides cambiar la N por un número de identificación USB real de tu dispositivo):
[Unit]
Description=daemon anfitrión usbip
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
Y luego tendrás que ejecutar estos comandos para iniciar ese servicio:
sudo systemctl --system daemon-reload
sudo systemctl enable usbipd.service
sudo systemctl start usbipd.service
Bien, ahora configuremos un cliente:
Nota: La aplicación tiene un cliente para Windows, pero es una versión beta frágil sin controladores firmados ni soporte para Windows 10, por lo que realmente no vale la pena mencionarla.
1. Para instalar la misma aplicación para compartir USB sobre IP en Ubuntu, ejecuta estos comandos:
sudo -s
apt-get install linux-tools-generic -y
2. Habilita el módulo requerido:
modprobe vhci-hcd
echo 'vhci-hcd' >> /etc/modules
Ahora, para conectar el dispositivo compartido a esta máquina, ejecuta el comando:
sudo usbip attach -r 0.0.0.0
(escribe la dirección IP real de tu Raspberry Pi en lugar de 0.0.0.0)
O puedes crear un servicio systemd:
vi /lib/systemd/system/usbip.service
Con la definición (reemplaza N con un número de identificación USB real de tu dispositivo y 0.0.0.0 con la dirección IP de tu Raspberry):
[Unit]
Description=cliente usbip
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 '' | sed -E 's/^Port ([0-9][0-9]).*/\1/')"
[Install]
WantedBy=multi-user.target
Guarda, y luego ejecuta estos comandos para iniciar el servicio:
sudo systemctl --system daemon-reload
sudo systemctl enable usbip.service
sudo systemctl start usbip.service
Después de eso, deberías poder acceder al dispositivo compartido de forma remota. Si no es así, intenta nuevamente todos los pasos desde el principio.
¡Importante! Si desconectas un dispositivo USB de la Raspberry Pi mientras está compartido por este método, puede resultar en pérdida permanente de datos. Apaga primero tu Raspberry (después de apagarla, también puedes desconectar su adaptador de CA como precaución adicional).
Construir un hub inalámbrico de USB sobre IP con una Raspberry Pi es un ejercicio relativamente simple si tienes los siguientes dos componentes.
VirtualHere permite compartir dispositivos USB conectados en red. Es una solución que te permite conectar dispositivos USB remotos y usarlos como si estuvieran conectados directamente a tu máquina local. Un servidor VirtualHere te permite acceder de forma remota a dispositivos USB como escáneres, impresoras y cámaras web desde cualquier ubicación en tu red.
Puedes crear un hub para admitir USB sobre IP usando Raspberry Pi con los siguientes pasos.
$ wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm
$ chmod +x vhusbdarm
$ sudo ./vhusbdarm -b
Ver las opciones disponibles ejecutando este comando:
$ ./vhusbdarm -h
Cualquier tipo de dispositivo USB se puede conectar a la red con este método. El número de puertos abiertos es la única limitación en la cantidad de dispositivos que puedes conectar. También puedes agregar un concentrador USB físico para proporcionar más puertos USB y permitirte conectar dispositivos adicionales.
|
|
| ||||||
---|---|---|---|---|---|---|---|---|
Proxi-server |
Servidor de Redirección • no se necesita IP externa • comunicación multi-red • funciona a través del firewall |
N/A | N/A | |||||
| ||||||||
Firmware para microcontroladores | Raspberry (a pedido) | N/A | Raspberry | |||||
Seguridad |
Tokens de inicio de sesión para compartir cuentas de manera segura
Bloqueo para control de acceso de dispositivos
|
N/A | N/A | |||||
Cifrado | SSL de 2048 bits | SSL, no desde la GUI | SSL, para el programa | |||||
Estabilidad mejorada | Opción de mantener la conexión activa | N/A | N/A |
La decisión de qué método adoptar de los descritos en este artículo es completamente tuya. Sin embargo, podría ser más sabio optar por una herramienta fácil de usar con un historial de eficacia en lugar de arriesgar un tiempo de inactividad potencial, lo que podría generar un estrés considerable, pérdida de tiempo y gastos financieros. Elige lo que mejor funcione para ti.