WSL2下的usb串口设备使用

最近在玩WSL2发现挺不错,于是就想把工作转移到里面来,可是,由于博主是做嵌入式的,而WSL2又不像WSL1支持串口,在这可能有人要问为什么不用WSL1,原因是WSL1实在效率太慢的,对于博主急性子来说,明显是忍受不了的,于是,文章就来了。博主这里是参考了微软官方文档来操作的,有兴趣的小伙伴、也可以去看看官方的文档,链接:WSL2连接USB

WSL2使用window的usb设备分为可两步

1、环境配置

windows配置
1、下载 usbipd-win_2.3.0(本人使用版本),如果觉得下载链接慢也可以使用博主上传的 usbipd-win免积分下载
2、下载完成点击安装即可

WSL2的Ubuntu配置
1、下载工具包

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

2、进行设备连接

先运行windows PowerShell(管理员),然后在终端下输入以下内容:

usbipd wsl list #列出所有的已经连接到windows的usb设备
usbipd wsl attach --busid 设备的busid号 #讲usb设备连接到WSL2下的Ubuntu

#usbipd wsl list的现象
#PS C:\Users\Admin> usbipd wsl list
#BUSID  VID:PID    DEVICE                                                        STATE
#1-4    13d3:5415  Integrated Camera                                             Not attached
#2-2    046d:c52f  USB 输入设备                                                  Not attached
#3-3    06cb:00bd  Synaptics UWP WBDI                                            Not attached
#3-4    8087:0029  英特尔(R) 无线 Bluetooth(R)                                   Not attached
#5-3    1a86:7523  USB-SERIAL CH340 (COM5)                                       Attached

#以下其他命令,看需要使用
usbipd wsl detach --busid 设备的busid号  #断开usb设备的连接和直接拔出一个效果
lsusb #在Ubuntu下使用,作用:列出当前连接的usb设备
usbipd wsl list #在Windows下使用,作用:和lusb一致

到此操作已经完成

备注:
当设备断开之后如何重新连接,操作方式如下两种:
1、见以上2、
2、在Ubuntu下进行如下操作即可:

usbip list -r $HOSTNAME.local #用于查看已经usbip连接过的设备
sudo usbip attach -r $HOSTNAME.local -b 设备的busid号 #进行设备连接
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐