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.