A Acer não documenta oficialmente os registros internos de seus notebooks, então é necessário encontrá-los manualmente. Criei essa thread esperando que talvez a comunidade possa documentar os registros internos de seus notebooks.
¿O que são os registros internos? A CPU não é o único processador que encontra em seu notebook, há também outros processadores destinados à outras funções. Aqui vamos usar a memória do controlador embarcado, é um microcontrolador de baixíssima potência que é encarregado de gerenciar os componentes da máquina, como definir as cores do teclado, manusear a bateria, controlar os coolers etc. O microcontrolador tem uma memória volátil que armazena dados sobre os diversos componentes, cada dado é representado em diferente endereço dessa memória, que é definida pela fabricante.
Uso GNU/Linux e originalmente não tinha como controlar os coolers do notebook. Não sei se o Linux Gutta oferece essas funções porque meu notebook veio com Windows e a Acer não disponibiliza ferramentas para o Gutta no site oficial. Sugestão para a Acer: Ofereçam também as ferramentas, drivers, o kernel e a própria ISO que vocês usam para o Gutta no site de vocês, não apenas para o Windows. Além disso, a não disponibilização do código-fonte do kernel em sistemas oficiais como o Gutta (que não tem informação nenhuma na internet sobre a distro) é um infração à licença GPL, vocês devem fornecer o código-fonte do kernel e de outros componentes sob essa licença ou similares. Software-livre não é casa da mãe Joana, respeite a liberdade dos seus usuários.
Então encontrei a ferramenta nbfc-linux (não posso postar links por conta da idade da minha conta, mas vocês podem achar facilmente), mas precisava encontrar os endereços certos para poder fazer funcionar.
Tenho um Acer Nitro 5 AN515-47, e esses são os respectivos dados que encontrei testando:
GPU Fan Speed Write: 0x3A (Max 0x64)
GPU Fan Speed Read: 0x15 (16-bit)
CPU Fan Speed Write: 0x37 (Max 0x64)
CPU Fan Speed Read: 0x13 (16-bit)
GPU auto mode: 0x21 (0x10 Auto 0x30 Manual)
CPU auto mode: 0x22 (0x04 Auto 0x0C Manual)
Battery control: 0xDD (0x00 Charge 0x80 Cancel charging)
Keyboard light automatic turn off: 0x06 (0x00 Disabled 0x1E Enabled)
Energy mode: 0x2C (0x01 Standard 0x00 Quiet 0x04 Performance)
Microphone key LED: 0x30 (0x10 On 0x00 Off) - Read-only, seems to be managed by BIOS. Only the 4th bit is used.
NOTE: Registry 0x03 has to be set to 0x11 to enable fan control in GNU/Linux
¿Como encontrar os endereços?
A forma que eu fiz para encontrar foi instalando o NBFC no Windows, e depois usando o ec_prober (CMD) da mesma ferramenta para encontrar os endereços. Nenhuma outra ferramenta que analisa a memória do controlador embarcado funcionou nesse notebook.
Você pode usar a função "monitor" do ec_prober para ter um histórico dos valores de cada endereço. Enquanto isso, utilize as ferramentas oficiais da Acer como o NitroSense e o Acer Care Center para alterar as diferentes funções proprietárias. Vá anotando o que for tendo alteração. Você pode testar alterar algumas depois com a função "write" (leia o aviso embaixo).
Nota: Embora não haja riscos em ler a memória do controlador embarcado, escrever diretamente pode sim apresentar algum risco. Sendo uma memória volátil, normalmente apenas uma reinicialização resolve qualquer problema que aparecer, mas não sou responsável por qualquer dano no seu equipamento. Você precisa ter conhecimento do que você está fazendo.