usbip
架构
usbip 架构
注
usbip
在 linux
系统中默认集成到 Linux-3.17
主线上
电脑主机做服务器
# 安装 usbip 软件
$ sudo apt-get install usbip
# 使能 usbip 驱动模块
sudo modprobe usbip-core usbip-host usbip-vudc
# 查看模块状态,也可添加到:/etc/modules 每次开机自启
$ lsmod | grep usbip
# 查看电脑主机上的usb设备
$ usbip list -l
- busid 1-4 (046d:c52b)
Logitech, Inc. : Unifying Receiver (046d:c52b)
- busid 1-6 (5986:2113)
Acer, Inc : unknown product (5986:2113)
- busid 1-8 (06cb:00a2)
Synaptics, Inc. : unknown product (06cb:00a2)
# 启动服务,
$ usbipd -D &
# 把usb设备添加到usbip中去:可以添加多个
# 1-4就是上面的编号,无线usb鼠标
$ usbip bind -b 1-4
# 解除绑定usb设备
$ sudo usbip unbind -b 1-4
树莓派作为客户端
# 安装usbip软件
$ sudo apt-get install usbip
# 启动 vhci_hcd 模块
# 也就是:USB Virtual Host Controller Interface
$ sudo modprobe vhci_hcd
# 查看 vhci_hcd 模块,也可添加到:/etc/modules 每次开机自启
$ lsmod | grep vhci_hcd
# 查看远端服务器电脑主机上的usb设备
$ usbip list -r 192.168.1.1
Exportable USB devices
======================
- 192.168.1.1
1-4: Logitech, Inc. : Unifying Receiver (046d:c52b)
: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-4
: (Defined at Interface level) (00/00/00)
# 将远端服务器电脑主机上的usb设备添加到本地
$ usbip attach -r 192.168.1.1 -b 1-4
# 可以查看到本地已经添加上无线鼠标了
$ lsusb
# 解除远程usb设备
$ usbip port
# 端口号根据上面的查到
$ usbip detach -p 0
注
usbip
模块命令参数:
usage: usbip [--debug] [--log] [--tcp-port PORT] [version]
[help] <command> <args>
attach Attach a remote USB device #客户端添加远程usb设备
detach Detach a remote USB device #客户端解除远程usb设备
list List exportable or local USB devices #客户端远端usb设备、服务器端查看本地usb设备
bind Bind device to usbip-host.ko #服务器端添加(绑定)本地usb设备到usbip
unbind Unbind device from usbip-host.ko #服务器端从usbip中解除(解绑)本地usb设备
port Show imported USB devices #客户端已添加的远端usb设备
网友评论