我想通过libusb从HOST PC(linux)与Android附件模式通信,并且我已经设置了android附件模式。但我无法获得USB手柄。
$ lsusb
Bus 001 Device 010: ID 18d1:2d00 Google Inc. Android-powered device in accessory mode
当我使用libusb获取此USB句柄时,它总是返回NULL。如何解决?谢谢。
libusb_init(NULL);
struct libusb_device_handle* handle = libusb_open_device_with_vid_pid(NULL, 0x18d1,0x2d00);
// this handle always return NULL
答案 0 :(得分:0)
我通过libusb_set_debug(NULL, 3);
在libusb中打开了调试消息
而且我发现该用户没有访问此USB设备的权限。
我通过在51-android.rules
中添加名为/etc/udev/rules.d/
的文件来修复它
51-android.rules:
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"