xusb: Print configuration descriptor length
authorTormod Volden <debian.tormod@gmail.com>
Sun, 31 Oct 2021 08:12:07 +0000 (09:12 +0100)
committerTormod Volden <debian.tormod@gmail.com>
Sun, 31 Oct 2021 08:12:48 +0000 (09:12 +0100)
Also inform about reading OS string descriptor.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
examples/xusb.c
libusb/version_nano.h

index 61ce4dd..cf7c7a8 100644 (file)
@@ -863,6 +863,7 @@ static int test_device(uint16_t vid, uint16_t pid)
 
        printf("\nReading first configuration descriptor:\n");
        CALL_CHECK_CLOSE(libusb_get_config_descriptor(dev, 0, &conf_desc), handle);
+       printf("         descriptor length: %d\n", conf_desc->bLength);
        nb_ifaces = conf_desc->bNumInterfaces;
        printf("             nb interfaces: %d\n", nb_ifaces);
        if (nb_ifaces > 0)
@@ -932,12 +933,16 @@ static int test_device(uint16_t vid, uint16_t pid)
                        printf("   String (0x%02X): \"%s\"\n", string_index[i], string);
                }
        }
-       // Read the OS String Descriptor
+
+       printf("\nReading OS string descriptor:");
        r = libusb_get_string_descriptor(handle, MS_OS_DESC_STRING_INDEX, 0, (unsigned char*)string, MS_OS_DESC_STRING_LENGTH);
        if (r == MS_OS_DESC_STRING_LENGTH && memcmp(ms_os_desc_string, string, sizeof(ms_os_desc_string)) == 0) {
                // If this is a Microsoft OS String Descriptor,
                // attempt to read the WinUSB extended Feature Descriptors
+               printf("\n");
                read_ms_winsub_feature_descriptors(handle, string[MS_OS_DESC_VENDOR_CODE_OFFSET], first_iface);
+       } else {
+               printf(" no descriptor\n");
        }
 
        switch(test_mode) {
index b82862d..f526fcf 100644 (file)
@@ -1 +1 @@
-#define LIBUSB_NANO 11663
+#define LIBUSB_NANO 11665