java libusb_libusb中断传输

2023-11-15

我需要对定制的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 因此我怀疑问题与库或我如何使用它有关并且与设备无关 .

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java libusb_libusb中断传输 的相关文章

  • maven依赖冲突以及解决方法

    什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包 有多个不同的版本 因而造成类包版本冲突 依赖冲突的原因 依赖冲突很经常是类包之间的间接依赖引起的 每个显式声明的类包都会依赖于一些其它的隐式类包 这些隐式的类包会被maven间接引入进来
  • 【技术经验分享】计算机毕业设计hadoop+spark知识图谱医生推荐系统 门诊人数预测 医疗数据可视化 医疗大数据 医疗数据分析 医生爬虫 大数据毕业设计 大数据毕设

    开发技术 springboot vue js element ui spark hadoop lstm情感分析模型 KNN CNN卷积神经 线性回归 协同过滤算法 用户 物品 MLP神经网络 SVD深度学习模型 echarts python
  • CRM IFD部署更换证书 - adfs证书更换

    更换证书 导入证书 更换IIS证书 更换ADFS证书 设置服务通信证书 添加令牌签名证书和令牌解密证书 更新证书指纹 更新配置 更新CRM配置 更新ADFS信赖方元数据 好家伙 证书又到期了 前面写了CRM网站的证书的更换比较简单 这次呢大
  • 【Transformer】20、SOFT: Softmax-free Transformer with Linear Complexity

    文章目录 一 背景 二 方法 2 1 Softmax free self attention formulation 2 2 通过矩阵分解来实现低秩规范化 三 效果 本文收录于 NeurIPS 2021 论文链接 https arxiv o
  • 使用spring mvc内部集成的jackson将对象转成json格式字符串

    如果是spring boot pom xml里面已经导入了下面这个mvc环境起步依赖也可以用 下面是例子
  • 深度学习入门之如何制作npz、npy文件

    一 需求 论文 EyeTracking for everyone 中提出了iTracker神经网络 并构建了一个叫GazeCapture的数据库 将其部分数据集下载后 可以看到文件的层次结构如下图所示 其中 整个数据集的后缀名是npz 内部
  • 暑假补卷5——进程信号

    信号入门 板书 1 生活角度的信号 你在网上买了很多件商品 再等待不同商品快递的到来 但即便快递没有到来 你也知道快递来临时 你该怎么处理快递 也就是你能 识别快递 当快递员到了你楼下 你也收到快递到来的通知 但是你正在打游戏 需5min之
  • Unity3D学习(5)之工厂回收利用的3D版飞碟游戏

    这一次我们来做的任务是3D版鼠标点击鼠标的游戏 我们先来看一下游戏需求 案例研究 鼠标打飞碟 游戏设计 游戏需求 1 分多个 round 飞碟数量每个 round 都是 n 个 2 每个 round 的飞碟的色彩 大小 发射位置 速度 角度
  • 迅雷2018校园招聘-数字组合问题

    题目 给定整数n 取若干个1到n的整数可求和等于整数m 编程求出所有组合的个数 比如当n 6 m 8时 有四种组合 2 6 3 5 1 2 5 1 3 4 限定n和m小于120 思路 首先 这道题想要通过暴力搜索是无法实现的 那么只能找规律
  • Qt解决Linux/ARM下QSound无法播放的问题

    Qt解决Linux ARM下QSound无法播放的问题 Qt在Linux ARM环境下使用QSound播放音频时 有时会遇到音频无法播放的问题 这有可能是音频文件与Qt不兼容的问题 QSound只能播放 wav格式的音频 无法播放诸如 mp
  • IMAGE REGISTRATION

    Classification Nature area based and feature based Different viewpoints multiview analysis image from different viewpoin
  • registry:NoSuchMethodError zookeeper.server.quorum.flexible.QuorumMaj

    文章目录 1 美图 2 背景 3 问题分析 4 解决方案 1 美图 2 背景 我设置一个已有的registry升级为zk下的ha 但是报错 java lang NoSuchMethodError org apache zookeeper s
  • template之模板注意事项

    前言 在分析STL之前 我们需要先对template做一个回忆 可能我总结的内容你都会了 也可能你没有了印象了 但是我还是希望你先浏览一下template的用法 毕竟STL全部都涉及到了模板 而template是学习STL的基础 templ
  • Stable Diffusion服务环境搭建(远程服务版)

    Stable Diffusion服务环境搭建 远程服务版 Stable Diffusion是什么 Stable diffusion是一个基于Latent Diffusion Models 潜在扩散模型 LDMs 的文图生成 text to
  • 微信小程序:图标的使用(icon)

    摘要 图标主要是用来辅助ui界面的 常用的是 和 像蓝牙和wifi是否连上的标志 让人直观明了 icon的参数 组件icon的参数主要有三个 下图所示 1 type icon的类型 官方给出了9个 分别为success success no
  • 51单片机AD转换代码原理图参考

    include reg52 h define uchar unsigned char define uint unsigned int sbit ADC RD P3 3 sbit ADC WR P3 4 sbit ADC INT P3 5
  • 设计模式——简单工厂模式

    静态工厂方法模式 通过专门定义一个类来负责创建其他类的实例 被创建的实例通常都具有共同的父类 模式中包含的角色及其职责 1 工厂 Creator 角色 简单工厂模式的核心 它负责实现创建所有实例的内部逻辑 工厂类可以被外界直接调用 创建所需
  • DRF学习之token验证(十)

    1 获取某分类下的商品 自定义过滤分类 增加过滤条件top category filter 用于过滤某个分类下的所有商品 class GoodsFilter django filters rest framework FilterSet 商
  • JVM垃圾回收机制(收集器、收集算法、卡表)

    目录 JVM垃圾回收机制 HotSpot垃圾分代回收算法 HotSpot经典垃圾收集器 CMS G1 跨代引用 卡表 写屏障 各种收集器对比 在java开发中 我们不需要过度的关注对象的回收和释放 因为JVM的垃圾回收机制可以帮助我们自动对

随机推荐

  • 全网最详细中英文ChatGPT-GPT-4示例文档-场景问题智能生成从0到1快速入门——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)

    从0到1快速入门场景问题智能生成应用场景 Introduce 简介 setting 设置 Prompt 提示 Sample response 回复样本 API request 接口请求 python接口请求示例 node js接口请求示例
  • C/C++学习——自定义数据类型——链表

    链表的概念 一 链表的概念 1 链表是一种存储空间能动态进行增长或缩小的数据结构 2 链表主要用于 1 建立不定长度的数组 2 可以在不重新安排整个存储结构的情况下 方便且迅速地插入和删除数据元素 3 链表广泛应用于数据管理中 二 结点 s
  • 延时任务的四种实现方式

    什么是延迟任务 顾明思议 我们把需要延迟执行的任务叫做延迟任务 延迟任务的使用场景有以下这些 红包 24 小时未被查收 需要延迟执退还业务 每个月账单日 需要给用户发送当月的对账单 订单下单之后 30 分钟后 用户如果没有付钱 系统需要自动
  • D0006-进制,位运算,原反补码

    十进制转其他进制 公式 除基取余 直到商为0 把余数反转拼接 十进制10转换二进制 商 余数 10 2 5 0 5 2 2 1 2 2 1 0 1 2 0 1 把余数反转拼接 1010 原码反码和补码 原码 一个二进制数据 最高位符号位 0
  • 数据存储---整形数据在内存中的存储

    我们每一次写代码的时候 都会创建变量 那么所创建的整形变量是如何在内存中存储的呢 目录 1 数据类型介绍 2 整形数据在内存中的存储形式 3 大小端字节序的介绍 1 数据类型介绍 本文重点介绍内置类型中的整形家族 1 内置类型 C语言本身具
  • JDK安装配置(Windows10)

    环境 windows10 官方链接 https www oracle com technetwork java javase downloads jdk8 downloads 2133151 html 点击Accept License Ag
  • 由于找不到msvcp120.dll无法继续执行代码怎么办?

    msvcp120 dll是微软软件包的一部分 它是一个库文件 可用于支持软件运行时 msvcp120 dll的作用是提供计算机程序所需的标准库 msvcp120 dll还负责管理堆内存 线程和异常处理函数等 在使用windows编写的应用程
  • indows npm ERR! gyp ERR! find Python Python is not set from command line or npm configuration npm ER

    问题描述 windows npm ERR gyp ERR find Python Python is not set from command line or npm configuration npm ERR gyp ERR find P
  • SSL工作原理

    转自 https www wosign com Basic howsslwork htm SSL 是一个安全协议 它提供使用 TCP IP 的通信应用程序间的隐私与完整性 因特网的 超文本传输协议 HTTP 使用 SSL 来实现安全的通信
  • 一个函数名后面加const表示什么意思

    const用在成员函数后 主要是针对类的const 对象 如 class Text public void printconst void const cout lt lt hello lt
  • java匿名对象的使用

    package object oriented04 import object oriented03 Person public class InstanceTest public static void main String args
  • 力扣OJ(1601-2000)

    目录 1602 找到二叉树中最近的右侧节点 1611 使整数变为 0 的最少操作次数 1612 检查两棵二叉表达式树是否等价 1631 最小体力消耗路径 1632 矩阵转换后的秩 1634 求两个多项式链表的和 1644 二叉树的最近公共祖
  • 【KnowledgeBase】目标追踪模型MOTR论文简要理解

    系列文章目录 文章目录 系列文章目录 前言 一 主要思想 二 整体架构 二 细节 1 Detect Query和Track Query 2 Tracklet Aware Label Assignment TALA 3 QIM模块 总结 前言
  • linux搭建主备负载均衡

    1 原理图 底层原理 2 负载集合的功能 1 客户端传过来的请求 在负载均衡那里 根据算法 把用户的请求给指定的服务器 2 如果负载均衡主机宕机了 备机马上接手 如果主机恢复了 备机马上退后 3 如果某个服务器挂了 该服务器马上被踢出去 负
  • mac 打开网页慢_苹果笔记本打开网页很慢是什么原因

    有时候我们找资料会发现网页打开很慢 这是怎么回事呢 为什么网页打开会很慢呢 以下就是小编给你做的整理 希望对你有用 的原因 一 网络最小带宽这是最主要的因素 也就是网友经常说的宽带不够 同样的网站 如果宽带高 访问速度就会明显变快 网络的带
  • ubantu18.04安装Opencv4.0.0

    1 安装依赖 sudo apt get install build essential sudo apt get install cmake git libgtk2 0 dev pkg config libavcodec dev libav
  • 使用z-file和七牛云对象存储构建个人网盘

    最近想构建一个个人网盘玩玩 用来存储些资源 这里使用云服务器 zfile 七牛云对象存储进行搭建 租用云服务器 首先需要在常用的云服务网站买一个云服务器 如阿里云 腾讯云等 这里不说该怎么租用和搭建了 使用七牛云对象存储 这里使用七牛云对象
  • 02功能之读写文件流操作(C语言实现读取文件指定一行)

    02功能之读写文件流操作 C语言实现读取文件指定一行 1 C语言读取文件指定一行 读取文件指定一行 int ReadLine1 const char fileName char outBuf int n int whichLine n 指定
  • sql查询一个字段包含另一个字段内容

    SELECT FROM tbl name WHERE a like CONCAT b 字段a包含字段b 例如 Find the capital and the name where the capital includes the name
  • java libusb_libusb中断传输

    我需要对定制的HID USB设备 控制面板上的一些按钮和LED 进行反向工程 该驱动程序仅在Windows上可用 我们需要 nix实现 该设备显然是HID设备 但不是特定类 它提供两个接口 每个接口都有一个中断 endpoints 我的设置