¿Cómo ajustar los umbrales de carga de la batería del portátil?

13

Mi laptop es Lenovo T400 y el sistema operativo es Ubuntu 12.04.

No he podido ajustar los umbrales para que la batería comience a cargarse y deje de cargarse. Observé que su umbral de carga inicial actual es de aproximadamente 40%, y el umbral de carga de detención es de aproximadamente 60%. Olvidé si era yo y qué programa usé para controlar la batería para dejar de cargar al 60% y comenzar a cargar al 40%.

Seguí mi publicación anterior /ubuntu/58789/how-to-check-charged-percentage-of-battery-and-to-adjust-its-thresholds , pero no encuentro /sys/devices/platform/smapi. También tengo /proc/acpi/battery/BAT0/, pero solo tengo tres archivos alarm, infoy state.

Quiero ajustar los umbrales. ¿Entonces me pregunto cómo hacer eso?

Tim
fuente
Intente modprobe tp_smapicomo root y luego vea si los archivos debajo /sys/devices/platform/smapiestán allí.
Renan
@ Renan: el módulo no se encuentra FATAL: Module tp_smapi not found..
Tim
1
Instale tp_smapi de acuerdo con las instrucciones allí: thinkwiki.org/wiki/… y luego intente nuevamente.
Renan
@Renan: ¿tp_smapi es solo para laptops Lenovo? ¿Los módulos de gestión de carga de la batería son diferentes para diferentes marcas de computadoras portátiles?
Tim
Algunas laptops Lenovo tienen características específicas a las cuales tp_smapi le da acceso. No sé acerca de otras marcas, pero que probablemente tienen herramientas similares (Tengo un portátil Dell y veo que tengo una dell_laptop y dell_wmimódulo, por ejemplo, nunca explorado para ver lo que hace)
Renan

Respuestas:

4

Necesitas instalar tp_smapi-dkms, solo hazlo

apt-get install tp_smapi-dkms

Cuando termine, use lsmod | grep tp_smapipara verificar si el módulo está cargado, para ajustar los umbrales de carga, haga algo como esto

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

Agregue estas líneas para /etc/rc.localejecutarlas en el arranque.

Este módulo funciona al menos en X220.

margarita
fuente
Para cualquiera que obtenga el permiso denegado incluso con privilegios de sudo, intente echo 60 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh.
Andrey Kaipov
8

Los ThinkPads Lenovo más nuevos (como mi E540) no son compatibles con tp_smapi-dkms. Afortunadamente, descubrí que la utilidad TLP puede usar cualquiera de los dos módulos diferentes, el tp_smapi O el thinkpad_acpi DKMS , para comunicar los umbrales a la batería.

Hoy en día, TLP está disponible a través de repositorios estándar de Ubuntu o Debian. (Aunque puede beneficiarse de la última versión disponible utilizando el sitio web TLP para instalar los paquetes).

Después de instalar TLP, configure los umbrales de carga de la batería usando dos líneas en el archivo de configuración / etc / default / tlp

START_CHARGE_THRESH_BAT0=65
STOP_CHARGE_THRESH_BAT0=80

Este ejemplo le dice a TLP que establezca los umbrales de la batería para comenzar a cargar al 65% y dejar de cargar al 80%. Me parece que los umbrales persisten correctamente incluso cuando se inicia en un sistema operativo diferente que no tiene instalado TLP. (Aunque supongo que si arrancó en Windows u otro sistema operativo que TIENE herramientas de administración de energía instaladas, ese sistema operativo podría sobrescribir los umbrales de carga previamente establecidos).

Para TEMPORALMENTE cargar la batería por completo, emita el siguiente comando de terminal:

 $ sudo tlp fullcharge

La batería se cargará a su capacidad máxima y luego volverá a los umbrales anteriores.

Nota: Si su computadora portátil no es un "ThinkPad", TLP probablemente no pueda establecer los niveles de carga de la batería . Si su proveedor proporciona una utilidad de administración de energía para Windows, probablemente pueda arrancar usando alguna forma de Windows para establecer los niveles de carga de la batería y luego reiniciar en Linux. En mi experiencia, la configuración del umbral de carga de la batería persiste después de reiniciar el sistema.

Tommy Trussell
fuente
Esto solo funciona para ThinkPads, ¿qué pasa con otros modelos?
Akronix
@Akronix Creo que TLP se puede instalar en varios tipos diferentes de computadoras portátiles y, dependiendo del hardware, el firmware y la arquitectura, depende de diferentes bibliotecas. Hace poco me di cuenta de las diferentes bibliotecas porque mi Lenovo relativamente moderno usa TLP de manera ligeramente diferente que los ThinkPads anteriores.
Tommy Trussell
Sin embargo, no funciona en mi Lenovo de la Serie G
Akronix
@ Akronix Tuve que mirar ... mi ThinkPad es un E540. Siguiendo los menús en support.lenovo.com , determiné que el mío se conoce como "Thinkpad de la serie Edge". Tuve que explorar muchos sitios antes de que casi todo el hardware funcionara como quería (renuncié al sensor de huellas digitales, por ejemplo).
Tommy Trussell
1
@ Akronix sí, nunca he arrancado Windows en la mía. Probablemente todavía tenga los discos, pero he tratado de mantenerme "puro". Desafortunadamente, Lenovo aparentemente dejó de admitir silenciosamente Linux incluso en mi modelo, aunque lo compré PORQUE estaba "certificado" para Ubuntu y Red Hat.
Tommy Trussell el
1

En mi computadora portátil (Yoga 260) tuve que obtener acpi-call-dkms, que proporciona el módulo del núcleo acpi_call:

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

Salida 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
fuente
¿Por qué 40 60? ¿La carga realmente se detiene al 60%? ¿Por qué está ahí BAT0/status = Unknown? Parece extraño.
hrvoj3e
@ hrvoj3e Acabo de elegir 40 60 como ejemplo de coherencia con la respuesta de Daisy, pero la razón por la que es posible que desee dejar de cargar al 60% es que puede extender la vida útil de la batería: superuser.com/questions/502328/… El "Desconocido" El estado es justo lo que dice cuando no se está cargando o descargando. Lo descargué hasta el 49.8% y luego volví a enchufar el cargador, y como todavía está por encima del umbral de inicio, no comenzará a cargarse.
takhisis
Gracias por la info. Mi Yoga S740 no funcionará con los controles de batería acpi, pero he configurado un notificador en el indicador de comandos de shell, ya que paso mucho tiempo en la terminal. Luego, cuando veo que está por encima / debajo de un umbral, conecto / desconecto manualmente el cargador.
hrvoj3e