1.安装和设置usbipd
首先,确保你已经安装了usbipd和正确设置了WSL2环境。
安装usbipd
在Windows上,下载和安装usbipd。
2.列出和识别串口设备
在Windows PowerShell或命令提示符中以管理员身份运行一下命令:
usbipd list
能够看到类似这样的输出:
Connected:
BUSID VID:PID DEVICE STATE
1-1 1a86:7523 USB-SERIAL CH340 (COM5) Not shared
1-6 13d3:56f8 ov9734_azurewave_camera Not shared
1-7 27c6:5125 Goodix Fingerprint USB Device Not shared
1-10 8087:0026 英特尔(R) 无线 Bluetooth(R) Not shared
Persisted:
GUID DEVICE
这里需要记录共享串口设备的BUSID。
3.串口设备共享到WSL2
要共享串口设备共享到WSL2,需要使用命令:
usbipd bind --busid 1-1
再用usbipd list命令查看串口设备状态:
Connected:
BUSID VID:PID DEVICE STATE
1-1 1a86:7523 USB-SERIAL CH340 (COM5) Shared
1-6 13d3:56f8 ov9734_azurewave_camera Not shared
1-7 27c6:5125 Goodix Fingerprint USB Device Not shared
1-10 8087:0026 英特尔(R) 无线 Bluetooth(R) Not shared
Persisted:
GUID DEVICE
4.串口设备连接到WSL2
命令usbipd attach --wsl将 USB 设备连接到 WSL。
usbipd attach --wsl --busid 1-1
再用usbipd list命令查看串口设备状态:
Connected:
BUSID VID:PID DEVICE STATE
1-1 1a86:7523 USB-SERIAL CH340 (COM5) Attached
1-6 13d3:56f8 ov9734_azurewave_camera Not shared
1-7 27c6:5125 Goodix Fingerprint USB Device Not shared
1-10 8087:0026 英特尔(R) 无线 Bluetooth(R) Not shared
Persisted:
GUID DEVICE
只要设备连接到 WSL,Windows 就无法使用它。一旦连接到 WSL,您就可以在任何 WSL 2 发行版中使用该设备。
4.在WSL2中访问串口设备
串口设备连接到WSL2后,Windows上的串口设备将在WSL2中作为/dev/ttyUSBx设备使用。在WSL2上通过一下命令检查是否能够访问该设备:
ls /dev/ttyUSBx
你应该看到类似 /dev/ttyUSB0 的设备,表示你已经成功共享了 Windows 的串口设备。
5.使用串口设备
使用minicom、screen等工具访问该串口设备:
minicom -D /dev/ttyUSB0
6.断开串口设备连接
usbipd detach --busid 1-1
7.取消串口设备共享
usbipd unbind --busid 1-1