Add support for Samsung and Motorola devices.
Also update the linux code. Some devices have more complex USB descriptors which can't be parsed with the simple assumption of just skipping the endpoint descriptors.
This commit is contained in:
parent
d52f54c455
commit
de6f62a609
|
@ -318,9 +318,13 @@ static int find_usb_device(const char *base,
|
|||
found_device = 1;
|
||||
break;
|
||||
} else {
|
||||
// skip to next interface
|
||||
bufptr += (interface->bNumEndpoints * USB_DT_ENDPOINT_SIZE);
|
||||
}
|
||||
// seek next interface descriptor
|
||||
if (i < interfaces - 1) {
|
||||
while (bufptr[1] != USB_DT_INTERFACE) {
|
||||
bufptr += bufptr[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
} // end of for
|
||||
|
||||
adb_close(fd);
|
||||
|
|
|
@ -39,11 +39,17 @@
|
|||
#define VENDOR_ID_GOOGLE 0x18d1
|
||||
// HTC's USB Vendor ID
|
||||
#define VENDOR_ID_HTC 0x0bb4
|
||||
// Samsung's USB Vendor ID
|
||||
#define VENDOR_ID_SAMSUNG 0x04e8
|
||||
// Motorola's USB Vendor ID
|
||||
#define VENDOR_ID_MOTOROLA 0x22b8
|
||||
|
||||
/** built-in vendor list */
|
||||
int builtInVendorIds[] = {
|
||||
VENDOR_ID_GOOGLE,
|
||||
VENDOR_ID_HTC,
|
||||
VENDOR_ID_SAMSUNG,
|
||||
VENDOR_ID_MOTOROLA,
|
||||
};
|
||||
|
||||
#define BUILT_IN_VENDOR_COUNT (sizeof(builtInVendorIds)/sizeof(builtInVendorIds[0]))
|
||||
|
|
Loading…
Reference in New Issue