laptop-mode-tools causa comportamento de economia de energia na placa de som Intel HDA, apesar de / sys / module / snd_hda_intel / parameters / power_save ser 0

1

Eu me deparei com um problema peculiar. Deixe-me descrever: (por favor, leia EDIT2 como ele dá a parte mais importante da situação)

  1. Na inicialização, no GRUB, eu passo os argumentos
    snd_hda_intel.power_save=0 snd_hda_intel.power_save_controller=N
  2. As ferramentas do modo laptop são iniciadas, a economia de energia de snd_hda_intel é desativada:

    Veja o arquivo de texto em link

  3. /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.

  4. 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?

    
por gimex 06.11.2018 / 21:14

0 respostas