Esto no se puede considerar directamente relacionado con la programación, pero no sé dónde más preguntar. He intentado buscar en una variedad de sitios web, pero hasta ahora Google no ha sido mi amigo.¿Tengo que escribir mi propio controlador USB del lado del host para un dispositivo CDC
Tengo problemas para saber si necesito escribir el controlador de mi dispositivo para las diferentes plataformas windows/linux/mac a las que está conectado el dispositivo que estoy desarrollando, o si la funcionalidad viene de los controladores estándar.
Mi dispositivo es un USB CDC (dispositivo de comunicaciones) que aparece como COM: puerto. También incluye un cargador de batería que, una vez que se haya enumerado el dispositivo, requiere la corriente de suministro de carga de 5 unidades (500 mA) que se puede extraer del conector USB. Mi problema es que si el controlador USB en el host decide que no puede entregar la corriente de suministro completo, entonces no debe enumerar el dispositivo.
Si, como alternativa, proporciono un segundo conjunto de configuración que solo permite que el dispositivo extraiga 1 unidad de carga del conector de interfaz, los controladores estándar enumerarán el dispositivo que usa esta configuración.
Creo que primero hay que buscar en la especificación USB para ver si estas cosas están permitidas. Si la especificación lo permite, los navegadores estándar probablemente lo admitirán. – kgiannakakis
En la especificación USB 2.0, el descriptor del dispositivo permite una serie de configuraciones, cada una de las cuales puede especificar que requiere una cierta cantidad de energía de la interfaz. Entonces, supongo, dependerá del controlador elegir entre estas diferentes configuraciones. –