访问权限问题:USB 设备以用户身份读取

访问权限问题:USB 设备以用户身份读取

我正在尝试访问 USB 设备运行$USER 一些基于这个 GIT 仓库。 我在跑步Ubuntu 20.04 服务器树莓派4b. 以 root 身份运行良好

sudo python3 myPythonCode.py

不是$USER

python3 myPythonCode.py

这让我相信这是一个访问权限问题。我试过

  1. sudo chown $USER /dev/usb/
  2. sudoedit /etc/udev/rules.d/50-myusb.rules并将行添加KERNEL=="ttyUSB[0-9]",MODE="0666"到文件
  3. sudo usermod -a -G dialout $USER

该设备安装明显lsusb

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 045e:02fe Microsoft Corp. 
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

但它没有出现在,但你可以在(duh)/dev/ttyUSB中找到它。 :/dev/bus/usb/001/005dmesg | tail

[  210.127161] input: Microsoft X-Box One pad as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.0/gip0/gip0.0/input/input1
[  998.563321] usb 1-1.4: USB disconnect, device number 4
[ 1018.975089] usb 1-1.4: new high-speed USB device number 5 using xhci_hcd
[ 1019.076591] usb 1-1.4: New USB device found, idVendor=045e, idProduct=02fe, bcdDevice= 1.00
[ 1019.076607] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1019.076619] usb 1-1.4: Product: XBOX ACC
[ 1019.076630] usb 1-1.4: Manufacturer: Microsoft Inc.
[ 1019.076640] usb 1-1.4: SerialNumber: 430112
[ 1019.163760] usb 1-1.4: reset high-speed USB device number 5 using xhci_hcd
[ 1022.292169] input: Microsoft X-Box One pad as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.0/gip0/gip0.0/input/input2

有什么建议么?

答案1

总结:添加$USERinput群组

sudo usermod -a -G input $USER

一切都很顺利。

长版本:感谢您的阅读。我不会编辑我的问题,所以任何人都可以看到我之前的无知,但这里有一些见解:

并非所有 USB 设备都是 TTY。对于通过 USB 进行串行通信(这是我之前见过的唯一方式),情况确实如此,因此 USB 加密狗不会作为 挂载/dev/ttyUSB ...,所以我的大多数半无知解决方案都是胡扯。实际上,人机界面设备已挂载,/dev/input/可以通过将用户添加到input组中来读取。要继续阅读askubuntu.com/questions/210895/what-are-the-files-in-dev-input-and-what-they-do

此外,使用threading包时,如果在线程中发生错误,则不会引发错误,除非开发人员明确实现它,请参阅stackoverflow.com/questions/2829329/catch-a-threads-exception-in-the-caller-thread

相关内容