![WSL2 支持 lsusb 吗?](https://linux22.com/image/933195/WSL2%20%E6%94%AF%E6%8C%81%20lsusb%20%E5%90%97%EF%BC%9F.png)
我正在尝试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 提到的,仍存在未解决的问题。请参阅以下问题:
- 堆栈溢出:WSL-网络摄像头 USB:无法通过索引打开摄像头
- 询问 Ubuntu:在 WSL2 中使用 OpenCV 捕获网络摄像头视频
- 询问 Ubuntu:WSL2 中的 Cheese 相机无法使用
我对此的大部分研究都是在 Stack Overflow 上的第一个问题上进行的,但如果我们解决了一次,它将希望修复 OpenCV、Cheese、ffmpeg 等问题。