1、安装 USBIPD-WIN 项目
WSL 本身并不支持连接 USB 设备,因此你需要安装开源 usbipd-win 项目。
若要将 USBIPD 与适用于 Linux 的 Windows 子系统 (WSL) 配合使用,则需要具有 Linux 内核版本 5.10.60.1 或更高版本。 如果已安装的内核版本低于 5.10.60.1,则可以通过使用 wsl --shutdown
先关闭 WSL 的任何正在运行的实例,然后运行以下命令来更新它:wsl --update
。
- 转到 usbipd-win 项目的最新发布页。
- 选择 .msi 文件,该文件将下载安装程序
- 运行下载的 usbipd-win_x.msi 安装程序文件。
2、附加 USB 设备
在附加 USB 设备之前,请确保 WSL 命令行已打开。 这将使 WSL 2 轻型 VM 保持活动状态。
-
通过以管理员模式打开 PowerShell 并输入以下命令,列出所有连接到 Windows 的 USB 设备。 列出设备后,选择并复制要附加到 WSL 的设备总线 ID。
usbipd list
-
在附加 USB 设备之前,必须使用命令
usbipd bind
来共享设备,从而允许它附加到 WSL。 这需要管理员权限。 选择要在 WSL 中使用的设备总线 ID,然后运行以下命令。 运行命令后,请再次使用命令usbipd list
验证设备是否已共享。usbipd bind --busid 4-4
3. 若要附加 USB 设备,请运行以下命令。 (不再需要使用提升的管理员提示。)确保 WSL 命令提示符处于打开状态,以使 WSL 2 轻型 VM 保持活动状态。 请注意,只要 USB 设备 连到 WSL,Windows 将无法使用它。 附加到 WSL 后,任何作为 WSL 2 运行的分发版本 都可以使用 USB 设备。 使用 usbipd list
验证设备是否已附加。 在 WSL 提示符下,运 行 lsusb
以验证 USB 设备是否已列出,并且可以使用 Linux 工具与之交互。 `
usbipd attach --wsl --busid <busid>
4. 打开 Ubuntu(或首选的 WSL 命令行),使用以下命令列出附加的 USB 设备:
lsusb
root@LJG2021:~# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1a86:55d4 QinHeng Electronics USB Single Serial
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
5. USB设备链接到linux后,windows下就看不到USB设备了,在 WSL 中完成设备使用后,可物理断开 USB 设备,或者从 PowerShell 运行此命令:
usbipd detach --busid <busid>
3、使用串口
经过上述操作后,会在/dev目录下面生成对应的设备文件例如ttyUSB0 ttyACM0,然后就可以正常操作串口设备了。