libusb:Linux上的C++错误[op_open] getcap失败

Edm*_*tle 19 c++ linux libusb raspberry-pi

我libusb_open在Linux上调用C++(在Raspberry Pi上运行但使用Exagear虚拟化为x86)时遇到了麻烦.

我可以找到一个使用的设备,libusb_get_device_list但它似乎将设备转换为设备处理程序使用libusb_open导致问题,即使它返回0(成功),但没有其他命令工作.它给了我错误:

libusb: error [op_open] getcap failed (22)
Run Code Online (Sandbox Code Playgroud)

我希望我已经提供了足够的信息 - 如果没有,请告诉我,我可以添加更多信息.

提前致谢!

UPDATE

一点挖掘表明以下命令产生错误(在libusb中):

r = ioctl(hpriv->fd, IOCTL_USBFS_GET_CAPABILITIES, &hpriv->caps);
Run Code Online (Sandbox Code Playgroud)

哪里IOCTL_USBFS_GET_CAPABILITIES是_IOR('U', 26, __u32).挖掘显示错误22来自ioctl无效论证.我仍然试图取消这个,但是非常感谢任何帮助.