Hay una forma de engañar al Host. Podemos dejar el descriptor de configuración por defecto, y aun asi consumir los 500mA (Ojo que no allá otro dispositivo conectado al bus porque podemos quemar el HubRoot ).
El bus Usb puede proveer hasta 500mA. Los descriptores son usados para que el Host haga un balance de carga, es decir, si suponemos que hay 3 dispositivos en el bus, y cada uno consume 250mA, el host puede mandar a suspender uno, y proveer corriente a los otros dos. Después, si hay algún dispositivo de esos dos que no necesita estar activo, lo suspende y puede activar el restante automáticamente.
Hay 5 tipos de descriptor: de Dispositivo, de configuración, de Interfaz, de Endpoint y de string. El consumo se carga en el octavo byte de los descriptores de configuración utilizados.
Si la idea es usar alimentación de una fuente ó del bus USB yo utilizaria, además del diodo un Jumper de tres pines que provee la alimentación de la fuente ó del bus de forma excluyente.