diff --git a/host/simtrace2_usb.c b/host/simtrace2_usb.c index 6cbb8b7f..2016670a 100644 --- a/host/simtrace2_usb.c +++ b/host/simtrace2_usb.c @@ -6,15 +6,7 @@ #include #include "libusb_util.h" - -#define USB_VENDOR_OPENMOKO 0x1d50 -#define USB_PRODUCT_OWHW_SAM3_DFU 0x4000 -#define USB_PRODUCT_OWHW_SAM3 0x4001 -#define USB_PRODUCT_QMOD_HUB 0x4002 -#define USB_PRODUCT_QMOD_SAM3_DFU 0x4003 -#define USB_PRODUCT_QMOD_SAM3 0x4004 -#define USB_PRODUCT_SIMTRACE2_DFU 0x60e2 -#define USB_PRODUCT_SIMTRACE2 0x60e3 +#include "simtrace_usb.h" static const struct dev_id compatible_dev_ids[] = { { USB_VENDOR_OPENMOKO, USB_PRODUCT_OWHW_SAM3 }, @@ -23,15 +15,15 @@ static const struct dev_id compatible_dev_ids[] = { { 0, 0 } }; -//libusb_get_string_descriptor_ascii(hdl, idx, *data, len) - static int find_devices(void) { struct usb_interface_match ifm[16]; int rc, i, num_interfaces; + /* scan for USB devices matching SIMtrace USB ID with proprietary class */ rc = usb_match_interfaces(NULL, compatible_dev_ids, - 255, 2, -1, ifm, ARRAY_SIZE(ifm)); + USB_CLASS_PROPRIETARY, -1, -1, ifm, ARRAY_SIZE(ifm)); + printf("USB matches: %d\n", rc); if (rc < 0) return rc; num_interfaces = rc; diff --git a/host/simtrace_usb.h b/host/simtrace_usb.h new file mode 120000 index 00000000..f1e09825 --- /dev/null +++ b/host/simtrace_usb.h @@ -0,0 +1 @@ +../firmware/libcommon/include/simtrace_usb.h \ No newline at end of file