Linux setterm -powersave - erro: “não pode (des) configurar o modo de economia de energia”

0

Estou tentando desligar totalmente a luz de fundo de um painel de LCD que está embutido em um dispositivo que estou usando. Embora os espaços em branco da tela, você ainda pode ver um brilho da luz de fundo em uma sala escura.

Eu acho que (como root) eu deveria ser capaz de fazer isso da seguinte maneira:

setterm -powersave powerdown > /dev/tty1

que deve forçar o estado do DPMS quando a tela estiver em branco. No entanto, embora man setterm sugira que -powersave seja uma opção válida, qualquer um dos argumentos sugeridos que eu forneça (ligado, desligado, desligado, etc.), recebo um erro:

setterm: cannot (un)set powersave mode: Invalid argument

Eu tentei isso em duas outras instalações do Ubuntu com resultados semelhantes.

Alguém pode sugerir:

  1. Por que esse comando parece não funcionar em lugar algum?
  2. Se existe uma maneira melhor de controlar a energia da luz de fundo?

Informações adicionais:

  • O dispositivo é um O2 Joggler , baseado em um OpenPeak OpenFrame 7 e está executando um Ubuntu ligeiramente modificado 12.04.02 imagem do servidor distribuída pela comunidade para este dispositivo . É uma arquitetura i386 (processador Intel Atom)
  • X (que eu entendo pode interferir com a operação setterm) não está instalado em qualquer lugar que eu tentei isso. Isso também significa que o comando xset não funcionará
  • É fornecido um driver que oferece controle sobre o display via sysfs, incluindo um arquivo psuedo que se destina a desligar a luz de fundo, mas ainda brilha pouco
  • As outras duas instalações que experimentei (12.04 e 10.04) eram dispositivos diferentes: uma VM do VMWare e um servidor Dell físico, respectivamente
por Bob Sammers 08.07.2013 / 17:53

4 respostas

0

Eu descobri porque setterm está dando um erro ... bem até certo ponto. Parece que o método de controlar uma tela do console físico via SSH (ou seja, redirecionar a saída de setterm para /dev/tty1 não funciona neste caso.

Eu estava sendo jogado pelo fato de que a seguinte variação faz funcionar exatamente como esperado (limpa a tela física do console de uma sessão SSH):

root@joggler:/home/bob# setterm -clear all > /dev/tty1

Por que alguns comandos setterm funcionam e outros não, eu não tenho uma resposta para isso.

Para qualquer um que encontre essa pergunta em relação a um problema do Joggler, devo esclarecer que não é possível fazer o que eu quero (desabilite completamente a luz de fundo) usando setterm -powersave powerdown : a tela permanece muito pouco iluminado como antes.

    
por 09.07.2013 / 22:20
2

Na verdade, tive o mesmo problema e consegui resolvê-lo.

Com um pouco de ajuda do strace, descobri que o setterm -powersave powerdown envia um ioctl () para o fd 0 (stdin).

Então eu tentei com:

root@zanac:~# setterm -powersave powerdown < /dev/tty1

e isso funcionou (o comando retorna 0). Eu não posso verificar ATM se o comando realmente faz o que deveria porque eu estou fazendo isso via SSH. Além disso, parece que você tem uma configuração peculiar, então YMMV.

    
por 19.03.2014 / 13:59
1

Passei 5 horas tentando definir setterm, fbset e outros ...

Esse poder monitora meu quadro:

echo 1 > /sys/devices/pci0000\:00/0000\:00\:01.0/graphics/fb0/blank

Além disso, tente pesquisar o descritor LVDS backlight em /sys/

    
por 19.09.2016 / 02:48
0

A folha de dados da Sharp LQ070Y3LG4A usada no Joggler mostra que a luz de fundo LED está conectado diretamente (Nota 1 na página 11) aos pinos 24-30. Portanto, mesmo que você apague a exibição com DPMS (usando qualquer método), a luz de fundo permanece acesa.

Portanto, a questão é se existe alguma outra peça de hardware na placa principal que permita cortar a fonte de alimentação para a retroiluminação LED e, em caso afirmativo, como controlá-la. Eu não consegui encontrar nada sobre isso na Joggler Wiki , os candidatos típicos são chips controlados pelo I2C / SMBUS. Mas talvez não haja maneira de desligá-lo da luz de fundo por software (a menos que você adicione algum hardware próprio).

    
por 19.09.2016 / 17:18