Los descriptores de dispositivos USB están contenidos dentro de los dispositivos USB. Por ejemplo, el siguiente código se toma del código del dispositivo USB escrito con Atmel Sofware Framework:
#define USB_DEVICE_VENDOR_ID USB_VID_ATMEL
#define USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_ASF_CDC
#define USB_DEVICE_MAJOR_VERSION 1
#define USB_DEVICE_MINOR_VERSION 0
#define USB_DEVICE_MANUFACTURE_NAME "Peter Johnson"
#define USB_DEVICE_PRODUCT_NAME "IMP"
Así que puedo cambiarlo fácilmente compilando el programa y escribiéndolo en la memoria FLASH del microcontrolador porque tengo el código fuente. Sin embargo, en su caso, ya que el dispositivo ha sido desarrollado por un tercero, deja las siguientes posibilidades principales que se me ocurren:
-
El descriptor puede almacenarse en ROM (memoria de solo lectura) o similar, lo que hace prácticamente imposible cambiarlo. Probablemente no sea tan probable para un dispositivo de tipo de diagnóstico.
-
El descriptor puede almacenarse en FLASH u otro estilo de memoria no volátil, pero puede que no tenga ningún tipo de cargador de arranque, sino que requiere la conexión de un programador de hardware y, dependiendo del dispositivo, puede ser difícil determinar qué se necesita .
-
Es posible que tenga un cargador de arranque que permita que se modifique técnicamente, pero es posible que el proveedor no esté interesado en asistir y / o proporcionar los binarios de firmware en forma no cifrada. Es probable que la mayoría del firmware de producción tenga habilitada la protección de código para evitar que lo vuelvas a leer.
-
El proveedor puede estar encantado de ayudarle y proporcionarle un nuevo firmware con los cambios realizados por usted.
-
Es posible que el dispositivo ya tenga una forma documentada / compatible para cambiar los detalles del descriptor.
Lo primero que haría es contactar al proveedor para preguntarles: si está comprando su hardware, es posible que no se opongan a que se lo vuelva a etiquetar de alguna manera. Si no lo recibe después de recibir el dispositivo, debe abrirlo y ver qué tipo de chip se utiliza para la interfaz USB y realizar una búsqueda de más detalles sobre el número de pieza.
Para una herramienta de diagnóstico que es presumiblemente un producto de volumen relativamente bajo es probable que sea un microcontrolador o algún tipo de chip puente USB como un convertidor de USB a serie. A algunos fabricantes les gusta eliminar los números de pieza para ofuscar sus diseños y las hojas de datos de algunos chips solo están disponibles bajo NDA, pero realmente no hay forma de saberlo hasta que reciba el dispositivo.