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

该设备显然是HID设备,但不是特定类 . 它提供两个接口,每个接口都有一个中断 endpoints .

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

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

实际上以下呼叫永远阻止:

unsigned char bytes[8] = { 0 };

int len = 0;

int ret = libusb_interrupt_transfer(handle, 0x81, bytes, 8, &len, 0);

在Wireshark中检查生成的URB时,它看起来与在Windows会话中捕获的等效项完全相同 . 我仍然没有收到设备的回复 .

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

谢谢你的指针!阿恩

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

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

在Wireshark中检查Windows驱动程序通信时,除了各种 GET_DESCRIPTOR(...) 之外,我没有看到任何控制传输 . 最重要的是:没有 SET_INTERFACE 或 SET_CONFIGURATION 因此我怀疑问题与库或我如何使用它有关并且与设备无关 .

java libusb_libusb中断传输相关推荐

  1. java吵醒线程_一文搞懂 Java 线程中断

    在之前的一文<如何"优雅"地终止一个线程>中详细说明了 stop 终止线程的坏处及如何优雅地终止线程,那么还有别的可以终止线程的方法吗?答案是肯定的,它就是我们今天要分 ...

  2. JAVA实现服务器间拷贝文件,寻找在Java服务器之间传输大文件的好方法

    在这个项目中有一个主要的数据库服务器,其他安装在不同地方的服务器维护着自己的本地数据库.我们必须允许每个系统将其本地数据库更新为主要数据库上的任何版本.所有的服务器都运行Java环境.寻找在Java服 ...

  3. 一文搞懂 Java 线程中断

    转载自   一文搞懂 Java 线程中断 在之前的一文<如何"优雅"地终止一个线程>中详细说明了 stop 终止线程的坏处及如何优雅地终止线程,那么还有别的可以终止线程 ...

  4. java线程——中断线程+线程状态+线程属性(优先级)

    [0]README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java线程--中断线程+线程状态+线程属性(优先级) 的相关知识: [1]中断线程 1.1 ...

  5. java流式传输对象_Java性能:面向教学与流式传输

    java流式传输对象 在for循环中向上或向下计数是最有效的迭代方式吗? 有时答案既不可行. 阅读这篇文章,了解不同迭代品种的影响. 迭代性能 关于如何以高性能进行迭代有很多观点. Java中的传统迭 ...

  6. java流式传输对象_使用Java 8在地图上流式传输

    java流式传输对象 在本文中,我将向您展示如何在标准Java映射上有效地实现Speedment Open Source流,并将Stream接口扩展为MapStream! 即使在复杂的情况下,此添加将 ...

  7. java sleep方法_一文搞懂 Java 线程中断!

    在之前的一文<如何"优雅"地终止一个线程>详细说明了 stop 终止线程的坏处及如何优雅地终止线程,那么还有别的可以终止线程的方法吗?答案是肯定的,它就是我们今天要分享 ...

  8. JAVA数据加密压缩传输给服务端(Gzip加AES)

    上一话说到HTTP数据传输用Gzip方式压缩,用springboot分别写了客户端和服务端的代码测试. 对应博客地址 Java数据压缩HTTP方式传输Gzip(附带测试代码及springboot-HT ...

  9. CH375与中断传输

    发表于:2008-3-24 11:26:00,来源于:58.39.48.34 发贴心情: ------------------------------------------------------- ...

最新文章

  1. stm32 systick分析
  2. JSR303(Bean Validation 1.0)
  3. android viewpager嵌套侧滑删除listview冲突问题
  4. 行业网站设计策划书_怎么把金融行业网站设计排版做到符合用户体验?
  5. 使用dbunit和system-rules测试代码
  6. 引发外国网友刷屏的“大国重器”到底什么水平?
  7. 魅蓝3 官方android系统,魅蓝3获取ROOT权限及刷入Android系统过程
  8. vue 高阶面试题_大厂面试题合集
  9. c语言经纬度转高斯坐标系,经纬度坐标与高斯坐标的转换代码
  10. PHP用GD库实现简单的验证码
  11. 【网站点击流数据分析】01-项目业务背景
  12. 我学过的一些PS基本操作
  13. UE4 GamePlay架构学习篇
  14. 刷脸支付免费领取保险全额赔付保安全
  15. 数字通信系统中带宽的概念
  16. POJ 3255 次短路
  17. Apache Hive实战基础
  18. 致力做中产家庭亲子生活专家,爸妈营获宝宝树战略投资...
  19. WordPress主题-大前端DUX主题初墨博客修改优化增强版ZUX介绍
  20. C# SqlHelper类的使用

热门文章

  1. 成都智慧工地系统_智慧工地平台指导方案
  2. AE 3D摄像机工作原理
  3. 摄像机(Camera)
  4. c语言 取余 % 和除法 / 的应用技巧 (在取位数方面的)
  5. Python.win32gui.获取窗体
  6. 什么是闭包?闭包的优缺点? 1
  7. js splice,slice,split区别
  8. C语言switch语句的用法详解
  9. WEB项目的相对路径与绝对路径
  10. floyed 4.9