【问题标题】:Unable to claim interface: Resource busy无法声明接口:资源繁忙
【发布时间】:2014-05-20 15:58:38
【问题描述】:

我正在使用 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 命令提供了有关设备的大量信息。

【问题讨论】:

  • 你做过谷歌搜索错误信息的基础研究吗(我得到了很多点击)?
  • 与其将答案放在问题中,不如将其移至答案(您可以回答自己的问题),然后在所需的等待期后“接受”它。这将使其对未来的搜索者更有价值,因为他们可以轻松找到答案并看到答案被接受。
  • 再次感谢。从 windows 迁移到 linux 让我有点疲惫......

标签: java linux eclipse usb4java


【解决方案1】:

我能够(多亏了一些哄骗)找到了 Google 的答案:对于遇到此错误并且不想挖掘的其他任何人,在我正在使用的上下文中,我需要分离接口在我可以声明之前从内核中提取它,就像这样:

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);
    .
    .
    .

希望这对你也有帮助。

【讨论】:

    【解决方案2】:

    声明设备的更简单方法是使用usb4java documentation 中所述的强制声明

        UsbConfiguration configuration = device.getActiveUsbConfiguration();
        UsbInterface iface = configuration.getUsbInterface((byte) 0);
        iface.claim(new UsbInterfacePolicy()
        {            
            @Override
            public boolean forceClaim(UsbInterface usbInterface)
            {
                return true;
            }
        });
    
        try
        {
    
            System.out.println("is active: " + iface.isActive());
    
        }
        finally        
        {
            iface.release();
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      相关资源
      最近更新 更多