Como ajustar os limites de carregamento da bateria do laptop?

13

Meu laptop é o Lenovo T400 e o sistema operacional é o Ubuntu 12.04.

Não consegui ajustar os limites para a bateria iniciar o carregamento e interromper o carregamento. Observei que seu atual limite inicial de cobrança é de cerca de 40% e a interrupção do limite de cobrança é de cerca de 60%. Esqueci se era eu e qual programa eu usava para controlar a bateria para parar de carregar em 60% e começar a carregar em 40%.

Segui meu post anterior /ubuntu/58789/how-to-check-charged-percentage-of-battery-and-to-adjustadits-thresholds , mas não encontro /sys/devices/platform/smapi. Também tenho /proc/acpi/battery/BAT0/, mas eu tenho apenas três arquivos alarm, infoe state.

Eu quero ajustar os limites. Então, eu me pergunto como fazer isso?

Tim
fonte
Tente modprobe tp_smapicomo root e veja se os arquivos abaixo /sys/devices/platform/smapiestão lá.
Renan
@ Renan: o módulo não foi encontrado FATAL: Module tp_smapi not found..
Tim
1
Instale o tp_smapi de acordo com as instruções: thinkwiki.org/wiki/… e tente novamente.
Renan
@Renan: tp_smapi é apenas para laptops Lenovo? Os módulos de gerenciamento de carregamento da bateria são diferentes para diferentes marcas de laptops?
Tim
Alguns laptops Lenovo possuem recursos específicos aos quais o tp_smapi fornece acesso. Não conheço outras marcas, mas elas provavelmente possuem ferramentas semelhantes (eu tenho um laptop Dell e vejo que tenho um módulo dell_laptop e dell_wmi, por exemplo; nunca o explorei para ver o que ele faz)
Renan

Respostas:

4

Você precisa instalar tp_smapi-dkms, basta fazer

apt-get install tp_smapi-dkms

Quando terminar, use lsmod | grep tp_smapipara verificar se o módulo está carregado, para ajustar os limites de carga, faça algo como isto

echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 60 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh

Adicione essas linhas para /etc/rc.localexecutá-las na inicialização.

Este módulo funciona pelo menos no X220.

margarida
fonte
Para alguém que tenha permissão negada, mesmo com privilégios sudo, tente echo 60 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh.
Andrey Kaipov 21/01
8

Os ThinkPads Lenovo mais recentes (como o meu E540) não são compatíveis com tp_smapi-dkms. Felizmente, descobri que o utilitário TLP pode usar um dos dois módulos diferentes - os módulos tp_smapi OU thinkpad_acpi DKMS - para comunicar os limites à bateria.

Atualmente, o TLP está disponível nos repositórios padrão do Ubuntu ou Debian. (Embora você possa se beneficiar da versão mais recente disponível no site TLP para instalar os pacotes.)

Após instalar o TLP, defina os limites de carga da bateria usando duas linhas no arquivo de configuração / etc / default / tlp

START_CHARGE_THRESH_BAT0=65
STOP_CHARGE_THRESH_BAT0=80

Este exemplo informa ao TLP para definir os limites da bateria para começar a carregar em 65% e parar de carregar em 80%. Acho que os limites persistem corretamente, mesmo quando inicializados em um sistema operacional diferente que não possui o TLP instalado. (Embora eu presuma que, se você inicializou no Windows ou em outro sistema operacional que possui ferramentas de gerenciamento de energia instaladas, esse sistema operacional pode substituir os limites de cobrança definidos anteriormente.)

Para carregar temporariamente a bateria com carga total, execute o seguinte comando do terminal:

 $ sudo tlp fullcharge

A bateria será carregada até sua capacidade máxima e voltará aos limites anteriores posteriormente.

Nota: Se o seu laptop não for um "ThinkPad", o TLP provavelmente não poderá definir os níveis de carga da bateria . Se o seu fornecedor fornecer um utilitário de gerenciamento de energia para o Windows, você provavelmente poderá inicializar usando algum tipo de Windows para definir os níveis de carga da bateria e depois reiniciar no linux. Na minha experiência, as configurações de limite de carga da bateria persistem após a reinicialização do sistema.

Tommy Trussell
fonte
Isso funciona apenas para os ThinkPads, e os outros modelos?
Akronix 25/11/19
@ Akronix Eu acredito que o TLP pode ser instalado em vários tipos diferentes de laptops e, dependendo do hardware, firmware e arquitetura, depende de diferentes bibliotecas. Recentemente, fiquei mais ciente das diferentes bibliotecas porque minha Lenovo relativamente moderna usa TLP de maneira ligeiramente diferente dos ThinkPads mais antigos.
Tommy Trussell
No entanto, ele não funciona no meu G-Series Lenovo
Akronix 20/01/19
@ Akronix eu tinha que olhar ... meu ThinkPad é um E540. Seguindo os menus em support.lenovo.com , concluí que o meu é conhecido como "Thinkpad Edge Series". Eu tive que explorar muitos sites antes de colocar quase todo o hardware funcionando como queria (desisti do sensor de impressão digital, por exemplo).
precisa saber é o seguinte
1
@ Akronix sim, eu nunca inicializei o Windows no meu. Eu provavelmente ainda tenho os discos, mas tentei permanecer "puro". Infelizmente, a Lenovo aparentemente deixou silenciosamente o suporte ao linux, mesmo no meu modelo, mesmo que eu o tenha comprado PORQUE ele foi "certificado" para Ubuntu e Red Hat.
Tommy Trussell
1

No meu laptop (Yoga 260), tive que obter o acpi-call-dkms, que fornece o módulo do kernel acpi_call:

sudo apt install tlp acpi-call-dkms
sudo tlp setcharge 40 60 #set the start and stop thresholds to 40% and 60%

Saída de sudo tlp stat -b:

--- TLP 1.1 --------------------------------------------

+++ ThinkPad Battery Features
tp-smapi   = inactive (unsupported hardware)
tpacpi-bat = active

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SMP
/sys/class/power_supply/BAT0/model_name                     = 00HW027
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/energy_full_design             =  44000 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  37970 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  18910 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Unknown (threshold effective)

tpacpi-bat.BAT0.startThreshold                              =     40 [%]
tpacpi-bat.BAT0.stopThreshold                               =     60 [%]
tpacpi-bat.BAT0.forceDischarge                              =      0

Charge                                                      =   49.8 [%]
Capacity                                                    =   86.3 [%]
takhisis
fonte
Por que 40 60? O carregamento realmente para em 60%? Por que existe BAT0/status = Unknown- parece estranho.
hrvoj3e 5/01
@ hrvoj3e Acabei de escolher 40 60 como um exemplo de consistência com a resposta de margarida, mas o motivo pelo qual você pode parar de carregar a 60% é que ela pode prolongar a vida da bateria: superuser.com/questions/502328/… O "Desconhecido" status é exatamente o que diz quando não está cobrando nem descarregando. Eu o havia descarregado para 49,8% e, em seguida, reconectado o carregador e, como ainda está acima do startThreshold, ele não começava a carregar.
takhisis 6/01
Obrigado pela informação. Meu Yoga S740 não funciona com controles de bateria ACPI, mas eu configurei um notificador no prompt do shell, pois passo muito tempo no terminal. Então, quando vejo que está acima / abaixo de um limite, conecto / desconectei manualmente o carregador.
hrvoj3e 16/02