Eu me deparei com um problema peculiar. Deixe-me descrever: (por favor, leia EDIT2 como ele dá a parte mais importante da situação)
snd_hda_intel.power_save=0 snd_hda_intel.power_save_controller=N
As ferramentas do modo laptop são iniciadas, a economia de energia de snd_hda_intel é desativada:
Veja o arquivo de texto em link
/sys/module/snd_hda_intel/parameters/power_save
está definido como 0, mas o sistema ainda mostra o comportamento de economia de energia - a característica de clicar em fones de ouvido um pouco depois de parar a reprodução do som e novamente ao iniciar o som quando a placa é ligada.
Se eu usar o powertop, vá para o Tunables, ele diz que o gerenciamento de energia do codec de áudio está desativado. Agora, se aqui, pressionar Enter é ligar e desligar o gerenciamento de energia, o problema é resolvido, não há mais economia de energia. Estou intrigado porque isso é necessário embora. Além disso, talvez eu esteja sendo bobo, mas afirma powertop ele executa o comando
echo '' > '/sys/module/snd_hda_intel/parameters/power_save';
para desativar isso. Executar isto a partir do terminal, no entanto, dá um erro
bash: echo: write error: Invalid argument
Eu posso fazer
echo '0' > /sys/module/snd_hda_intel/parameters/power_save
mas esse parâmetro já está supostamente definido como 0 e esse comando não corrige o problema. Preciso habilitar e desabilitar no powertop.
Alguma explicação para isso e como consertá-lo sem ter que fazer o truque de energia a cada inicialização? E por que o powertop afirma executar um comando que dá um erro quando tento executá-lo? Por que a economia de energia ocorre quando o parâmetro power_save é 0 (e power_save_controller = N também)?
Mais algumas informações:
Linux gentoo 4.19.1-gentoo #1 SMP Mon Nov 5 21:27:35 CET 2018 x86_64 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz GenuineIntel GNU/Linux
Placa de som:
00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)
EDIT: Também é um fato interessante - se eu fizer a coisa powertop, e depois parar as ferramentas do modo laptop:
systemctl stop laptop-mode
que faz com que o comportamento de economia de energia volte, e o truque de energia é necessário. Então, claramente as ferramentas do modo laptop fazem algo estranho aqui. A inicialização do sistema com as ferramentas do modo laptop desabilitadas faz tudo ficar bem também - não há economia de energia na placa de som.
EDIT2: Ok, eu não tenho idéia do porquê powertop afirma fazer echo '', porque depois de investigar o código-fonte, ele claramente faz
ofstream file;
file.open("/sys/module/snd_hda_intel/parameters/power_save", ios::out);
file << 0;
file.close()
Então não há nada especial sobre o que faz. Como esperado, executar esse código não faz nada, porque é o mesmo que '0'. O que corrige o problema e desativa a economia de energia é 'invertendo' o valor do parâmetro power_save. Então:
echo '1' > /sys/module/snd_hda_intel/parameters/power_save
echo '0' > /sys/module/snd_hda_intel/parameters/power_save
funciona. laptop-mode-tools deve estar fazendo algo estranho, mas no geral isso tem que ser um bug no driver, estou correto?
Tags powertop linux audio laptop-mode