问题标签 [libusb]

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.

0 投票
2 回答
407 浏览

c++ - 奇怪的内存损坏

仅当我在“免费”(发布)中使用 WinDDK nmake 编译器构建时才会出现此错误,该编译器执行优化。我无法在“已检查”构建或使用 VS 编译中重现此问题。

这是我的代码中发生的事情的伪代码:

日志输出:
pre nullValue: 0
inFunc nullValue: 0, 251208
post nullValue: 251208
post2 nullValue: 251208, 251208, 251208
注意:每次程序运行时重复出现的数字(251208)都是不同的数字

只需更改一行即可修复/导致它。这是libusb usb_open调用。

  1. 最终我的问题是弄清楚如何解决这个问题(我无法避免那个电话)
  2. 但只是在堆栈/内存管理级别上,怎么可能让 NULL 不为零并且将文字值 '0' 打印为非零?

让我知道其他信息可能会有所帮助...

0 投票
1 回答
1448 浏览

iphone - 使用 libusb 与 iPhone 通信

我有一个程序,它本质上希望能够让用户插入他们的 iPhone 或 iPod Touch,然后根据他们使用的设备和他们拥有的固件版本接收一些信息。我已经阅读了一些 libusb,但我不确定如何通信以及我实际上需要从设备获得哪些信息。有什么帮助吗?

0 投票
1 回答
2126 浏览

macos - libftdi 和 libusb 的问题

我在 Macbook、OS X 10.6.4 上运行。我已经安装了最新版本的 libusb 1.x 和 libusb-compat。libusb 中的示例应用程序编译并运行,没有问题,所以我假设它安装正确。Libftdi 似乎也可以正确安装,但似乎与 libusb 有问题。我尝试了其中一个示例应用程序,但收到以下错误消息:

libusb 应该受到责备的假设是因为 _usb_init 是一个 libusb 函数,我在这里找到了一个与此内容相同的帖子http://www.jedi.be/blog/2009/11/11/ruby-usb-libusb/但对于红宝石。

试图让 Pylibftdi 顺利进行,

请注意,要使用 Pyftdi 运行任何东西,我必须默认安装 libftdi for i386 而不是 x86_64(抛出 mach-o 错误) - 但是,即使“正常”安装 libftdi 也会出现上述 OSErrors。任何建议将不胜感激。

0 投票
3 回答
16508 浏览

linux - libusb 接口已声明

我正在使用 libusb 为 USB 设备编写设备驱动程序。当我尝试认领设备时,我收到错误代码 LIBUSB_ERROR_BUSY (-6)。根据文档,这意味着该设备已被认领(链接)。

我如何找出哪个驱动程序/程序声明了该设备,更重要的是,我自己如何才能在声明该设备后声明该设备。

代码片段:

输出:

0 投票
2 回答
15600 浏览

c++ - libusb 中断传输

我需要对定制的 HID USB 设备(控制面板上的一些按钮和 LED)的驱动程序进行逆向工程。该驱动程序仅在 Windows 上可用,我们需要一个 *nix 实现。

该设备显然是 HID 设备,尽管不是特定类别。它提供了两个接口,每个接口都有一个中断端点。

我的设置目前涉及在 Ubuntu 主机上运行 Windows 的 VirtualBox,以通过 Wireshark 捕获 USB 流量。该协议相当简单,我已经获得了相当好的理解。

我在一个简单的 C++ 控制台程序中使用 libusb-1.0 进行原型设计。我已经设法通过发出 SET_REPORT 控制传输来切换 LED,但很难通过传输中断接收按钮按下。

事实上,以下调用会永远阻塞:

在 Wireshark 中检查生成的 URB 时,它看起来与在 Windows 会话中捕获的等效 URB 完全一样。我仍然没有得到设备的回复。

我跌倒了,我错过了一些设置。请注意,设备已正确打开,并且设备提供的两个接口均已成功声明。即使在我的 linux 应用程序中,通过控制传输的输入报告也正在出现。

感谢您的任何指示!阿恩

附录 I:我想知道在使用时我应该如何指定要接收的报告 ID libusb_interrupt_transfer()

附录二:当将 Windows 驱动程序发出的请求与 Wireshark 中上述代码生成的请求进行比较时,我没有看到任何差异(URB 中的值相同)。但是,只有当 Windows 驱动程序发出中断传输时才会返回。

在 Wireshark 中检查 Windows 驱动程序通信时,除了各种GET_DESCRIPTOR(...). 最重要的是:否SET_INTERFACESET_CONFIGURATION因此我怀疑问题与库或我如何使用它有关,与设备无关

0 投票
2 回答
15083 浏览

android - 将 PC 用作带有 libusb 的 USB 主机的 Android ADK,批量传输错误

我正在尝试使我的 PC 成为 Android 2.3.4 设备的 USB 主机,以便能够在不需要实际“附件”的情况下开发 API。为此,我需要将 PC 设置为 USB 主机和“设备”(在我的例子中是运行 2.3.4 的 Nexus One)。

我从http://android.serverbox.ch/中的 libusb 代码开始作为 PC 端的基础,并在 Android 端使用 DemoKit 代码和 Android 文档。

两者似乎可以很好地协商连接,并且接口被“声明”但在实际尝试批量传输时死掉了。在 OSX 上,错误为 -5 (LIBUSB_ERROR_NOT_FOUND),而在 Ubuntu Linux(以 root 身份)上,错误为 -1 (LIBUSB_ERROR_IO)。(每个最新版本都带有最新的 libusb 1.0.8)。

这是代码。欢迎对问题发表其他评论,尽管这主要是概念验证,所以我真的只是在寻找批量传输不起作用的原因:

这是Android应用程序:

清单(根据文档,包括意图过滤,因此它会自动关联和自动烫发设备):

0 投票
0 回答
276 浏览

libusb - Reg:如何在android中访问USB库的api

我使用的是安卓 2.2 版本。我想在 android 应用程序中使用 USB 相关的 API。但在 android 2.2 版本中,应用程序框架层中没有 API。它在 3.1 和更新版本的 android 中可用。

但在 android 源代码中,我看到了 USB 库(API 的格式为 .c 和 .h 文件)。我是否能够访问 android 应用层中的 api。我想使用 USB 设备,例如 Test CDC 类。

例如:如果我想初始化 USB,那么我可以调用 USB.c 中的 USB_init() 函数。这可能吗????任何人请帮助我.......

问候拉姆

0 投票
1 回答
510 浏览

windows-phone-7 - Windows Phone 7 上通过 USB 进行 PTP

我正在尝试编写一个可以在连接到 WP7 设备时与 USB 设备通信的小应用程序。是否可以从 WP7 设备通过 USB 使用 PTP 协议?手机是否需要支持 USB 主机控制器才能通过 USB 上的 PTP 进行通信?

0 投票
1 回答
5646 浏览

windows - libusb-win32:自动安装驱动过滤器

我在让基于 libusb-w32 的程序检测设备时遇到了问题。该程序必须检测数码相机,我需要自动安装驱动程序过滤器以检测任何新相机,而无需任何手动工作。我使用了 install-filter i --class={6BDD1FC6-810F-11D0-BEC7-08002BE2092F} ,即为 MTP 设备安装过滤器,它似乎工作。但是今天我在一台干净的机器上试了一下,发现它实际上看起来只是这样。尝试使用不同参数的 install-filter - 没有运气。我能够检测到设备的唯一方法是使用 inf-wizard.exe。它安装了驱动程序,使我的程序能够检测设备,但也破坏了数码相机的原始 Windows 功能。然后,我卸载了libusb驱动,重新安装了原来的windows驱动,执行 install-filter i --class={6BDD1FC6-810F-11D0-BEC7-08002BE2092F} - 程序仍然能够检测到设备。问题是:如何使该过程自动化,以便在无需用户进行任何工作的情况下检测到任何新相机?

更新: 我会缩短问题。似乎当我使用 inf-wizard.exe 安装驱动程序时,除了安装驱动程序本身之外,它还做了一些事情。我需要确切地知道什么。

提前致谢。

0 投票
4 回答
34750 浏览

c++ - libusb 未定义的引用

我正在尝试在我的操作系统上设置 libusb API。我在 libusb.org 上下载了 libusb api。我遵循标准安装程序:

然后我启动了 Eclipse C/C++ 并从网上找到的教程中复制了一些代码。但是在尝试构建它时,我得到了以下输出:

我在/lib 中有libusb.so,在/usr/local/include 中有usb.h,在/usr/local/lib 中有.so 和libusb.a 的链接。

代码中的#include 也是正确的。

我知道问题出在链接器中,但我有点无法让它工作:)

我正在使用 Fedora 15 操作系统和 gcc 4.6.0 20110603 (Red Hat 4.6.0-10) 版本编译器。

那么我能做些什么来解决这些未定义的引用呢?非常感谢您的帮助:)