Este problema vinha ocorrendo com o meu PC após a atualização com a Placa-Mãe ASUS ROG Crosshair VIII Hero Wi-Fi AMD X570 e Processador AMD Ryzen 9 3900X. Isto parece ter iniciado após algumas atualizações do Windows, inclusive de drivers opcionais enquanto eu estava tentando resolver um problema de travamentos com tela azul.
Problema: O micro começou a acordar pouco tempo após dormir (suspensão). Ele entra em estado de espera e logo (após cerca de 20~30 minutos) é acordado.
Para investigar o problema abri o Windows Powershell como administrador e usei o seguinte comando:
powercfg - lastwake
Obtive esta resposta:
Contagem de Histórico de Ativação - 1 Histórico de Ativação [0] Contagem da Origem de Ativação - 1 Origem de Ativação [0] Tipo: Dispositivo Caminho da Instância: PCI\VEN_1022&DEV_1483&SUBSYS_87C01043&REV_00\3&11583659&0&19 Nome Amigável: Descrição: Ponte PCI para PCI Fabricante: (Dispositivos padrão do sistema)
Atenção para a string do caminho da instância. Usando o HWiNFO64 encontrei esta mesma string batendo com o seguinte dispositivo AMD Starship/Matisse/Vermeer – PCIe GPP Bridge[7:0].
Notei que todos os itens na árvore deste dispositivo estão relacionados com a placa de vídeo.
Em seguida, voltei no Powershell e usei o seguinte comando:
powercfg -devicequery wake_armed
Obtive então essa lista:
Mouse compatível com HID (001) Dispositivo de teclado HID Intel(R) I211 Gigabit Network Connection Dispositivo de teclado HID (002) Realtek PCIe 2.5GbE Family Controller NVIDIA USB Type-C Port Policy Controller Mouse compatível com HID (008) Dispositivo de teclado HID (008) Intel(R) Wi-Fi 6 AX200 160MHz
Aqui chama a atenção o dispositivo NVIDIA USB Type-C Port Policy Controller que é o único relacionado com a placa de vídeo. Ele também é listado lá no HWiNFO64 como NVIDIA TU106 – USB Type-C Port Policy Controller.
Localizei este dispositivo no gerenciador de dispositivos, abri suas propriedades e notei que na aba Gerenciamento de Energia, ele estava com permissão para acordar o computador. Desmarquei a caixa de seleção Permitir que este dispositivo acorde o computador.
Isto resolve o problema temporariamente. Porém, ao reiniciar o computador esta opção volta sempre marcada novamente, e aí o problema retorna. Para contorna-lo criei um arquivo batch com o seguinte comando:
powercfg -devicedisablewake "NVIDIA USB Type-C Port Policy Controller"
Em seguida, coloquei este batch para ser executado em cada inicialização do sistema, usando o Agendador de Tarefas do Windows, e lembrando de marcar para executar com privilégios de administrador e estando o usuário conectado ou não.
Mas um novo problema surgiu, agora outra Ponte PCI para PCI passou a acordar o PC:
PS C:\Windows\system32> powercfg -lastwake Contagem de Histórico de Ativação - 1 Histórico de Ativação [0] Contagem da Origem de Ativação - 1 Origem de Ativação [0] Tipo: Dispositivo Caminho da Instância: PCI\VEN_1022&DEV_1483&SUBSYS_87C01043&REV_00\3&11583659&0&0A Nome Amigável: Descrição: Ponte PCI para PCI Fabricante: (Dispositivos padrão do sistema)
O dispositivo que corresponde a essa string do caminho da instância tem muitos mais elementos em suas ramificações do que a outra.
Foquei então na lista de dispositivos com permissão para acordar o PC:
PS C:\Windows\system32> powercfg /devicequery wake_armed Mouse compatível com HID (001) Dispositivo de teclado HID GRUPO : Ethernet Team - Intel(R) I211 Gigabit Network Connection Dispositivo de teclado HID (002) GRUPO : Ethernet Team - Realtek PCIe 2.5GbE Family Controller Mouse compatível com HID (008) Dispositivo de teclado HID (008) Intel(R) Wi-Fi 6 AX200 160MHz
Aqui notei algo estranho: são 3 teclados e 2 mouses. Observando o gerenciador de dispositivos achei 6 teclados e 5 mouses. Dentre os teclados, havia um teclado virtual “em Corsair composite virtual input device” e outro “em Logitech G HUB Virtual Keyboard”. Também achei um mouse “em Corsair composite virtual input device”. Essas são as strings que aparecem como local do dispositivo. Porém, esses dispositivos virtuais, provavelmente criados por Logitech G Hub e Corsair iCUE, não tem permissão para acordar o PC. Além disso, teclado e mouse nem aparecem na lista de dispositivos sob aquela Ponte PCI para PCI que está acordando o PC.
Minha tentativa então foi de tirar a permissão de acordar o PC do adaptador WiFi, que é um “Intel (R) Wi-Fi 6 AX200 160 MHz”. Eu estou usando as conexões Ethernet e o WiFi está ocioso, então resolvi fazer um teste. De qualquer forma, o adaptador WiFi estava configurado para acordar o PC apenas ao receber um pacote mágico, assim como os adaptadores Ethernet.
E… Problema resolvido! Agora o micro pode dormir em paz até ser acordado pelo teclado, pelo mouse, por um “pacote mágico” Wake-on-LAN nos adaptadores Ethernet, ou por algum evento agendado no Agendador de Tarefas, mas não fica mais acordando aleatoriamente.
Por que o “NVIDIA USB Type-C Port Policy Controller” ficava acordando o PC? Isto continua sendo uma incógnita para mim, mas pelo menos o problema foi devidamente contornado. Já vi o problema relatado em algumas mensagens no forum da NVidia, mas sem solução. É provável que a NVidia precise resolver isso em seus drivers e softwares.
Por que o adaptador WiFi ficava acordando o PC mesmo estando configurado para fazer isso apenas quando recebesse algum pacote mágico? Também fiquei sem saber. Nesse caso é possível que alguma atualização de driver resolva o problema. Estou usando a versão 21.10.2.2 de 13/05/2019 e sei que existem versões mais novas, mas não instalei ainda porque estou investigando alguns problemas de tela azul que parecem estar relacionados com driver.
Compartilhe o artigo com seus amigos se você gostou . O Skooter Blog precisa de sua ajuda na divulgação para continuar existindo.