java - 无法声明接口(interface) : Resource busy

标签 java linux eclipse usb4java

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

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

public static void claimDevice(DeviceHandle handle, int interfaceNum){
    int r = LibUsb.claimInterface(handle, interfaceNum);
    .
    .
    .

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

USB error 6: Unable to claim interface: Resource busy

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

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

最佳答案

我能够(多亏了一些哄骗)找到了谷歌的答案:对于遇到这个错误并且不想挖掘的任何其他人,在我工作的上下文中,我被要求分离接口(interface)在我声明它之前从内核中获取它,就像这样:

public static void claimDevice(DeviceHandle handle, int interfaceNum){
    int r = LibUsb.detachKernelDriver(handle, interfaceNum);
    if (r != LibUsb.SUCCESS && 
        r != LibUsb.ERROR_NOT_SUPPORTED && 
        r != LibUsb.ERROR_NOT_FOUND) throw new LibUsbException("Unable to detach kernel     driver", r);
    .
    .
    .

希望这对你也有帮助。

关于java - 无法声明接口(interface) : Resource busy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23764742/

相关文章:

java - Spring AOP 切入点

java - 服务器和客户端之间的简单连接。客户端发送消息,服务器正确接收消息。但是当服务器尝试回复时什么也不起作用?

java - 如何将 JSONArray 放入 Android ListView 中

linux - 文件被复制并重命名,但我也收到错误

Eclipse:如何使用 key 文件通过 ssh 克隆 git?

java - java中不同类的两个矩阵相乘

java - 如何用图像中的蓝色半透明圆替换我的 Android 应用 Google map 半径圆?

linux - 在 Linux 上使用 gcc 进行增量链接。可能吗?

linux - df -h 和 ll -h 返回信息不一致

java - Android 图像的尺寸