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.

Cómo compartir USB a través de Ethernet con Raspberry Pi

En muchas situaciones, es muy deseable tener la oportunidad de compartir un periférico USB a través de la red. Por un lado, si tiene todo un equipo que utiliza algún software con licencia costoso protegido con una llave de seguridad USB. Nadie quiere gastar una fortuna en licencias individuales para cada empleado o apostar a perder o dañar dicha llave, ya que la llevarán por la oficina conectada a diferentes máquinas durante todo el día.

FlexiHub


Windows, macOS, Linux, Android
4.8 Rank basado en 78+ usuarios
Compartir serie a través de IP
Como ya sabrá, existe una forma de configurar su Raspberry Pi como un servidor USB a través de Ethernet. Bueno, en realidad, no hay uno, sino dos caminos que puede tomar aquí: un camino fácil con la aplicación paga cien por cien eficiente o un viaje lleno de baches con una solución de código abierto y su complicado proceso de configuración. Y estamos a punto de echar un vistazo a ambos.

Uso compartido rápido y seguro de USB desde Raspberry Pi con FlexiHub

Con la herramienta de software adecuada,, compartir USB sobre IP desde una Raspberry Pi es menos que simple:
1
Descargue la versión de Linux;
2
En la terminal de tu Raspberry, ejecuta el siguiente comando: yum install [package];
3
Inicie la aplicación y haga clic en "Compartir" junto a su dispositivo.

¡Eso es todo!

A partir de ese momento, el dispositivo compartido será accesible de forma remota desde cualquier máquina Linux, Windows o Mac con FlexiHub instalado y conexión a Internet, sin importar la distancia física. Gracias al servidor de redirección USB único, la aplicación es realmente una solución de internetwork que funciona a través de todos los firewalls y no requiere direcciones IP públicas.

FlexiHub

Windows, macOS, Linux, Android
4.8 Rank basado en 78+ usuarios
Además de eso, FlexiHub tiene una función de compresión de tráfico opcional que es muy útil cuando se trata de compartir dispositivos USB sensibles al ancho de banda, como cámaras USB, y un cifrado SSL de 2048 bits a prueba de balas para evitar por completo el acceso no deseado a sus dongles de seguridad o cualquier dato. pasó con la aplicación.
FlexiHub

Y la guinda de este pastel es que realmente no es necesario convertir permanentemente su Raspberry Pi en un servidor USB sobre IP. Puede compartir dispositivos USB desde cualquier máquina con FlexiHub instalado, incluida su tableta Android, y nunca tendrá problemas con la conectividad multiplataforma. Desde una máquina con Windows, incluso puede compartir un periférico basado en COM. ¿Qué tan asombroso es eso? Y, para mayor comodidad, tendrá la oportunidad de disfrutar de la conectividad inalámbrica accediendo a dispositivos compartidos a través de Wi-Fi.

Una forma gratuita de configurar una Raspberry Pi como servidor USB sobre IP

En principio, este método es similar al que acabamos de describir, pero a través de la agencia de una aplicación diferente. Y dado que esta vez usaremos una solución de código abierto que aún está en desarrollo, el proceso de configuración requiere un nivel decente de competencia técnica para realizarlo, así que si no tiene ninguno, no se sorprenda si no funcionará a la primera.

Aquí hay algunos puntos más importantes que debe considerar antes de optar por este método.:

  • Solo funciona para compartir dispositivos USB en su red local.
  • No se puede compartir un dispositivo de una máquina que no es Linux.
  • Cuanto mayor sea la distancia al dispositivo compartido, peor será la conexión.
  • Sin protección para el acceso no autorizado.
  • Sin compresión de tráfico, por lo que una imagen de una cámara remota puede demorarse mucho.

Comencemos configurando su Raspberry Pi como servidor:

1
Instale la aplicación usando este comando: sudo apt install usbip
2
Una vez que se complete la instalación, agregue el módulo del kernel que necesitaremos ingresando:
sudo modprobe usbip_host
echo 'usbip_host' >> /etc/modules
3
Ahora, use el lsusb command para ver una lista de todos los dispositivos USB conectados físicamente a su Raspberry Pi y recuerde (o anote) el número de identificación USB de 8 dígitos de un dispositivo que va a compartir .
4
Utilice el comando usbip list -p -l para averiguar el ID de bus de su dispositivo (utilice el número de ID de USB de un paso anterior para identificar el dispositivo correcto en la lista). Anote ese número.
5
Ejecute el comando:
sudo usbip bind --busid=N
(N es el número de identificación del bus del paso anterior)
6
Ejecute el demonio para conectar el dispositivo al USB/IP ejecutando el comando: usbipd

Alternativamente, puede crear un servicio systemd:

vi /lib/systemd/system/usbipd.service

con la siguiente definición (no olvide cambiar la N por un número de identificación USB real de su 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



Y luego deberá ejecutar estos comandos para iniciar ese servicio:

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

Ok, ahora configuremos un cliente:

Nota: La aplicación tiene un cliente para Windows, pero es una versión beta endeble 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, ejecute estos comandos:
sudo -s
apt-get install linux-tools-generic -y

2. Habilite el módulo requerido:
modprobe vhci-hcd
echo 'vhci-hcd' >> /etc/modules

Ahora, para conectar el dispositivo compartido a esta máquina, ejecute el comando: sudo usbip attach -r 0.0.0.0
(escriba la dirección IP real de su Raspberry Pi en lugar de 0.0.0.0)

O puede crear un servicio systemd:
vi /lib/systemd/system/usbip.service

Con la definición (reemplace 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):

[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 

Guarde y luego ejecute 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ía poder acceder al dispositivo compartido de forma remota. Si no es así, vuelva a intentar todos los pasos desde el principio.

Importante! Si desconecta un dispositivo USB de la Raspberry Pi mientras está compartido por este método, puede resultar en una pérdida permanente de datos. Primero apaga tu Raspberry.

Compartir USB con FlexiHub
Período de demostración de 30 días

Una tabla de comparación entre los dos métodos:

Servidor proxy
Servidor proxy
Servidor de redireccionamiento
• sin necesidad de IP externa
• comunicación multi-red
• funciona a través del cortafuegos
 
N/A
 
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
 
Firmware para microcontroladores
Firmware para microcontroladores
Raspberry (a petición)
 
N/A
 
Seguridad
Seguridad
Tokens de inicio de sesión para compartir cuentas de forma segura
Bloquear para el control de acceso del dispositivo
 
N/A
 
Cifrado
Cifrado
2048-bit SSL
 
N/A
 
Estabilidad mejorada
Estabilidad mejorada
Opción de mantener la conexión activa
 
N/A
 

Palabras de clausura

Por supuesto, depende totalmente de usted decidir cuál de los dos métodos descritos en este artículo va a utilizar. Pero, ¿no sería mejor invertir en una herramienta fácil de manejar con eficacia probada que confiar en algo que puede fallar en cualquier momento y causarle quién sabe cuántos nervios, tiempo y dinero debido a un tiempo de inactividad no planificado?


Mejor opción

FlexiHub

  • Rank 4.8 basado en 78+ usuarios
  • Windows 7/8/10, Server 2008 R2/2012/2016/2019. 6.99MB Size.
  • Versión 4.5.13261. (09/03/2021).