问题标签 [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.

0 投票
0 回答
3097 浏览

libusb-1.0 - libusb 数据传输

嗨,我必须编写一个代码来从 USB 驱动器读取数据,该驱动器可以是 pendrive,后来是数据采集卡。我写了这么多代码来检测所有 USB 连接 n 打印他们的信息。尽管我不知道如何进一步进行。我也很困惑从说 pendrive 读取数据意味着打开一些文件或什么?还请告诉我如何找到设备的端点,目前我正在使用 hit n trial 来找到它。请帮帮我。我已经阅读了有关同步和异步 I/O 的全部文档。

0 投票
3 回答
23082 浏览

usb - 来自 libusb 的错误消息“未声明接口”

我正在尝试使用libusb,但收到以下错误消息:

usbfs:进程 24665(myprogram)在使用前未声明接口 0

我真的不明白为什么,因为据我所知,我是根据图书馆中的描述来做的。这是我的代码:

如您所见,我确实在转移之前声明了接口。(我也在其他 USB 设备上尝试过相同的代码,以防万一这与它有关。)

我正在使用 libusb-1.0.9,这是我能找到的最新版本。我在Ubuntu 12.04_64 (Precise Pangolin) 上运行这个东西。

0 投票
1 回答
217 浏览

c - C中奇怪的宏声明

可能重复:
为什么在 C/C++ 宏中有时会出现无意义的 do/while 和 if/else 语句?
do { ... } while (0) 有什么用?

探索 libusb-1.0.9 源代码,我发现了这样一行(./os/poll_windows.c:78):

对我来说,这是一样的:

有什么理由循环那个表达式吗?

更新:

答案后我仍然无法意识到出了什么问题,以下示例有所帮助:

如果放在TEST第 12 行,编译器会报错"error: ‘else’ without a previous ‘if’"
希望,这会帮助某人。

0 投票
1 回答
1585 浏览

usb - libusb-1.0 - 成功调用 libusb_bulk_transfer() 后数据去哪里了?

我运行了以下从教程中获得的代码示例:http ://www.dreamincode.net/forums/topic/148707-introduction-to-using-libusb-10/

我在运行 Android 4 的平板电脑上运行它,通过 USB 连接到运行 Mac OS X Mountain Lion 的 MacBook Pro。
输出包含“写入成功!” 所以我假设 libusb_bulk_transfer() 工作正常。我的问题是 4 个字节的数据传输到了哪里?我可以将其保存到 Android 平板电脑上的文件吗?

谢谢你的帮助!

0 投票
2 回答
2908 浏览

android - 修改 libusb 以接受文件描述符

我修改libusb1.0打开函数如下:

其中 fd 是通过android.hardware.usb.UsbDeviceConnection.html#getFileDescriptor()获得的

不幸的是,当我打电话时,我不断收到错误消息

声明接口失败,错误-1 errno 9

翻译为“错误的文件号”。我从 Java 得到的文件描述符是一个正整数!

唯一的其他小细节是我的本机代码作为一个单独的二进制文件运行,该二进制文件由 Java ProcessBuilder 生成。但是它们共享相同的 uid,所以我认为我从 Java 获得的 USB 权限仍应适用于 libusb。

我不需要独立于平台,所以任何黑客都可以完成这项工作:)

任何想法将不胜感激!

附加信息!我从lsof得到的输出是(缩短以强调其中最有趣的部分)

这让我觉得我传递给 my_exe 的文件描述符 44 实际上不是继承的!

0 投票
0 回答
168 浏览

data-transfer - 如何使用带有 libusb 的 libusb_bulk_transfer 跟踪发送进度?

给定一个使用 libusb 调用“libusb_bulk_transfer”的应用程序,我如何跟踪通过数据缓冲区发送到终端设备的进度?

0 投票
3 回答
27545 浏览

c++ - 如何使用 libusb 和 libusb_get_device_descriptor()?

我正在学习第一次在 Ubuntu 12.10 上使用 libusb v1.0.0。这是我用来尝试了解如何使用此 API 的一些小测试代码:

此时,rc == 0,意味着它应该已经成功完成了。来源:*libusb_get_device_descriptor()* 的文档

但结构desc总是空的。没有一个字段被设置。如果我将上面的最后两行更改为:

...然后当libusb_get_device_descriptor()返回时,我看到desc保持不变,向我确认我没有从这个 API 中得到我所期望的。

我还尝试以a.outroot 身份运行,以防万一这需要提升权限。进行谷歌搜索libusb_get_device_descriptor并没有让我到任何地方。

我运行以尝试此代码的相关命令:


啊! 疯狂的用户错误!sharth 的代码帮我弄清楚了。这是我实际使用的代码——看看你是否能发现错误:

我猜编译器评估这个的方式,在实际desc.idVendor调用之前可以自由评估libusb_get_device_descriptor()。我的错。

0 投票
1 回答
2975 浏览

c - libusb_claim_interface 在 Mac OS X Mountain Lion 上失败

我已经搜索了几个小时无济于事。我libusb_detach_kernel_driver在 Mac OS X 不支持的任何地方都看到了它,但我无法找到它的补丁或替代品。

libusb_claim_interface返回这个:libusb: 0.863377 error [darwin_claim_interface] USBInterfaceOpen: another process has device opened for exclusive access

如何从内核中分离 USB 设备?

0 投票
0 回答
105 浏览

c# - libusbdotnet inf 包如何使 inf 有效

我是 USB 编程的新手。我们有一个自定义硬件,我们将其插入计算机并从中发送/接收数据。

我使用 LibUsbDotNet 提供的 USB InfWizard 来创建 USB inf/setup 包。

我注意到我无法右键单击 INF 来安装它。它显示以下弹出窗口: 在此处输入图像描述

我不得不去设备管理器路线安装它。但它显示了这个弹出窗口 在此处输入图像描述

所以我的问题是使用由 LibUsbDotNet 工具生成的驱动程序设置。

我需要做什么才能让 Windows 能够验证驱动程序的发布者?

我必须签名还是什么?我错过了什么?

0 投票
2 回答
8503 浏览

android - libusb_open 返回 LIBUSB_ERROR_ACCESS?

我在使用 jni 的 android 应用程序中使用 libusb。我可以使用 libusb 找到设备。但无法打开它。

TestExP.c

安卓.mk

在我的活动课上,我遵循...

测试.java

一切运行良好。当我运行这个程序时,它返回 -3 libusb 错误代码,上面写着“ LIBUSB_ERROR_ACCESS ”我做错了什么。有人说授予 USB 设备的权限。我可以使用 Android USB-API 打开设备并连接到设备。但我想用 libusb-1.0 做到这一点。