I ThinkPad Lenovo più recenti (come il mio E540) non sono compatibili con tp_smapi-dkms. Fortunatamente ho scoperto che l'utility TLP può utilizzare uno dei due diversi moduli -- tp_smapi OPPURE i moduli thinkpad_acpi DKMS -- per comunicare le soglie alla batteria.
Al giorno d'oggi TLP è disponibile tramite repository Ubuntu o Debian standard. (Sebbene tu possa trarre vantaggio dall'ultima versione disponibile utilizzando il sito Web TLP per installare i pacchetti.)
Dopo aver installato TLP, impostare le soglie di carica della batteria utilizzando due righe nel file di configurazione /etc/default/tlp
START_CHARGE_THRESH_BAT0=65
STOP_CHARGE_THRESH_BAT0=80
Questo esempio indica a TLP di impostare le soglie della batteria per avviare la ricarica al 65% e interrompere la ricarica all'80%. Trovo che le soglie persistono correttamente anche durante l'avvio in un sistema operativo diverso che non ha TLP installato. (Anche se presumo che se hai avviato Windows o un altro sistema operativo in cui sono installati strumenti di gestione dell'alimentazione, quel sistema operativo potrebbe sovrascrivere le soglie di addebito impostate in precedenza.)
Per portare TEMPORANEAMENTE la batteria a piena carica, emettere il seguente comando da terminale:
$ sudo tlp fullcharge
La batteria si caricherà quindi alla sua capacità massima e successivamente tornerà alle soglie precedenti.
Nota: Se il tuo laptop non è un "ThinkPad", probabilmente TLP non può impostare i livelli di carica della batteria. Se il tuo fornitore fornisce un'utilità di gestione dell'alimentazione per Windows, puoi probabilmente avviare utilizzando una qualche forma di Windows per impostare i livelli di carica della batteria e quindi riavviare in Linux. Nella mia esperienza, le impostazioni della soglia di carica della batteria persistono dopo il riavvio del sistema.
Devi installare tp_smapi-dkms
, fallo
apt-get install tp_smapi-dkms
Al termine, usa lsmod | grep tp_smapi
per verificare se il modulo è caricato, per regolare le soglie di addebito, fare qualcosa di simile
echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 60 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
Aggiungi queste righe a /etc/rc.local
per eseguirli all'avvio.
Questo modulo funziona almeno su X220.
Sul mio laptop (Yoga 260) ho dovuto scaricare acpi-call-dkms, che fornisce il modulo del 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%
Output di 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 [%]