现在可以在Windows 10中设置整个USB访问链,并使用Docker假设Ubuntu在WSL2上。 1.确保你的WSL内核至少是5。10.60(可以在windows cmd行中使用wsl --status进行检查) 1.运行上述步骤on the Microsoft page 1.设置后,您应该看到设备带有lsusb(apt install usbutils)
lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0483:3748 STMicroelectronics ST-LINK/V2
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2条答案
按热度按时间xv8emn3q1#
2021年7月:截至目前,WSL 2不包括串行支持或USB设备支持。
2021年11月更新:相同的FAQ指出:
Skanda Hazarika报告:
∮ ∮ ∮ ∮
如果您是Windows Subsystem for Linux的活跃用户,并且希望直接从运行在WSL下的Linux示例访问USB设备,那么您将很高兴地知道在这方面已经取得了重大进展。
感谢微软对开源**dorssel/usbipd-win项目的贡献,您现在可以在WSL中享受USB passthrough访问。
这意味着最终用户可以在Linux的Windows子系统下执行诸如刷新Android设备之类的任务,否则Linux子系统不支持这些任务。
usbipd-win项目旨在创建一个解决方案,用于将本地连接的USB设备共享到其他机器,包括Hyper-V访客和WSL 2。然而,官方的WSL 2 Linux内核过去缺乏对USB/IP protocol**的支持,需要用户自己构建内核。
自WSL内核版本 www.example.com ,所需的参数是开箱即用配置的,因此不需要手动重新编译。
微软还为该项目提供了一个命令行界面,既可以在Windows上共享USB设备,也可以从WSL中无缝连接。
因此,如果您有:
然后,您的VSCode应该能够通过WSL访问安装的USB驱动器。
qij5mzcb2#
2023年4月:
现在可以在Windows 10中设置整个USB访问链,并使用Docker假设Ubuntu在WSL2上。
1.确保你的WSL内核至少是5。10.60(可以在windows cmd行中使用
wsl --status
进行检查)1.运行上述步骤on the Microsoft page
1.设置后,您应该看到设备带有
lsusb
(apt install usbutils
)1.这是可能的,你仍然没有看到它在
/dev
。在这种情况下,您需要在/etc/udev/rules.d
中创建一个99-platformio-udev.rules
文件,并添加您的usb设备的定义。请参阅github页面以获取可能也包含您所选设备的列表。1.在此之后,您可能需要重新加载udev配置。注意:我发现我的设备实际上在
/dev/bus/usb...
下,而不是/dev/ttyUSB
1.最后将
"--device=/dev/..."
添加到.devcontainer
文件runArgs部分或docker run ...
命令中。确保您在容器中拥有root权限。(以root
登录或使用--privileged
登录)