PC usb host通过libusb与Android accessory模式通信
PC usb host communicate with Android accessory mode through libusb
我想通过 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 句柄时,它总是 return NULL。如何解决?谢谢
libusb_init(NULL);
struct libusb_device_handle* handle = libusb_open_device_with_vid_pid(NULL, 0x18d1,0x2d00);
// this handle always return NULL
我通过 libusb_set_debug(NULL, 3);
在 libusb 中打开了调试消息
而且我发现这个用户没有访问这个usb设备的权限。
我通过在 /etc/udev/rules.d/
中添加一个名为 51-android.rules
的文件来修复它
51-android.rules :
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
我想通过 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 句柄时,它总是 return NULL。如何解决?谢谢
libusb_init(NULL);
struct libusb_device_handle* handle = libusb_open_device_with_vid_pid(NULL, 0x18d1,0x2d00);
// this handle always return NULL
我通过 libusb_set_debug(NULL, 3);
在 libusb 中打开了调试消息
而且我发现这个用户没有访问这个usb设备的权限。
我通过在 /etc/udev/rules.d/
51-android.rules
的文件来修复它
51-android.rules :
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"