¿Es posible cambiar los descriptores enumerados de un USB (desde el lado del sistema operativo) después de enchufarlo?

0

No quiero decir, como en el cambio, los descriptores integrados en el dispositivo, sino los descriptores que el sistema operativo ha enumerado. ¿Se puede hacer esto desde el lado del sistema operativo sin tocar el dispositivo USB?

Por ejemplo, ¿puedo conectar un Arduino UNO predeterminado para enviar señales de pulsación de teclado, luego en el lado del sistema operativo (Linux en mi caso específico, pero me gustaría saber acerca de Windows y OS X también) cambiar ¿Los descriptores para que el sistema operativo pueda interpretar el dispositivo como (por ejemplo) un teclado sin tener que modificar el firmware DFU del Arduino directamente?

    
pregunta trusktr

2 respuestas

1

Cypress semiconductor tiene una línea de productos que hacen esto. Lo llaman "re-numeración". No estoy seguro de cuán factible es esto con otros dispositivos, pero aquí hay un artículo que explica el proceso que podría ayudar: enlace

    
respondido por el kjgregory
0

Puede modificar o combinar el firmware 16u2 de la UNO entre la compilación Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3 y la compilación HID. De modo que se inicie como una versión usb por el mismo período de tiempo que el gestor de arranque de 328p está esperando un avrdude y luego, después de ese tiempo, ejecute la parte HID del firmware.

Note que la fuente para el 16u2 es. \ hardware \ arduino \ avr \ firmwares \ atmegaxxu2. y en realidad requiere al menos avr-gcc 4.3.3 (no suministrado 4.3.2) Se debe tener cuidado de apagar correctamente el USB y reiniciarlo entre los descriptores.

    
respondido por el mpflaga

Lea otras preguntas en las etiquetas