Bagaimana cara menyesuaikan ambang pengisian baterai laptop?

13

Laptop saya adalah Lenovo T400, dan OS adalah Ubuntu 12.04.

Saya belum dapat menyesuaikan ambang batas untuk pengisian daya baterai dan menghentikan pengisian daya. Saya mengamati bahwa ambang pengisian awal saat ini adalah sekitar 40%, dan berhenti ambang pengisian sekitar 60%. Saya lupa apakah itu saya dan program mana yang saya gunakan untuk mengontrol baterai agar berhenti mengisi daya pada 60% dan mulai mengisi daya pada 40%.

Saya mengikuti posting saya sebelumnya /ubuntu/58789/how-to-check-charged-percentage-of-battery-and-to-adjust-its-thresholds , tapi saya tidak menemukannya /sys/devices/platform/smapi. Saya juga punya /proc/acpi/battery/BAT0/, tapi saya hanya punya tiga file alarm, infodan state.

Saya ingin menyesuaikan ambang batas. Jadi saya bertanya-tanya bagaimana cara melakukannya?

Tim
sumber
Coba modprobe tp_smapisebagai root, dan kemudian lihat apakah file di bawahnya /sys/devices/platform/smapiada.
Renan
@Renan: modul tidak ditemukan FATAL: Module tp_smapi not found..
Tim
1
Instal tp_smapi sesuai dengan instruksi di sana: thinkwiki.org/wiki/… lalu coba lagi.
Renan
@Renan: Apakah tp_smapi hanya untuk laptop Lenovo? Apakah modul manajemen pengisian daya baterai berbeda untuk berbagai merek laptop?
Tim
Beberapa laptop Lenovo memiliki fitur spesifik yang memberi Anda akses ke tp_smapi. Saya tidak tahu tentang merek lain, tetapi mereka mungkin memiliki alat yang sama (saya punya laptop Dell dan saya melihat bahwa saya memiliki modul dell_laptop dan dell_wmi, misalnya; Saya tidak pernah menjelajahinya untuk melihat apa yang dilakukannya)
Renan

Jawaban:

4

Anda perlu menginstal tp_smapi-dkms, lakukan saja

apt-get install tp_smapi-dkms

Setelah selesai, gunakan lsmod | grep tp_smapiuntuk memeriksa apakah modul dimuat, untuk menyesuaikan ambang muatan, lakukan sesuatu seperti ini

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

Tambahkan baris ini /etc/rc.localuntuk menjalankannya saat boot.

Modul ini bekerja setidaknya pada X220.

bunga aster
sumber
Bagi siapa pun yang mendapatkan izin ditolak meskipun memiliki hak sudo, cobalah echo 60 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh.
Andrey Kaipov
8

Lenovo ThinkPads yang lebih baru (seperti E540 saya) tidak kompatibel dengan tp_smapi-dkms. Untungnya saya menemukan bahwa utilitas TLP dapat menggunakan salah satu dari dua modul yang berbeda - tp_smapi ATAU modul DKMS thinkpad_acpi - untuk mengkomunikasikan ambang batas ke baterai.

Saat ini TLP tersedia melalui repositori standar Ubuntu atau Debian. (Meskipun Anda dapat memanfaatkan versi terbaru yang tersedia menggunakan situs web TLP untuk menginstal paket.)

Setelah menginstal TLP, atur ambang pengisian daya baterai menggunakan dua baris dalam file konfigurasi / etc / default / tlp

START_CHARGE_THRESH_BAT0=65
STOP_CHARGE_THRESH_BAT0=80

Contoh ini memberi tahu TLP untuk mengatur ambang baterai agar mulai mengisi daya pada 65% dan berhenti mengisi daya pada 80%. Saya menemukan bahwa ambang batas tetap benar bahkan ketika mem-boot ke OS berbeda yang tidak memiliki TLP diinstal. (Meskipun saya kira jika Anda boot ke Windows atau OS lain yang TIDAK memiliki alat manajemen daya diinstal, OS yang mungkin menimpa ambang batas biaya yang ditetapkan sebelumnya.)

Untuk mengisi baterai secara TEMPORARILY, terbitkan perintah terminal berikut:

 $ sudo tlp fullcharge

Baterai kemudian akan diisi ke kapasitas maksimumnya, dan kembali ke ambang sebelumnya setelahnya.

Catatan: Jika laptop Anda bukan "ThinkPad," TLP mungkin tidak dapat mengatur tingkat pengisian daya baterai Anda . Jika vendor Anda menyediakan utilitas manajemen daya untuk Windows, Anda mungkin dapat melakukan boot menggunakan beberapa bentuk Windows untuk mengatur level pengisian daya baterai dan kemudian reboot ke linux. Dalam pengalaman saya, pengaturan ambang batas daya baterai bertahan setelah sistem dinyalakan ulang.

Tommy Trussell
sumber
Ini hanya berfungsi untuk ThinkPads, bagaimana dengan model lain?
Akronix
@ Akronix Saya percaya TLP dapat diinstal pada beberapa jenis laptop, dan tergantung pada perangkat keras, firmware, dan arsitektur, bergantung pada pustaka yang berbeda. Saya baru-baru ini menjadi lebih sadar akan berbagai pustaka karena Lenovo saya yang relatif modern menggunakan TLP sedikit berbeda dari ThinkPads yang lebih lama.
Tommy Trussell
Namun, itu tidak berfungsi di Lenovo G-Series saya
Akronix
@ Akronix Saya harus melihat ... ThinkPad saya adalah E540. Dengan mengikuti menu di support.lenovo.com, saya menentukan bahwa milik saya dikenal sebagai "Edge Series Thinkpad." Saya harus menjelajahi banyak situs sebelum hampir semua perangkat keras berfungsi seperti yang saya inginkan (saya menyerah pada sensor sidik jari, misalnya).
Tommy Trussell
1
@ Akronix ya, saya tidak pernah mem-boot Windows milik saya. Saya mungkin masih memiliki disk, tetapi saya sudah mencoba untuk tetap "murni." Sayangnya Lenovo rupanya diam-diam berhenti mendukung linux bahkan pada model saya, meskipun saya membelinya KARENA itu "bersertifikat" untuk Ubuntu dan Red Hat.
Tommy Trussell
1

Di laptop saya (Yoga 260) saya harus mendapatkan acpi-call-dkms, yang menyediakan modul 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 dari 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
sumber
Kenapa 40 60? Apakah pengisian benar-benar berhenti di 60%? Kenapa ada BAT0/status = Unknown- sepertinya aneh.
hrvoj3e
@ hrvoj3e Saya baru saja memilih 40 60 sebagai contoh untuk konsistensi dengan jawaban daisy, tetapi alasan Anda mungkin ingin berhenti mengisi daya sebesar 60% adalah karena dapat memperpanjang usia baterai: superuser.com/questions/502328/… The "Unknown" Status hanya apa yang dikatakannya saat itu bukan pengisian atau pemakaian. Saya telah menghabiskannya hingga 49,8% dan kemudian menghubungkan kembali pengisi daya, dan karena masih di atas startTreshold tidak akan mulai mengisi daya.
takhisis
Terimakasih atas infonya. Yoga S740 saya tidak akan berfungsi dengan kontrol baterai acpi, tetapi saya telah memasang notifier di shell prompt karena saya menghabiskan banyak waktu di terminal. Kemudian, ketika saya melihat bahwa itu di atas / di bawah ambang batas saya secara manual menghubungkan / melepaskan pengisi daya.
hrvoj3e