服务端(小主机)

linux小主机安装usbip:

1
2
3
4
5
sudo apt install linux-tools-`uname -r`
sudo modprobe usbip-core
sudo modprobe vhci-hcd
sudo modprobe usbip-vudc
sudo modprobe usbip-host

启动守护程序:

1
sudo usbipd -D

可以将加载模块部分写入/etc/rc.local以达到开机自动加载的目的.

1
2
3
4
5
/sbin/modprobe usbip-core
/sbin/modprobe vhci-hcd
/sbin/modprobe usbip-vudc
/sbin/modprobe usbip-host
sudo usbipd -D

端口放行:

1
sudo ufw allow 3240

用lsusb命令查看当前系统下的USB端口详细信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
$ lsusb
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 203a:fffa Parallels Virtual Printer (EPSON L8160 Series)
Bus 001 Device 003: ID 203a:fffa Parallels Virtual Printer (Print to PDF (Mac Desktop))
Bus 001 Device 002: ID 203a:fffc Parallels Virtual Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 005: ID 248a:8327 Maxxter
Bus 002 Device 003: ID 2dc8:3109 Parallels Virtual USB1.1 HUB
Bus 002 Device 002: ID 203a:fffe Parallels Virtual USB1.1 HUB
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

不认识USB的话可以通过拔插USB接口来确定。
我这里的Maxxter是键鼠接收器
通过248a:8327这个ID用usbip list命令查找bus id:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sudo usbip list -l
- busid 2-2.2 (2dc8:3109)
unknown vendor : unknown product (2dc8:3109)

- busid 2-2.3 (248a:8327)
Maxxter : unknown product (248a:8327)

- busid 1-1 (203a:fffc)
unknown vendor : unknown product (203a:fffc)

- busid 1-2 (203a:fffa)
unknown vendor : unknown product (203a:fffa)

- busid 1-3 (203a:fffa)
unknown vendor : unknown product (203a:fffa)

分享设备:

1
2
sudo usbip bind -b 2-2.3
usbip: info: bind device on busid 2-2.3: complete

成功后设备将无法再在本机使用。

客户端(要重定向的电脑)

最开始使用的是开源项目usbip-win(https://github.com/cezanne/usbip-win),但是会蓝屏,改为了另外一个项目(https://github.com/vadimgrn/usbip-win2),带GUI的,attach比较方便。

更多内容请关注我的博客