我正在windows 11上运行usbipd,以使USB设备能够连接到WSL。这个很管用。我可以以root的身份运行我的串行应用程序,它工作得很好。我不愿以根用户身份运行我的应用程序。我的用户是群拨号(和tty)。
我无法让FTDI串行端口的组从根更改:
:~$ ls /dev/ttyUS* -Al
crw------- 1 root root 188, 0 May 13 08:07 /dev/ttyUSB0注意,组是根用户,权限是188。国际劳工局:
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub我在/etc/ udev / rule es.d/99-usb-序列化中设置了一个udev规则。
ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", GROUP:="dialout", MODE:="0666"我有一种感觉,我的udev规则是不正确的,但我环顾四周,不知道什么可能是错误的。我测试更改的方法:
~$ sudo journalctl -b 0 /dev/ttyUSB1
No journal files were found.
-- No entries --发布于 2023-01-08 09:16:43
这是我的秘方,可以通过WSL上的usbipd (至少与Ubuntu/Debian发行版一起工作)对USB设备(通过/dev/ttyACM0或Wemos D1 mini on /dev/ttyUSB0)进行权限修改。
默认情况下,Systemd似乎不在WSL启动时启动。通过遵循此链接,我修改了/etc/wsl.conf,添加了:
[boot]
systemd=true然后停止WSL (wsl --shutdown)并重新启动。
通过usbipd (usbipd wsl attach --busid XXX)附加设备之后,相应的设备(/dev/ttyUSB0)可以通过group="dialout"和+rw权限访问。
发布于 2022-09-09 02:11:15
我能够通过创建文件/etc/udev/rues.d/99-usb.devices.Rule获得更新权限的规则。
ACTION!="add|change", GOTO="usb_device_rules_end"
SUBSYSTEM!="usb|tty|hidraw", GOTO="usb_device_rules_end"
#ESP32 WOOT Dev Board (Silicon Labs CP210x USB to UART Bridge)
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE="660", GROUP="plugdev", TAG+="uaccess"
LABEL="usb_device_rules_end"然后我运行了sudo udevadm control --reload
可能是丢失的产品标识?
https://askubuntu.com/questions/1408365
复制相似问题