WSL2 支持 lsusb 吗?

WSL2 支持 lsusb 吗?

我正在尝试lsusb使用 Ubuntu 20.04 在 wsl2 上运行命令,但没有显示任何输出

  • lsusb -V命令给出输出-lsusb (usbutils) 012
  • lsusb -t命令给出输出-/sys/bus/usb/devices: No such file or directory

答案1

现在,您可以使用usbipd它从 WSL 内部访问 USB 设备,请参阅官方文档

我仍然遇到问题,但正在朝着正确的方向发展。

答案2

WSL2 基本上是一个精简版的 Ubuntu Hyper-V VM,因此无法支持此类低级操作

答案3

目前不支持,但问题是在 WSL GitHub 存储库中被跟踪

答案4

@estani 提供了更新答案今天是正确的,但“完整”(我希望)答案是所有三个答案的组合,一些额外的信息。即便如此,我们还没有针对所有用例的完整解决方案。

目前,WSL2 仍然不直接支持连接到主机的 USB 硬件。它也不提供其他许多虚拟化产品中提供的任何虚拟化“直通”支持。

正如 @estani 指出的那样,现在微软已经在 WSL2 内核中添加了 USB/IP 支持,因此可以采取一些解决方法。实际上,在此之前这是可能的,但需要你使用该功能构建自己的内核。

升级到支持 USB/IP 的 WSL2 内核后,还需要安装usbipd-win在 Windows 主机本身上。这是一个第三方开源项目。它不是由 Microsoft 提供的,但他们明确支持它,并将其作为建议包含在 Microsoft 官方文档中。

usbipd-win提供与 WSL 的紧密集成,因此在 Windows 主机上(以管理员帐户)发出一个命令即可将 USB 绑定到两个都Windows 和 WSL 端。但是,也可以在传统的客户端/服务器两阶段方法中使用它。

一个巨大的警告是 WSL2 内核可能仍然不支持实际的设备您正在连接。例如,USB 摄像头需要额外的驱动程序(通常是 USB 视频类或 UVC)。即便如此,正如 @estani 提到的,仍存在未解决的问题。请参阅以下问题:

我对此的大部分研究都是在 Stack Overflow 上的第一个问题上进行的,但如果我们解决了一次,它将希望修复 OpenCV、Cheese、ffmpeg 等问题。

相关内容