本文参考资料:连接 USB 设备 | Microsoft Docsicon-default.png?t=M1L8https://docs.microsoft.com/zh-cn/windows/wsl/connect-usb

 参考视频:https://www.youtube.com/watch?reload=9&v=I2jOuLU4o8Eicon-default.png?t=M1L8https://www.youtube.com/watch?reload=9&v=I2jOuLU4o8E

先决条件

  • 运行 Windows 11(内部版本 22000 或更高版本)。 (可提供 Windows 10 支持,请参见下面的注释)
  • Linux 发行版已安装并设置为WSL2。
  • 运行Linux内核5.10.60.1或更高版本 。

一、安装 USBIPD-WIN 项目

WSL 本身并不支持连接 USB 设备,因此你需要安装开源 usbipd-win 项目。

  1. 转到 :

发布 ·dorssel/usbipd-win ·GitHubicon-default.png?t=M1L8https://github.com/dorssel/usbipd-win/releases        2.选择 .msi 文件,该文件将下载安装程序。 (你可能会收到一条警告,要求你确认你信任此下载)。

        3.运行下载的 usbipd-win_x.msi 安装程序文件。

二、在 Linux 中安装 USBIP 工具和硬件数据库

        USB/IP 项目完成安装后,需要安装用户空间工具和 USB 硬件标识符数据库。

在 Ubuntu 上运行以下命令:

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

三、 附加 USB 设备

        在附加 USB 设备之前,请确保 WSL 命令行已打开。 这将使 WSL 2 轻型 VM 保持活动状态。

1、通过以管理员模式打开 PowerShell 并输入以下命令,列出所有连接到 Windows 的 USB 设备:(powershell中输入)

usbipd wsl list

2、选择要附加到 WSL 的设备总线 ID,然后运行此命令。 WSL 会提示你输入密码以运行 sudo 命令。 要附加的 Linux 发行版必须是默认分发版。 (参阅 comands FOR WSL Doc Basic ,以更改默认分发) 。用实际的busid代替<busid>:

usbipd wsl attach --busid <busid>

3、打开 Ubuntu(或首选的 WSL 命令行),使用以下命令列出附加的 USB 设备:

lsusb

你应会看到刚刚附加的设备,并且能够使用常规 Linux 工具与之交互。 根据你的应用程序,你可能需要配置 udev 规则以允许非根用户访问设备。

4、在 WSL 中完成设备使用后,可物理断开 USB 设备,或者在管理员模式下从 PowerShell 运行此命令:

usbipd wsl detach -b <busid>

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐