建网站 视频的网址,运营计划方案怎么写,网站页面设计公司,用wordpress建医疗网站1. 简介
WSL1中可以直接使用Windows的串口#xff0c;其对应关系就是COMx对应WSL的/dev/ttySx#xff0c;例如COM2对应WSL的/dev/ttyS2。WSL2是不支持USB设备的#xff0c;但可以通过usbipd-win程序将windows上的usb设备映射到wsl2中#xff0c;参考微软官方文档连接 USB …1. 简介
WSL1中可以直接使用Windows的串口其对应关系就是COMx对应WSL的/dev/ttySx例如COM2对应WSL的/dev/ttyS2。WSL2是不支持USB设备的但可以通过usbipd-win程序将windows上的usb设备映射到wsl2中参考微软官方文档连接 USB 设备。
2. usbipd安装和使用
前往https://github.com/dorssel/usbipd-win/releases下载usbipd-win.msi程序我下载的是usbipd-win_4.3.0.msi大概4.55MB。双击进行安装安装后以管理员身份打开命令行终端。
# 列出所有外接usb设备
PS C:\Users\xflm usbipd list
Connected:
BUSID VID:PID DEVICE STATE
3-2 0a12:0001 Generic Bluetooth Radio Not shared
3-4 1ea7:0064 USB 输入设备 Not shared
4-1 1a86:7523 USB-SERIAL CH340 (COM5) Not shared
4-5 1c4f:0002 USB 输入设备 Not sharedPersisted:
GUID DEVICE
# 选择要允许共享的USB设备该步骤需要管理员权限此时windows仍可以使用该USB设备
PS C:\Users\xflm usbipd bind --busid 4-1
# 再次查看即可看到选择的设备已允许共享
PS C:\Users\xflm usbipd list
Connected:
BUSID VID:PID DEVICE STATE
3-2 0a12:0001 Generic Bluetooth Radio Not shared
3-4 1ea7:0064 USB 输入设备 Not shared
4-1 1a86:7523 USB-SERIAL CH340 (COM5) Shared
4-5 1c4f:0002 USB 输入设备 Not sharedPersisted:
GUID DEVICE
# 此时需确保wsl的终端在打开着该步骤不再需要管理员权限此时windows将弹出该USB设备并挂载到wsl中也即windows不能再使用该设备
PS C:\Users\xflm usbipd.exe attach --wsl --busid 4-1
usbipd: info: Using WSL distribution Ubuntu-24.04 to attach; the device will be available in all WSL 2 distributions.
usbipd: info: Using IP address 172.18.32.1 to reach the host.
# 再次查看即可看到选择的设备已被映射
PS C:\Users\xflm usbipd list
Connected:
BUSID VID:PID DEVICE STATE
3-2 0a12:0001 Generic Bluetooth Radio Not shared
3-4 1ea7:0064 USB 输入设备 Not shared
4-1 1a86:7523 USB-SERIAL CH340 (COM5) Attached
4-5 1c4f:0002 USB 输入设备 Not sharedPersisted:
GUID DEVICE
# 当不需要映射时执行以下命令USB设备将从wsl中弹出并重新挂载到windows中
PS C:\Users\xflm usbipd.exe detach --busid 4-1
# # 再次查看即可看到选择的设备已取消映射
PS C:\Users\xflm usbipd list
Connected:
BUSID VID:PID DEVICE STATE
3-2 0a12:0001 Generic Bluetooth Radio Not shared
3-4 1ea7:0064 USB 输入设备 Not shared
4-1 1a86:7523 USB-SERIAL CH340 (COM5) Shared
4-5 1c4f:0002 USB 输入设备 Not sharedPersisted:
GUID DEVICE3. wsl加载串口驱动
wsl2安装的ubuntu24.04中已带了串口驱动但是需要手动安装一下不安装驱动是看不见串口设备的。
# 这个文件记录了可以使用modprobe命令安装的驱动模块
$ cat /lib/modules/5.15.153.1-microsoft-standard-WSL2/modules.dep
kernel/drivers/block/nbd.ko:
kernel/drivers/net/bonding/bonding.ko:
kernel/drivers/net/dummy.ko:
kernel/drivers/net/vrf.ko:
kernel/drivers/usb/serial/usbserial.ko:
kernel/drivers/usb/serial/ch341.ko: kernel/drivers/usb/serial/usbserial.ko
kernel/drivers/usb/serial/cp210x.ko: kernel/drivers/usb/serial/usbserial.ko
kernel/drivers/usb/serial/ftdi_sio.ko: kernel/drivers/usb/serial/usbserial.ko
kernel/net/netfilter/xt_CT.ko:
kernel/net/netfilter/xt_bpf.ko:
kernel/net/netfilter/xt_u32.ko:
kernel/net/ipv4/ipip.ko: kernel/net/ipv4/tunnel4.ko
kernel/net/ipv4/tunnel4.ko:
kernel/net/ipv6/sit.ko: kernel/net/ipv4/tunnel4.ko
# 安装ch341驱动需要管理员权限
$ sudo modprobe ch341
# 可以查看已安装的驱动模块
$ lsmod
Module Size Used by
ch341 20480 0
usbserial 36864 1 ch341
# 可以看到串口设备已存在
$ ls /dev/ttyUSB04. 安装命令行串口助手
minicom是一个命令行版本的串口助手。
# 安装陈程序
$ sudo apt install minicom
# 打开串口即可正常收发使用CTRLA再按Z退出minicom
$ minicom -D /dev/ttySUSB0 -b 1152005. 编写udev rule
创建sudo vi /etc/udev/rules.d/serial.rules内容如下。这里的vid/pid是在usbipd list中看到的这句话表示对于该类型的设备加载ch341驱动同时设置设备的访问权限为0666即允许任意角色访问。
SUBSYSTEMSusb, ATTRS{idVendor}1a86, ATTRS{idProduct}7523, RUN/sbin/modprobe ch341, MODE06666. 补充现象
将USB设备拔出重新插入电脑时如果设备之前是Shared或Attached状态则会保持在Shared状态如果想重新给wsl使用则需要在windows终端上重新执行usbipd attach --wsl -busid 设备id命令。没有驱动的设备也可以被usbipd list识别也可以正常映射到wsl中如果wsl中有驱动则可以正常使用。 上一篇wsl(2) – ubuntu24.04配置 下一篇wsl(4) – 编译驱动模块 目录wsl – 集合
7. 参考
Windows 10 linux 子系统 WSL 使用串口 Linux笔记串口通讯工具minicom基础使用 连接 USB 设备