From 6d44c1fdd361557f4b06aec627fc582388818543 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 7 Nov 2015 19:01:30 +0100 Subject: [PATCH] USB: Add manufacturer name string descriptor ... and use indexed array initializers for more safety/clarity --- firmware/src_simtrace/usb.c | 45 +++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/firmware/src_simtrace/usb.c b/firmware/src_simtrace/usb.c index a13c2de5..686f6bf7 100644 --- a/firmware/src_simtrace/usb.c +++ b/firmware/src_simtrace/usb.c @@ -47,6 +47,36 @@ static const unsigned char langDesc[] = { USBStringDescriptor_ENGLISH_US }; +const unsigned char manufStringDescriptor[] = { + + USBStringDescriptor_LENGTH(24), + USBGenericDescriptor_STRING, + USBStringDescriptor_UNICODE('s'), + USBStringDescriptor_UNICODE('y'), + USBStringDescriptor_UNICODE('s'), + USBStringDescriptor_UNICODE('m'), + USBStringDescriptor_UNICODE('o'), + USBStringDescriptor_UNICODE('c'), + USBStringDescriptor_UNICODE('o'), + USBStringDescriptor_UNICODE('m'), + USBStringDescriptor_UNICODE(' '), + USBStringDescriptor_UNICODE('-'), + USBStringDescriptor_UNICODE(' '), + USBStringDescriptor_UNICODE('s'), + USBStringDescriptor_UNICODE('.'), + USBStringDescriptor_UNICODE('f'), + USBStringDescriptor_UNICODE('.'), + USBStringDescriptor_UNICODE('m'), + USBStringDescriptor_UNICODE('.'), + USBStringDescriptor_UNICODE('c'), + USBStringDescriptor_UNICODE('.'), + USBStringDescriptor_UNICODE(' '), + USBStringDescriptor_UNICODE('G'), + USBStringDescriptor_UNICODE('m'), + USBStringDescriptor_UNICODE('b'), + USBStringDescriptor_UNICODE('H'), +}; + const unsigned char productStringDescriptor[] = { USBStringDescriptor_LENGTH(10), @@ -145,17 +175,18 @@ const unsigned char MITMConfigStringDescriptor[] = { }; enum strDescNum { - PRODUCT_STRING = 1, SNIFFER_CONF_STR, CCID_CONF_STR, PHONE_CONF_STR, MITM_CONF_STR, STRING_DESC_CNT + PRODUCT_STRING = 1, MANUF_STR, SNIFFER_CONF_STR, CCID_CONF_STR, PHONE_CONF_STR, MITM_CONF_STR, STRING_DESC_CNT }; /** List of string descriptors used by the device */ static const unsigned char *stringDescriptors[] = { langDesc, - productStringDescriptor, - snifferConfigStringDescriptor, - CCIDConfigStringDescriptor, - phoneConfigStringDescriptor, - MITMConfigStringDescriptor + [PRODUCT_STRING] = productStringDescriptor, + [MANUF_STR] = manufStringDescriptor, + [SNIFFER_CONF_STR] = snifferConfigStringDescriptor, + [CCID_CONF_STR] = CCIDConfigStringDescriptor, + [PHONE_CONF_STR] = phoneConfigStringDescriptor, + [MITM_CONF_STR] = MITMConfigStringDescriptor }; /*------------------------------------------------------------------------------ @@ -573,7 +604,7 @@ const USBDeviceDescriptor deviceDescriptor = { SIMTRACE_VENDOR_ID, SIMTRACE_PRODUCT_ID, 1, /* Release number */ - 0, /* No string descriptor for manufacturer */ + MANUF_STR, /* Indesx of manufacturer string descriptor */ PRODUCT_STRING, /* Index of product string descriptor */ 0, /* No string descriptor for serial number */ 4 /* Device has 4 possible configurations */