Partilhar via


Ativação remota de dispositivos USB

Dizem que os dispositivos USB que podem responder a sinais de ativação externos enquanto suspensos têm uma funcionalidade de ativação remota . Exemplos de dispositivos que têm uma funcionalidade de ativação remota são mouses, teclados, hubs USB, modems (ativar anel), NICs, ativar na inserção de cabo. Todos esses dispositivos são capazes de produzir sinalização de ativação remota. Os dispositivos que não são capazes de gerar sinalização de ativação remota incluem câmeras de vídeo, dispositivos de armazenamento em massa, dispositivos de áudio e impressoras.

Os drivers para dispositivos que dão suporte à sinalização de ativação remota devem emitir um IRP IRP_MN_WAIT_WAKE , também conhecido como IRP de ativação de espera, para armar o dispositivo para ativação remota. O mecanismo de ativação de espera é descrito na seção Suporte a dispositivos que têm recursos de Wake-Up.

Ativação remota em um dispositivo folha USB

Na terminologia USB, um dispositivo USB é habilitado para ativação remota quando seu recurso de DEVICE_REMOTE_WAKEUP é definido. A especificação USB especifica que o software host deve definir o recurso de ativação remota em um dispositivo "apenas antes" de colocar o dispositivo em suspensão.

Por esse motivo, a pilha USB não define o recurso DEVICE_REMOTE_WAKEUP em um dispositivo depois de receber um IRP de ativação de espera para o dispositivo. Em vez disso, ele aguarda até receber uma solicitação IRP_MN_SET_POWER para alterar o estado do dispositivo WDM do dispositivo para D1/D2. Na maioria das circunstâncias, quando a pilha USB recebe essa solicitação, ela define o recurso de ativação remota no dispositivo e coloca o dispositivo em suspensão suspendendo a porta upstream do dispositivo. Ao projetar e depurar seu driver, você deve ter em mente que há uma relação flexível entre armar um dispositivo USB para ativação no software, por meio de um IRP de ativação de espera e armar o dispositivo para ativação no hardware definindo o recurso de ativação remota.

A pilha USB não habilita o dispositivo para ativação remota quando recebe uma solicitação para alterar o dispositivo para um estado de suspensão D3, pois de acordo com o modelo de energia do WDM, os dispositivos em D3 não podem ativar o sistema.

Comportamento de ativação ao anexar ou desanexar um dispositivo USB

Outro aspecto exclusivo da implementação usb do modo de energia do WDM diz respeito ao arming de hubs USB para ativação remota. Se um dispositivo folha USB no barramento estiver armado para ativação, a pilha USB também armará o controlador de host USB para ativação, mas não necessariamente armará nenhum dos hubs USB upstream do dispositivo. O driver do hub USB arma um hub para ativação remota somente se a pilha USB estiver configurada para ativar o sistema em eventos de anexação e desanexação (plug/unplug).

Os controladores de host USB da INTERFACE do Controlador de Host Universal (UHCI) não distinguem entre a sinalização de ativação remota e os eventos de alteração de conexão nas portas do hub raiz. Isso significa que o sistema sempre será ativado de um estado de baixa energia do sistema quando um dispositivo USB estiver conectado ou desconectado de uma porta do hub raiz se houver pelo menos um dispositivo atrás do controlador UHCI que esteja armado para ativação.