我有一个路由器,可以连接打印机进行无线打印。看来 Windows 软件使用了使用 TCP 的虚拟 USB 总线。这使打印机看起来就像是直接插入计算机一样。
是否可以在 Ubuntu 上使用 TCP 创建虚拟 USB 总线,或者这是路由器和 Windows 软件使用的自定义协议?
小智 4
这可能是您的路由器和制造商设计的软件使用的自定义/专有协议。
然而,USB over IP 是一个东西,它可以在 Ubuntu 上使用。假设您的路由器使用标准 USB over IP,而不是自定义协议,此页面(对于通过 google 找到此内容的任何人在下面进行解释)应该可以帮助您进行设置。
安装usbip
sudo apt-get install usbip
加载vhci-hcd内核模块
modprobe vhci-hcd
检查是否真的加载完毕
lsmod | grep vhci_hcd
(你的输出应该类似于下面)
root@client1:~# lsmod | grep vhci_hcd
vhci_hcd 19800 0
usbip_common_mod 13605 1 vhci_hcd
root@client1:~#
Run Code Online (Sandbox Code Playgroud)(可选)添加启动时加载的模块
sudo echo vhci-hcd >> /etc/modules
连接到服务器(您的路由器)并获取设备列表。
usbip -l serverip
替换serverip
为您的路由器的 IP 地址。
输出示例:
root@client1:~# usbip -l 192.168.0.100
- 192.168.0.100
1-1: SanDisk Corp. : Cruzer Micro Flash Drive (0781:5151)
: /sys/devices/pci0000:00/0000:00:07.2/usb1/1-1
: (Defined at Interface level) (00/00/00)
: 0 - Mass Storage / SCSI / Bulk (Zip) (08/06/50)
Run Code Online (Sandbox Code Playgroud)
记下您要使用的 USB 设备的名称(本例中为 1-1)。
将远程设备连接到本地计算机。
usbip -a serverip designation
Run Code Online (Sandbox Code Playgroud)
例如
usbip -a 192.168.12.34 1-1
Run Code Online (Sandbox Code Playgroud)
远程设备现在应该本地连接到您的计算机。lsusb
如果从终端执行,您应该会看到它列出。
归档时间: |
|
查看次数: |
2175 次 |
最近记录: |