问题标签 [usb4java]

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 投票
1 回答
2385 浏览

java - How to solve error message Exception in thread "main" java.lang.NoClassDefFoundError: org/usb4java/Loader

I'm trying to make use of usb4java and am getting a error when I run it. It compiles just fine and I have looked at my class path and it appears the usb4java jars are being included as you can see below.

I'm currently on Windows 7, running Java 8, using usb4java-javax-1.2.0(http://usb4java.org/). And I'm getting the following error. Any ideas on how to get past this?

My Java code looks like this and is copied from the usb4java site.

0 投票
1 回答
4488 浏览

java - UsbInterface 声明失败

我遇到了一个问题:我在 Windows 8 笔记本电脑上使用 usb4java。我在我的 USB 端口中插入了一个红外遥控器。现在我想访问这个控制器。我得到了以下示例代码(没有编程异常并且没有处理 NullPointers,因为我只想看看我的代码是否有效):

}

所以,它找到了端口,但是当我调用“inter.claim()”时,我得到了这个异常:

Java 结果:1 构建成功(总时间:0 秒)

我通过 Zadig 安装了一个 WinUSB (v6.1.7600.16385) 驱动程序,但仍然出现此错误。有人可以帮助我吗?感谢您的每一个帮助:)

0 投票
0 回答
1209 浏览

java - Java:获取 USB 大容量存储设备信息

是否有可能在 Windows 上获取 USB 大容量存储信息,如 Java 中的 USB 设备的序列号?

我尝试使用 USB4Java(低级和高级 API)来实现这一点并且它可以工作,但问题是我必须安装自定义驱动程序才能从我的 Java 应用程序访问信息(在http://FAQ 中描述:/ /usb4java.org/)。安装该特殊驱动程序(使用 Zadig 创建)后,我无法从 Windows 资源管理器(仅从我的 Java 应用程序)访问该设备。

我想检测何时连接了新的 USB 设备,如果已连接,我想获取一些信息,如设备的序列号、设备名称、分配的驱动器号等。

该应用程序应该由其他用户使用,我不能强迫他们为每个设备创建自定义驱动程序......你有任何提示如何实现这一点吗?

谢谢。

编辑:是否可以使用 Java 内置方法获取连接设备的 USB 端口?我已经尝试过,FileSystemView.getFileSystemView().getSystemDisplayName()但没有这样的选择。是否有另一种可能获得供应商 ID 或某事。与Java类似?

或者是否可以使用 USB4Java 获取驱动器号?

谢谢。

0 投票
1 回答
2627 浏览

java - 连续读取传入数据(usb4java)

我花了相当多的时间试图找出使用 usb4java (Libusb) 的低级函数连续读取大量数据的最佳方法。

在全速设备中,我需要读取的数据量是 640kbyte/s,理论上是可能的,而且我应该使用不到一半的可用带宽。我遇到的问题是我正在读取的数据有可能来自丢失或损坏的数据的故障。

我已经尝试过同步和异步,结果相似。在这里,我发布了我在异步模式下用来执行此操作的代码,不胜感激。

0 投票
0 回答
1675 浏览

java - 使用usb4java在linux中获取USB设备的名称

我想获取 USB 磁盘的名称及其在 Linux 中的路径,例如。“/media/Disk_data”。以下是我的方法

我正在使用 usb4java-1.2.0.jar。它为我提供了有关“Disk_data”USB 驱动器配置的所有信息。但我没有得到它的路径。如何使用这个库获取这个特定磁盘的名称和整个路径?

0 投票
2 回答
4733 浏览

java - 无法声明接口:资源繁忙

我正在使用 USB4Java(低级版本),基本上是从这里的代码开始工作。我在 Ubuntu 中工作,我遇到了关于权限的问题,但能够通过从终端使用 gksu 运行 eclipse 来解决。

现在我遇到了一个新问题:当我到达代码中的要点时:

我收到一个异常,告诉我“资源很忙”:

我以前使用过 Ubuntu(但从未用于开发,所以我对此很陌生)。如果这不是应该处理这个问题的地方,那么请告诉我在哪里可以得到答案。

具体来说,问题是,这是什么意思,我该如何解决?我的目标,在这种情况下,这是一个自定义 USB 设备,是创建一个低级的跨平台...基于 java...“驱动程序”(松散地使用该术语)。我现在正在使用 Ubuntu,因为终端 lsusb 命令提供了有关设备的大量信息。

0 投票
0 回答
1112 浏览

java - Linux、Java 和 USB

有点像这个问题的后续行动,我已经能够:

找到我正在使用的设备,将其与内核断开连接,然后声明(单一)接口。. . 这就是我所能得到的。

当我尝试写入设备(这是一个定制的无线收发器,不是我自己的设计)时,我得到(当使用带有端点 0x00 的 LibUsb.bulkTransfer 时):

输入/输出错误,并且(当使用带有端点 0x81 的 LibUsb.bulkTransfer 时):

超时错误。

我很确定我完全不知道我在这里做什么(这对我的立场没有帮助),这比我习惯于与较低级别的设备通信(最我已经完成了与.Net 的互操作)。

我已经看过 lsusb 命令并执行了它并得到了......很多东西,我可以认出其中的一些,但其中大部分我有点迷失了,希望有人能握住我的手,或者给我指点一种... USB for Dummies 指南,它可能会帮助我弄清楚我需要做什么。

最终结果(理想情况下)将是一个 Java 包,它允许与设备进行跨平台通信,而无需代表最终用户进行任何形式的修补(我的意思是跨平台,windows、linux 和 mac,这就是为什么我正在使用 java4usb java 库)。

我现在的位置是,使用 lsusb 命令的输出,我希望能够将命令从收发器发送到与之通信的外部设备。(基本上,它向连接到 LED 的设备发送命令,该设备可以打开和关闭 LED,并使其闪烁,它还可以接收来自该设备的命令并相应地响应它们,但是小步骤)。

您可以在此处找到 lsusb 输出(它非常冗长,我不想过多地淹没这个问题)。任何帮助或指导将不胜感激。

编辑:更多研究表明(来自 lsusb 输出)0x81 端点是一种中断类型。将 2 和 2 放在一起使我得出的结论是,我既不需要批量传输也不需要控制传输,而是需要中断传输:

不幸的是,我仍然收到超时错误。

编辑:需要更多信息:

有人建议同步控制(这对我需要做的一半来说很好)我应该使用usb4java.LibUsb controlTransfer方法,这很好但是有几个参数需要填充,我不知道他们需要填写的是什么:

对于我需要填充这些字段的答案的任何和所有方向都将是一个很大的帮助并非常感谢。

0 投票
0 回答
656 浏览

java - USB 错误 2:Windows 7 上的参数无效,而不是 Ubuntu

我正在为自定义 USB 收发器使用 Java 中的半跨平台 USB 控制库。大部分工作都是在 Ubuntu 中完成的,并且在短时间内,控制库(以及我为测试它而构建的表单)工作得很好(除了表单由于某种原因不会关闭)。然后,我改变了一些东西。我不记得它是什么,但显然它完全破坏了一半的功能(我仍然可以从收发器读取的部分,但我不能写入它)。

这真是令人抓狂。

无论如何,编写器组件的代码在这里:

为什么这在 Ubuntu 中可以正常工作,而在 Windows 中却惨遭失败?我在假设 Java 是跨平台的前提下工作,意味着可以在不从一个操作系统到下一个操作系统的任何更改的情况下正常工作。

另外,我从 USB 嗅探器读取了控制传输(我只能假设是在写入设备时)。包设置是这样的:0x21 0x9 0x0 0x2 0x0 0x0 0x5 0x0

我真的不知道还能做些什么来完成这项工作。该错误消息不是很有用,我希望也许其他人遇到了这个问题并且可以帮助我。

0 投票
1 回答
752 浏览

java - Usb4java 备用设置

我有一个设备,我必须通过 USB 与之通信。

它有 1 个活动配置,有 1 个接口。

该界面有更多的备用设置(IDLE、PROF1、PROF2)。默认情况下 IDLE 处于活动状态。

我的问题是,我怎样才能激活 PROF2 设置?

代码...

0 投票
2 回答
1690 浏览

java - 使用“USB4JAVA.jar”获取linux中附加设备的信息

我用谷歌搜索了关于获取连接到 linux OS 的 USB 的信息,发现 USB4JAVA 非常有帮助。我找到了如下示例代码。现在运行它后,我得到了“java.lang.ExceptionInInitializerError”的异常。

我使用的代码:

我得到的例外: