问题标签 [libusb-1.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 在 Linux (libusb-1.0) 上访问 USB 设备?
我正在编写一个小程序,在 Linux 上使用 libusb-1.0 与特定的 USB HID 产品(由供应商和产品 ID 标识)进行通信。现在,我必须以 root 身份运行程序,因为“libusb 需要对 USB 设备节点的写访问权”。有没有办法更改我需要的设备的权限,这样我就不需要以 root 身份运行我的程序?
c - 如何使用 libusb-1.0 接收 HID 报告?
我有一个 USB HID 秤,需要从中获取称重报告。我可以通过一次读取 7 个字节在 Linux 上执行此操作/dev/hidraw#
,但我想使用 libusb-1.0 获得相同的信息。
即使我确实得到了一些非空字节,我也会得到错误-9:LIBUSB_ERROR_PIPE
我正在尝试使用这样的控制转移:
python - Windows 7 上的 Pyusb 找不到任何设备
所以我在 Windows 下安装了 Pyusb 1.0.0-alpha-1
,我无法获得 USB 设备的任何句柄。
我确实插入了 1 个 USB 设备(idVendor=0x04d8,idProduct=0x0042),我尝试过,usb.core.find(idVendor=0x04d8, idProduct=0x0042)
但也失败了。
在 Ubuntu 下,使用相同版本的 pyusb 和 python (2.6),我能够使用该代码成功找到我的设备,并与之通信。
那么如何让 pyusb 在 Windows 7 上找到 USB 设备?
c++ - 如何将 libusb 与 libevent 一起使用?
我正在使用 libevent 编写一个事件驱动的应用程序,我需要使用 libusb-1.0 进行 USB 传输。
我想使用libusb_get_pollfds来获取文件描述符列表(在 中fds
)并将它们添加到 libevent 中,如下所示:
另外,我使用libusb_set_pollfd_notifiers从libusb_fds_events
.
问题是我在 libusb 返回的列表上得到了许多奇怪的 fds(例如,我得到stdin
(!)很多次,事件等于 0)。
我是否以正确的方式使用它?
python - 使用 PyUSB usb.util.get_string() 获取字符串描述符
我无法获取 USB 设备的字符串描述符。我正在寻找的是人类友好的制造商和产品名称。我使用 libusb-1.0 作为后端,并且能够使用提供的 libusb 测试程序获取制造商名称,所以我知道它存在。
PyUSB 帮助文件说您可以使用以下命令访问usb_get_string_simple
(从 libusb 后端):
get_string(开发,长度,索引,langid=None)
任何帮助将不胜感激。
xcode - 动态库链接问题
我试图在我的 COCOA 应用程序中链接一个动态库,但我收到以下奇怪的错误:
dyld:库未加载:/opt/local/lib/libusb-0.1.4.dylib
我想从应用程序(Mac OS)目录链接这个库,因为我不希望用户安装任何东西。尽管我已经在框架中正确链接了库并将其添加到目标副本构建阶段,但它仍然抱怨缺少库。我链接的其他两个库工作正常,但 libusb-0.1.4.dylib 导致问题。谁能告诉我如何解决这个问题。
在此先感谢您的帮助。
android-ndk - 在 Android 应用程序中使用 libusb:如何允许应用程序访问 USB
我想在我的 Android 应用程序(java GUI + 本机(C++)核心)中使用 libusb。我已经编译了 libusb 并尝试调用它的函数,但是 libusb_open 返回 LIBUSB_ERROR_ACCESS。我想USB访问权限有问题,但我不知道如何解决这个问题。所以,这里有两个问题:1)如何让 libusb 在有根的 Android 3.1 设备上运行?2) 是否可以在无根、出厂默认设备上使用 libusb?
提前致谢。
PS 至于问题 1,我已经为 /dev/bus/usb 尝试了 chmod 666,但它显示“权限被拒绝”(请注意,我的设备已植根)。
PPS mount usbfs none /proc/bus/usb -o devmode=0666 甚至不执行,就好像我拼错了什么(但我没有)。
我确信可以让 libusb 在带有 USB 主机的根 Android 设备上运行,但我从未管理过它,所以我不得不将应用程序限制为 Android 3.1+ 并使用 USB API。
c - 通用 USB 设备的 libusb-1.0 写入权限
我正在用 Anjuta 用 C 语言编写一个带有 libusb 库的小应用程序。
libusb 出于某种目的需要写入权限。这个论点已经在这个主题中讨论过:“Get access to USB device on Linux (libusb-1.0)?”。
也许主题解决方案工作正常(我还没有尝试过),但我希望我的应用程序访问所有 USB 设备而不是特定设备。
我尝试在具有 root 所有者但具有 libusbopen 功能的 libusb-1.0.so 文件中设置一个 suid 位,例如,再次回答“libusb 需要对 USB 设备节点的写访问权”。我不会以 root 用户身份构建整个 anjuta 项目,但到目前为止,这是这个 libusb-1.0 问题的唯一解决方案。
是否有解决方案可以在不修改 udev 行为的情况下获得对通用 USB 设备(例如热插拔 pendrive)的 inode 的写访问权限?
c - libusb-1.0 调试信息
我想知道 libusb_set_debug() 是否有效。我无法从中获得任何输出。如果我使用 --enable-debug-log 配置和构建,我可以打开调试日志记录。如果我将 libusb_set_debug() 设置为 3,我是否应该得到与 enable-debug-log 相同的输出?我没有设置 LIBUSB_DEBUG 环境变量。我想我错过了一些简单的东西。谢谢,
usb - 通过 USB 从功率计读取值
在过去的两天里,我正在阅读有关如何从未安装设备驱动程序的外部设备通过 USB 获取数据的信息。我必须通过 USB 从 WT500 Yokogawa 功率计读取数据(基本上我只想读取仪表显示的参数之一,只是功率值)。我知道 WT500 的设备驱动程序可用,但它有一些依赖项,我不想在我们的节点中安装软件或更改任何主要内容来迎合这一点。我发现它libusb
可以用来执行我想要的,并且我有一个 C 程序可以嗅探 USB 设备并返回一些信息。我也研究过usb-robot,它也使用libusb。我正在探测的服务器节点具有 OpenSUSE Linux 内核 2.6.30。我安装了usbfs。
问题:
- 我期待使用 libusb,只要我请求,我就可以通过 USB 设备从功率计获取数据转储。我可以向仪表请求类似的东西 - 发送 25k 数据,然后在解析它时,我得到我正在寻找的参数值?考虑到我对设备的了解为零,我可以从中获得一些有意义的价值吗?一个示例代码会有所帮助。
-- 有一些标准消息,例如 ?IDN,可以用来查询 USBTMC 设备。但是,如果需要获取屏幕上显示的任何内容,则需要将特定查询发送到仪表(语法应该在技术文档/手册/通信界面中)。
- 我想没有更简单的方法可以做我想做的事 - 就像使用 fread 之类的东西读取文件一样?
——是的,差不多。如果安装了 USBTMC 模块(我们内核中的默认模块不起作用,安装和查询设备的详细说明在这里 - http://code.google.com/p/scte/wiki/USBTMC),那么只需要一个发送一些查询并通过cat
或从特定文件中读取响应/dev
。
从仪表技术文档中,我看到描述的驱动程序通信接口是特定于 Windows 的,所以我认为我可能需要做一些逆向工程。
-- 是的,但只有一点点,或者可能根本没有。
谢谢你。
编辑:经过一番谷歌搜索后,我想我有了答案,我将它们添加到我提出的问题旁边。