LoongLee's blog

WSL USB设备连接

WSL USB设备连接

来源

原始文档: WSL Linux 连接USB设备.md

核心内容

在 WSL 2 中使用 USB 设备的完整配置指南。

Windows端安装 usbipd-win

# 使用 winget 安装
winget install --interactive --exact dorssel.usbipd-win

或从 GitHub Releases 下载安装。

WSL端安装 USB/IP 工具

sudo apt update
sudo apt install linux-tools-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20

连接USB设备

1. 查看可用设备(Windows):

usbipd list

输出示例:

BUSID  VID:PID    DEVICE                    STATE
1-1    046d:c52b  Logitech USB Input...     Not shared
2-3    0781:5583  SanDisk USB Device        Not shared

2. 共享设备:

usbipd bind --busid 1-1

3. 附加到 WSL:

usbipd attach --wsl --busid 1-1

4. 在 WSL 中验证:

lsusb

常用命令

# 查看状态
usbipd list

# 从 WSL 分离
usbipd detach --busid 1-1

# 取消共享
usbipd unbind --busid 1-1

自动连接脚本

# connect-usb.ps1
$busid = "1-1"  # 替换为你的设备 BUSID
usbipd attach --wsl --busid $busid

关键要点

  • 仅支持 WSL 2,不支持 WSL 1
  • Windows 端操作需要管理员权限
  • 设备断开后需要重新 attach
  • 某些设备需要在 WSL 中安装额外驱动

相关实体

  • WSL - Windows Linux 子系统
  • USB - 通用串行总线
  • usbipd - USB/IP 工具
  • 硬件 - 硬件设备