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

Como compartilhar USB sobre Ethernet com Raspberry Pi

Conforme a operação remota se torna cada vez mais popular, você inevitavelmente se deparará com a situação de trabalho quando precisará apenas usar algum tipo de extensor USB universal ou encontrar outra maneira de compartilhar um USB sobre Ethernet que funcione com todos os sistemas operacionais populares e Periféricos USB.

FlexiHub


Windows, macOS, Linux, Android 4.8 Classificação baseado em 386+ Comentários
Compartilhar serial sobre IP
Por exemplo, se você tem uma equipe inteira usando algum software licenciado caro que não inicia sem dongles USB. Ninguém quer gastar uma fortuna em licenças individuais para cada funcionário ou apostar em perder ou danificar os dongles, pois eles serão carregados pelo escritório e conectados a máquinas diferentes o dia todo.

Como você já deve saber, existe uma maneira de configurar o Raspberry Pi como um servidor USB sobre Ethernet. Bem, na verdade, não há um, mas dois caminhos que você pode seguir aqui: um caminho fácil com o aplicativo pago cem por cento eficiente ou uma jornada acidentada com uma solução de código aberto e seu processo de configuração complicado. E estamos prestes a dar uma olhada em ambos.

Compartilhamento USB rápido e seguro do Raspberry Pi com FlexiHub

Com a ferramenta de software extensor USB certa, compartilhar USB sobre IP de um Raspberry Pi é menos do que simples e você não terá que comprar cabos de extensão, dispositivos extras ou gastar quilômetros de cabo LAN CAT6 ou mesmo usar um USB para o adaptador RS32.

Como compartilhar USB sobre IP de um Raspberry Pi
1
Registre uma conta FlexiHub aqui e inicie um período de demonstração gratuita.
 registre uma conta FlexiHub
2
Baixe e instale o aplicativo no computador servidor;
 baixe e instale o aplicativo
3
No terminal do Raspberry, execute o seguinte comando: yum install [package];
4
Inicie o aplicativo e clique em “Compartilhar” ao lado do seu dispositivo USB.

É isso!

A partir desse ponto, o dispositivo USB compartilhado poderá ser acessado remotamente de todos os computadores com FlexiHub instalado e conexão à Internet, independentemente dos sistemas operacionais ou distâncias físicas. Graças ao servidor Redirection USB exclusivo, o aplicativo é realmente uma solução universal que funciona através de todos os firewalls e não requer endereços IP públicos. Você pode até usar este método para compartilhar um hub USB de forma que qualquer periférico conectado a ele fique instantaneamente disponível para conexões remotas.

FlexiHub

Windows, macOS, Linux, Android
4.8 Classificação baseado em 386+ Comentários
Além disso, o FlexiHub tem um recurso opcional de compressão de tráfego que é muito útil quando se trata de compartilhar periféricos USB sensíveis à largura de banda, como impressoras USB ou webcams, para que você não precise de uma conexão de alta velocidade de 100 Mbps com a Internet para fazê-los funcionar . E uma criptografia SSL de 2048 bits à prova de balas para evitar completamente o acesso indesejado às suas câmeras de segurança, dongles USB ou quaisquer dados passados com o aplicativo.
FlexiHub

E a cereja do bolo é que, para compartilhar USB com Ethernet, você realmente não precisa transformar permanentemente seu Raspberry Pi em um servidor USB. Você pode compartilhar dongles, webcams, impressoras e outros periféricos conectados às portas USB de todos os computadores com FlexiHub instalado, incluindo seu tablet Android, e nunca ter problemas com conectividade de plataforma cruzada. Em uma máquina Windows, você pode até mesmo compartilhar um periférico baseado em COM. Quão incrível é isso? E, para maior comodidade, você terá a oportunidade de desfrutar da conectividade sem fio acessando dispositivos compartilhados via Wi-Fi. Tanto tempo para todos aqueles cabos CAT6 espalhados pelo escritório.

Uma maneira gratuita de configurar um Raspberry Pi como um servidor USB sobre IP

Em princípio, esse método é semelhante ao que acabamos de descrever, mas por meio de um aplicativo de extensão USB para Ethernet diferente. E dado que desta vez usaremos uma solução de código aberto que ainda está em desenvolvimento, o processo de configuração requer um nível decente de competência técnica para ser executado, então, se você não tiver nenhuma, não se surpreenda se não funcionará na primeira tentativa.

Aqui estão alguns pontos mais importantes que você precisa considerar antes de optar por este método:

  • Funciona apenas para compartilhar dispositivos USB em sua LAN.
  • Não é possível compartilhar um dispositivo de uma máquina não Linux.
  • Este método de compartilhamento não funciona para um hub USB.
  • É altamente recomendável ter pelo menos uma conexão de 100 Mbps.
  • Quanto maior a distância do dispositivo compartilhado, pior é a conexão.
  • Sem proteção contra acesso não autorizado.
  • Sem compressão de tráfego, portanto, uma imagem de câmeras remotas pode demorar muito.

Vamos começar configurando seu Raspberry Pi como um servidor:

1
Instale o aplicativo usando este comando: sudo apt install usbip
2
Assim que a instalação for concluída, adicione o módulo do kernel de que precisaremos inserindo:
sudo modprobe usbip_host
echo 'usbip_host' >> /etc/modules
3
Agora, use o lsusb command para ver uma lista de todos os dispositivos USB fisicamente conectados ao Raspberry Pi e lembre-se (ou anote) o número de ID USB de 8 dígitos de um dispositivo que você vai compartilhar .
4
Use o comando usbip list -p -l para descobrir a ID de barramento do seu dispositivo (use o número de ID USB de uma etapa anterior para identificar o dispositivo certo na lista). Anote esse número.
5
Execute o comando:
sudo usbip bind --busid=N
(N é o número de identificação do barramento da etapa anterior)
6
Execute o demônio para conectar o dispositivo ao USB/IP executando o comando: usbipd

Como alternativa, você pode criar um serviço systemd:

vi /lib/systemd/system/usbipd.service

com a seguinte definição (não se esqueça de alterar o N para um número de ID USB real do seu 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 então você precisará executar estes comandos para iniciar esse serviço:

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

Ok, agora vamos configurar um cliente:

Observação: o aplicativo tem um cliente para Windows, mas é uma versão beta frágil, sem drivers assinados ou qualquer suporte para Windows 10, portanto, não vale a pena mencionar.

1. Para instalar o mesmo aplicativo para compartilhar USB sobre IP no Ubuntu, execute estes comandos:
sudo -s
apt-get install linux-tools-generic -y

2. Habilite o módulo necessário:
modprobe vhci-hcd
echo 'vhci-hcd' >> /etc/modules

Agora, para conectar o dispositivo compartilhado a esta máquina, execute o comando: sudo usbip attach -r 0.0.0.0
(digite o endereço IP real do seu Raspberry Pi em vez de 0.0.0.0)

Ou você pode criar um serviço systemd:
vi /lib/systemd/system/usbip.service

Com a definição (substitua N por um número de ID USB real do seu dispositivo e 0.0.0.0 pelo endereço IP do seu 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

Salve e execute estes comandos para iniciar o serviço:

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

Depois disso, você deve conseguir acessar o dispositivo compartilhado remotamente. Caso contrário, tente todas as etapas novamente desde o início.

Importante! Se você desconectar um dispositivo USB do Raspberry Pi enquanto ele é compartilhado por este método, pode resultar em perda permanente de dados. Desligue o Raspberry primeiro (depois de desligado, você também pode desconectar o adaptador CA para precauções extras).

Compartilhamento USB com FlexiHub
Período de avaliação de 30 dias

Uma tabela para comparação entre os dois métodos:

Servidor proxy
Servidor proxy
Servidor de Redirecionamento
• sem necessidade de IP externo
• comunicação multi-rede
• funciona através do Firewall
N/A
Plataformas suportadas:
Plataformas suportadas:
Lado do servidor
Lado do servidor
✓ Windows
✓ Linux
✓ macOS
✓ Android
✓ Linux
Do lado do cliente
Do lado do cliente
✓ Windows
✓ Linux
✓ macOS
✓ Windows (beta)
✓ Linux
Firmware para microcontroladores
Firmware para microcontroladores
Raspberry (a pedido)
N/A
Segurança
Segurança
Tokens de login para compartilhamento seguro da conta
Bloquear para controle de acesso ao dispositivo
N/A
Encriptação
Encriptação
2048-bit SSL
N/A
Estabilidade aprimorada
Estabilidade aprimorada
Manter a conexão ativa opção
N/A

Discurso de encerramento

Com certeza, depende totalmente de você decidir qual dos dois métodos descritos neste artigo você vai adotar. Mas não seria melhor investir em uma ferramenta fácil de manusear com eficiência comprovada do que confiar em algo que pode falhar a qualquer momento e causar quem sabe quanto nervosismo, tempo e dinheiro devido ao tempo de inatividade não planejado.


Melhor escolha
FlexiHub
  • 4.8 overall rank baseado em 386+ Comentários
  • Windows, macOS, Linux, Android e Raspberry Pi. 10.4MB Tamanho.
  • Versão 6.0.14865. (31/05/2023).