Poder compartilhar um dispositivo USB pela rede pode ser muito benéfico em muitas situações do dia-a-dia. Digamos que você tenha um dongle de licença para o software que todos em seu escritório precisam usar. E a cada dia esse dongle é conectado e retirado mais vezes do que qualquer um pode contar e há boas chances de que em algum momento ele simplesmente se despedace. Claro, as coisas não podem continuar assim para sempre, mas comprar a licença de cada um está fora do seu orçamento. Deve haver outra maneira de contornar isso, certo?
Bem, como você deve ter ouvido, você pode compartilhar um dispositivo conectado a USB sobre TCP / IP com um Raspberry Pi. Para fazer isso, você obterá um software para fins especiais. E a questão principal aqui é: qual você deve escolher? Um aplicativo pago infalível ou uma solução de código aberto gratuita, mas com falhas? Vamos dar uma olhada em ambos.
dpkg -i [package]
apt-get install -f
rpm -i [package]
yum install [package]
É isso!
Depois disso, você poderá acessar o dispositivo compartilhado de qualquer máquina conectada à Internet, independentemente do sistema operacional dessa máquina remota (funciona para Linux, Windows e Mac) ou da distância física até ela. Você nem precisa carregar o módulo do kernel para iniciar o USB Network Gate em uma máquina Linux. Além disso, o aplicativo pode ser usado em máquinas virtuais VMware, VMware ESX Server, Citrix XenServer e Microsoft Hyper-V. Este método funciona para dispositivos USB de todos os tipos e marcas. Todo o compartilhamento/cancelamento do dispositivo entra em vigor imediatamente, sem a necessidade de reinicialização do sistema.
Todas as conexões estabelecidas com USB Network Gate são totalmente seguras graças à criptografia SSL avançada de 2048 bits. Além disso, você pode definir uma senha de autorização para proteção extra. Portanto, não há absolutamente nenhuma chance de qualquer um dos seus dados cair nas mãos erradas.
A melhor coisa sobre optar pelo USB Network Gate é que você realmente não precisa transformar permanentemente seu Raspberry Pi em um servidor USB sobre IP. É uma solução multiplataforma excelente para compartilhar dispositivos USB de qualquer máquina que você tenha, além disso, não há limite quanto ao número de dispositivos compartilhados.
Este método é, em sua essência, a mesma maneira de compartilhar USB sobre IP no Ubuntu, só que desta vez usaremos um aplicativo diferente. Lembre-se de que é um software de código aberto baseado em Linux que ainda está em desenvolvimento. Certifique-se de que você está pronto para um processo de configuração tecnicamente desafiador e não desanime se perder a primeira tentativa.
Outros pontos importantes a serem observados antes de começarmos:
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
Observação: a versão cliente do aplicativo para Windows é uma beta sem suporte para Windows 10. portanto, não a consideraremos aqui.
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
Ou crie um serviço 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
Não se esqueça de substituir N por um número de ID USB real do seu dispositivo e 0.0.0.0 pelo endereço IP do seu Raspberry.
Salve o serviço e execute estes comandos para iniciá-lo:
sudo systemctl --system daemon-reload
sudo systemctl enable usbip.service
sudo systemctl start usbip.service
Se você ainda não conseguir acessar o dispositivo compartilhado da máquina cliente, comece novamente a partir da etapa 1 do guia de configuração do servidor.
Importante! NÃO desconecte dispositivos USB do Raspberry Pi enquanto ele estiver sendo compartilhado por este método. Desligue o Raspberry primeiro para evitar a perda de dados e / ou salvar o dispositivo de ser danificado.
Limitação de distância
|
Limitação de distância
|
Nenhum
|
Área de cobertura da LAN
|
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 |
Otimização de tráfego
|
Otimização de tráfego
|
Criptografia opcional |
N/A |
Segurança
|
Segurança
|
Senha |
N/A |
Encriptação
|
Encriptação
|
SSL de 2048 bits |
N/A |
Conectividade sem fio
|
Conectividade sem fio
|
Sim |
N/A |
Registro de atividade
|
Registro de atividade
|
Sim |
N/A |
Seja qual for o método que você escolher, lembre-se de que uma opção gratuita nem sempre é a melhor. e o que parece ser uma economia no início pode acabar sendo uma perda mais tarde. Nove em cada dez vezes é muito mais recompensador investir em um aplicativo testado e comprovado que será fácil de usar e não causará nenhum problema do que colocar toda a sua operação em risco e travar as escotilhas esperando a próxima falha de sua ferramenta gratuita.