gpt4 book ai didi

linux - 如何在不成为 beagle I2C 分析仪 super 用户的情况下运行全相数据中心?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:09:22 27 4
gpt4 key购买 nike

我正在尝试在 Ubuntu 16.04 上从总阶段运行 beagle I2C 分析器,而不是 super 用户。当我使用 sudo 运行它时,我能够看到 beagle USB 设备,当我以我的用户身份运行它时,我收到错误“找不到设备”。

我已经安装了 linux udev 规则,看起来它们正在工作,因为设备是全局可读/可写的。

$ lsusb | grep -i beagle
Bus 001 Device 083: ID 1679:2001 Total Phase Beagle Protocol Analyzer
$ ls -la /dev/bus/usb/001/083
crw-rw-rw- 1 root root 189, 82 Oct 25 20:20 /dev/bus/usb/001/083

关于如何在没有 super 用户的情况下运行数据中心和连接到分析器的任何提示?

最佳答案

问题解决了!我已经为我遇到的 libusb 可比性问题设置了 LIBUSBTP:http://www.totalphase.com/support/articles/200349996-libusb-compatibility-on-Linux这是导致问题的原因。

我以 super 用户和我自己的身份在程序上运行了 strace,这两者的差异表明我以我的用户身份使用 32 位二进制文​​件,这是导致问题的原因。我取消了 LIBUSBTP 设置,应用程序以我的用户身份运行。

总阶段版本:aardvark-api-linux-x86_64-v5.15

==== 作为我的用户 ====

$ strace -ttvfo /tmp/aadetect.log -s 1024 sudo python aadetect.py
write(1, "Detecting Aardvark adapters...\n", 31) = 31
open("/lib/i386-linux-gnu/libusb-0.1.so.4", O_RDONLY|O_CLOEXEC) = 3

==== 作为根 ====

$ sudo strace -ttvfo /tmp/aadetect-sudo.log -s 1024 python aadetect.py
write(1, "Detecting Aardvark adapters...\n", 31) = 31
open("/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3

====修复====

$ echo $LIBUSBTP
/lib/i386-linux-gnu/libusb-0.1.so.4
$ unset LIBUSBTP
$ echo $LIBUSBTP

$ python aadetect.py
Detecting Aardvark adapters...
1 device(s) found:
port = 0 (avail) (2238-385546)

关于linux - 如何在不成为 beagle I2C 分析仪 super 用户的情况下运行全相数据中心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40253451/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com