首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有超级用户身份的情况下为beagle I2C分析仪运行全相位数据中心?

如何在没有超级用户身份的情况下为beagle I2C分析仪运行全相位数据中心?
EN

Stack Overflow用户
提问于 2016-10-26 11:52:08
回答 1查看 644关注 0票数 1

我试图以超级用户身份在Ubuntu16.04上从total阶段运行beagle I2C分析器。当我用sudo运行它时,我能够看到beagle USB设备,当我以我的用户身份运行它时,我得到错误消息“device is not found”。

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

代码语言:javascript
复制
$ 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

关于如何在不是超级用户的情况下运行数据中心和连接到分析仪,有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2016-12-04 12:27:23

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

我以超级用户和我自己的身份在程序上运行strace,这两个人的差异显示我使用32位二进制文件作为我的用户,这导致了问题。我取消了LIBUSBTP设置,应用程序以我的用户身份运行。

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

以我的用户====身份使用====

代码语言:javascript
复制
$ 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

作为根====的====

代码语言:javascript
复制
$ 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

====修复====

代码语言:javascript
复制
$ 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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40253451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档