USB do Windows desligado

USB do Windows desligado

Tenho um equipamento que se comunica através de uma porta COM e é alimentado pela porta USB. Meu problema é que quando o PC reinicia, a energia é mantida, mas a comunicação com a porta COM é interrompida. A única maneira de reiniciar é remover e inserir o cabo USB.

Estou desenvolvendo uma aplicação Delphi que desliga a alimentação USB. Eu tentei usar o devcon para fazer isso:

devcon.exe disable *ID*
devcon.exe enable *ID*
devcon.exe restarts *ID*

Mas apenas interrompe a comunicação com a porta COM. A alimentação USB é mantida.

Existe uma maneira de desligar a porta USB para que o equipamento também desligue?

Qualquer dica será muito útil.

Responder1

Para a maioria dos PCs, a alimentação USB VBUS nas portas ROOT não possui nenhum switch de hardware no lado superior para controlar o VBUS, portanto, não há como ligar/desligar o VBUS por software. O VBUS é conectado quase diretamente ao PS do sistema, ao barramento +5VSB (standby), portanto, mesmo que o PC esteja desligado, o VBUS permanece. Isso é feito desta forma para que um teclado ou mouse possa ativar o PC. (Os laptops são um pouco diferentes, depende). Portanto, você tem três opções:

(1) Use um hub bom (certificado e caro) com portas que possuam switches de alta velocidade para conectar-se aos seus dispositivos COM. Quando o PC for reinicializado, o novo ciclo de enumeração para o hub USB terá o estado USB_RESET e os interruptores do lado superior serão desligados e ligados. Pode não ser fácil encontrar esse tipo de hub, já que os fabricantes geralmente têm opções de preenchimento em seus PCBs para usar interruptores de lado alto (adicionando custo) ou contorná-los com polyfuse reconfigurável (barato) no ponto de montagem.

(2) Use uma fonte de energia controlada separada como estaChave SPDT controlada por USBentre a porta USB e o seu equipamento.

(3) Corrija seu equipamento de porta COM e/ou driver host para implementar o protocolo "reset/inicializar".

informação relacionada