Come regolare le soglie di ricarica della batteria del laptop?


13

Il mio laptop è Lenovo T400 e il sistema operativo è Ubuntu 12.04.

Non sono stato in grado di regolare le soglie per l'avvio della batteria e l'interruzione della ricarica. Ho osservato che l'attuale soglia di carica iniziale è di circa il 40% e l'interruzione della soglia di carica di circa il 60%. Ho dimenticato se ero io e quale programma ho usato per controllare la batteria per interrompere la ricarica al 60% e iniziare a caricare al 40%.

Ho seguito il mio post precedente /ubuntu/58789/how-to-check-charged-percentage-of-battery-and-to-adjust-its-thresholds , ma non lo trovo /sys/devices/platform/smapi. Anche io ho /proc/acpi/battery/BAT0/, ma ho solo tre file alarm, infoe state.

Voglio regolare le soglie. Quindi mi chiedo come farlo?


Prova modprobe tp_smapicome root, quindi controlla se /sys/devices/platform/smapici sono file sotto .
Renan,

@Renan: il modulo non è stato trovato FATAL: Module tp_smapi not found..
Tim

1
Installa tp_smapi secondo le istruzioni lì: thinkwiki.org/wiki/… quindi riprova.
Renan,

@Renan: tp_smapi è solo per laptop Lenovo? I moduli di gestione della carica della batteria sono diversi per le diverse marche di laptop?
Tim

Alcuni laptop Lenovo hanno funzionalità specifiche a cui tp_smapi ti dà accesso. Non conosco altri marchi, ma probabilmente hanno strumenti simili (ho un laptop Dell e vedo che ho un modulo dell_laptop e dell_wmi, per esempio; non l'ho mai esplorato per vedere cosa fa)
Renan,

Risposte:


4

Devi installare tp_smapi-dkms, basta farlo

apt-get install tp_smapi-dkms

Al termine, utilizzare lsmod | grep tp_smapiper verificare se il modulo è caricato, per regolare le soglie di carica, fare qualcosa del genere

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

Aggiungi queste righe per /etc/rc.localeseguirle all'avvio.

Questo modulo funziona almeno su X220.


Per chiunque ottenga il permesso negato anche con i privilegi di sudo, provare echo 60 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh.
Andrey Kaipov,

8

I ThinkPad Lenovo più recenti (come il mio E540) non sono compatibili con tp_smapi-dkms. Fortunatamente ho scoperto che l' utilità TLP può utilizzare uno dei due moduli diversi - i moduli DKMS tp_smapi O thinkpad_acpi - per comunicare le soglie alla batteria.

Oggi TLP è disponibile tramite repository Ubuntu o Debian standard. (Sebbene sia possibile beneficiare dell'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 iniziare la ricarica al 65% e interrompere la ricarica all'80%. Trovo che le soglie persistano correttamente anche quando si avvia un sistema operativo diverso in cui non è installato TLP. (Anche se presumo che se si è avviato Windows o un altro sistema operativo in cui sono installati gli strumenti di risparmio energia, tale sistema operativo potrebbe sovrascrivere le soglie di addebito precedentemente impostate.)

Per TEMPORANEAMENTE portare la batteria a una carica completa, emettere il seguente comando 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 è in grado di 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 riavviare in Linux. Nella mia esperienza, le impostazioni della soglia di carica della batteria persistono dopo il riavvio del sistema.


Funziona solo con ThinkPad, e per quanto riguarda gli altri modelli?
Akronix,

@Akronix Credo che TLP possa essere installato su diversi tipi di laptop e, a seconda dell'hardware, del firmware e dell'architettura, si basa su diverse librerie. Solo di recente sono diventato più consapevole delle diverse librerie perché il mio Lenovo relativamente moderno utilizza TLP in modo leggermente diverso rispetto ai ThinkPad precedenti.
Tommy Trussell,

Tuttavia, non funziona nel mio Lenovo G-Series
Akronix

@Akronix Ho dovuto guardare ... il mio ThinkPad è un E540. Seguendo i menu su support.lenovo.com ho determinato che il mio è noto come "Thinkpad serie Edge". Ho dovuto esplorare molti siti prima di far funzionare quasi tutto l'hardware come volevo (ad esempio ho rinunciato al sensore di impronte digitali).
Tommy Trussell,

1
@Akronix sì, non ho mai avviato Windows sul mio. Probabilmente ho ancora i dischi, ma ho provato a rimanere "puro". Sfortunatamente Lenovo ha apparentemente smesso di supportare Linux anche sul mio modello, anche se l'ho comprato PERCHÉ era "certificato" per Ubuntu e Red Hat.
Tommy Trussell,

1

Sul mio laptop (Yoga 260) ho dovuto ottenere 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%

Uscita 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 [%]

Perché 40 60? La ricarica si arresta davvero al 60%? Perché c'è BAT0/status = Unknown- sembra strano.
hrvoj3e,

@ hrvoj3e Ho appena scelto 40 60 come esempio per coerenza con la risposta di Daisy, ma il motivo per cui potresti voler interrompere la ricarica al 60% è che può prolungare la durata della batteria: superuser.com/questions/502328/… Lo "Sconosciuto" lo stato è esattamente ciò che dice quando non è né in carica né in scarica. L'avevo scaricato al 49,8% e quindi ricollegato il caricabatterie e poiché è ancora sopra la soglia di avvio, non si avviava la ricarica.
Takhisis,

Grazie per le informazioni. Il mio Yoga S740 non funziona con i controlli della batteria acpi ma ho impostato un avviso nel prompt della shell poiché passo molto tempo nel terminale. Quindi, quando vedo che è sopra / sotto una soglia, collego / disconnetto manualmente il caricabatterie.
hrvoj3e,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.