linux打开一个usb设备失败errno EACCES

时间:2014-08-26 03:06:51

标签: linux permissions usb

我想在linux上连接usb设备。我使用libusb进行连接。但是当我调用usb_open(dev)时,它返回NULL,找到检查libusb源代码,在linux.c中找到usb_open.as的实现

int usb_os_open(usb_dev_handle * dev)

{

char filename[PATH_MAX + 1];

snprintf(filename, sizeof(filename) - 1, "%s/%s/%s",
usb_path, dev->bus->dirname, dev->device->filename);

dev->fd = open(filename, O_RDWR);                                                      
if (dev->fd < 0) {
 dev->fd = open(filename, O_RDONLY);
 if (dev->fd < 0)
   USB_ERROR_STR(-errno, "failed to open %s: %s",
     filename, strerror(errno));
}

return 0;

}

因此在打开时失败,并且errno设置为EACCES。但我检查设备权限如下:

crw-rw-rw- 1 root root 189,139 8月26 10:38 / dev / bus / usb / 002/012

那么,打开设备还有其他条件限制吗?

0 个答案:

没有答案