Debian12 打印机共享方案-USBIP

一、环境准备

更新系统依赖

sudo apt update && sudo apt upgrade -y

二、安装 USBIP 核心组件

# 安装USBIP服务端+工具(核心)
sudo apt install -y usbipd usbutils

# 验证安装(显示版本即成功)
usbip --version

三、加载 / 配置 USBIP 内核模块(永久生效)

USBIP 依赖 3 个内核模块,需手动加载并配置开机自启:

1. 临时加载模块(立即生效,重启失效)

# 按依赖顺序加载(核心)
sudo modprobe usbip-core
sudo modprobe usbip-host authorized_default=1  # 授权接管USB设备
sudo modprobe vhci-hcd  # 虚拟USB控制器(客户端挂载依赖)

# 验证模块加载(显示3个模块即成功)
lsmod | grep -E "usbip|vhci"

2. 永久加载模块(重启不失效)

# 创建模块加载配置文件
sudo nano /etc/modprobe.d/usbip.conf

# 写入以下内容(授权+自动加载)
options usbip-host authorized_default=1
usbip-core
usbip-host
vhci-hcd

# 更新initramfs生效
sudo update-initramfs -u

四、配置 usbipd 服务(开机自启 + 端口监听)

# 1. 启动usbipd服务
sudo systemctl start usbipd

# 2. 设置开机自启
sudo systemctl enable usbipd

# 3. 验证服务状态(显示active (running)即成功)
sudo systemctl status usbipd

# 4. 验证3240端口监听(USBIP默认端口)
sudo ss -tulnp | grep 3240
正常输出:tcp LISTEN 0 4096 0.0.0.0:3240 0.0.0.0:* users:(("usbipd",pid=xxxx,fd=x))

五、绑定 USB 设备到 usbip-host(核心步骤)

1. 查找目标设备的 busid

# 列出所有可绑定的USB设备
usbip list -l

# 示例输出(找到目标设备,如富士施乐打印机):
#  - busid 1-4 (0550:0158)
#    Fuji Xerox Co., Ltd : unknown product (0550:0158)
记录目标设备的busid(如1-4)。

2. 绑定设备到 usbip-host

# 绑定目标设备(替换为实际busid)
sudo usbip bind -b 1-4

# 验证绑定成功(驱动链接指向usbip-host)
ls -l /sys/bus/usb/devices/1-4/driver
正常输出:lrwxrwxrwx 1 root root 0 ... driver -> ../../../../../bus/usb/drivers/usbip-host

六、验证 USBIP 配置成功

# 1. 验证设备绑定
usbip list -l | grep -A1 "1-4"  # 能看到目标设备
sudo usbip bind -b 1-4          # 提示"already bound"

# 2. 验证服务+端口
sudo systemctl status usbipd
sudo ss -tulnp | grep 3240

# 3. 服务器端查看挂载状态(客户端挂载后)
sudo usbip port

七、常用 USBIP 管理命令

# 解除设备绑定
sudo usbip unbind -b 1-4

# 查看已绑定设备
usbip list -l

# 重启usbipd服务
sudo systemctl restart usbipd

# 查看客户端挂载状态
sudo usbip port

# 手动执行自启脚本
sudo /usr/local/bin/usbip-auto-bind.sh

六、验证 USBIP 配置成功

windows 客户端

https://github.com/vadimgrn/usbip-win2