无法声明界面:资源繁忙

Wil*_*ill 2 java eclipse linux usb4java

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

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

public static void claimDevice(DeviceHandle handle, int interfaceNum){
    int r = LibUsb.claimInterface(handle, interfaceNum);
    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

我得到一个例外,告诉我"资源很忙":

USB error 6: Unable to claim interface: Resource busy
Run Code Online (Sandbox Code Playgroud)

我之前使用过Ubuntu(但从来没有用过开发,所以我真的很擅长这个).如果这不是应该处理这个问题的地方那么请告诉我在哪里接受它所以我可以得到答案.

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

Wil*_*ill 6

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

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);
    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

希望这对你也有帮助.