Laptop ASUS yang lebih baru mendukung batasan level baterai, yang memperpanjang masa pakai baterai. Artikel ini menjelaskan cara menyetel ambang batas pengisian daya baterai untuk laptop ASUS di Linux.
Masa pakai baterai dipengaruhi oleh usia, suhu tinggi, jumlah siklus pengisian daya, dan waktu yang diperlukan untuk mengisi penuh. Ambang batas pengisian daya baterai mengurangi durasi pengisian penuh (100%) dan dengan demikian meningkatkan kondisi / masa pakai baterai.
Laptop ASUS mendukung pengaturan ambang biaya mulai dengan Linux 5.4 . Metode kernel WMI untuk menyetel ambang pengisian daya tidak menyediakan cara untuk menentukan baterai, dengan asumsi itu adalah baterai pertama (BAT0
). Namun, beberapa laptop ASUS yang lebih baru tidak akan menggunakan baterai utama BAT0
, tapi BATT
(misalnya Zenbook UM431DA) dan BAT1
(misalnya ASUS TUF Gaming FX706II). [Sunting] Dan ada juga BATC.
Jadi sementara laptop ASUS dari Linux 5.4 dan seterusnya mendukung pembatasan proses pengisian baterai, ini hanya untuk laptop dengan BAT0
. Untuk laptop ASUS dengan BATT
Sebagai nama baterai utama, Anda memerlukan Kernel 5.7 sedangkan untuk BAT1
anda akan membutuhkan kernel 5.8 ini (lihat petunjuk di bawah untuk mengetahui cara memeriksa nama baterai dengan tepat). [Edit] Untuk laptop ASUS yang menggunakan nama baterai BATC, Anda harus menggunakan Linux 5.9 atau yang lebih baru.
Demikian juga, tidak semua laptop ASUS mendukung pengaturan ambang batas pengisian baterai, jadi ini mungkin atau mungkin tidak bekerja untuk Anda tergantung pada model laptop ASUS Anda; Tidak ada daftar perangkat yang didukung yang dapat saya temukan.
Penting untuk disebutkan Metode WMI kernel untuk mengatur ambang pengisian baterai untuk notebook ASUS hanya dapat menggunakan nilai stop (charge_control_end_threshold
) (itu juga tidak dapat mengatur ambang batas awal). Jika tingkat pengisian daya baterai lebih tinggi dari ambang batas pengisian daya, baterai tidak akan habis hingga ambang batas berhenti saat sumber listrik AC tersambung.
Dan satu catatan lagi. Pada ASUS ZenBook 14 UX433FAC saya dengan Ubuntu 20.04 dengan GNOME Shell, indikator baterai di panel atas berubah dari waktu yang tersisa jika level baterai dibatasi sementara level baterai sama atau lebih besar dari ambang pengisian daya dan kemudian laptop terhubung ke sumber listrik sampai baterai habis hingga sisa waktu yang tersisa untuk mengisi daya baterai. Ini terjadi meskipun baterai tidak sedang diisi. Setelah beberapa saat (tidak langsung saat Anda mencolokkan laptop ke listrik), indikator baterai berubah menjadi “Tidak Diisi” sebagaimana dimaksud.
Selain ASUS, beberapa Laptop Lenovo dan Huawei (yang terakhir menerima dukungan dengan Linux 5.5) juga mendukung pembatasan pengisian daya baterai. Namun, karena saya hanya memiliki satu laptop ASUS dan tidak dapat mengujinya di perangkat lain, petunjuk ini hanya berlaku untuk ASUS. Lenovo telah memiliki dukungan untuk ini selama beberapa waktu dan TLP telah memberikan dukungan untuk pengaturan terintegrasi ini (hanya untuk IBM / Lenovo ThinkPads). Sebagai catatan tambahan, berikut adalah GUI untuk TLP agar mudah dikonfigurasi jika Anda belum menggunakannya.
Anda Mungkin Juga Menyukai Ini:auto-cpufreq adalah kecepatan CPU dan pengoptimal kinerja untuk Linux
Cara menetapkan ambang batas untuk menghentikan pengisian daya baterai untuk laptop ASUS di Linux
1. Cari tahu nama baterai laptop ASUS Anda.
Mari kita mulai dengan mencari tahu nama baterai untuk laptop ASUS Anda. Ini dapat dilakukan dengan perintah berikut:
ls /sys/class/power_supply
Perintah ini akan mencetak sesuatu seperti ini:
AC0 BAT0
Dalam contoh ini (dari notebook ASUS saya) nama baterainya adalah BAT0
, tetapi seperti yang disebutkan di atas, bisa juga untuk Anda BAT1
atau BATT
, ini adalah satu-satunya nama baterai yang didukung oleh kernel untuk laptop ASUS.
2. Buat layanan systemd untuk menyetel ambang batas penghentian pengisian daya baterai saat boot.
Sebelum membuat layanan systemd, periksa apakah laptop Anda benar-benar memiliki charge_control_end_threshold
di /sys/class/power_supply/BAT*
(tidak bekerja tanpa):
ls /sys/class/power_supply/BAT*/charge_control_end_threshold
Ketika perintah ini mengembalikan path ke charge_control_end_threshold
, maka notebook ASUS Anda mendukung pembatasan daya baterai. Jika perintah mengembalikan kesalahan yang menyatakan bahwa tidak ada file atau direktori tersebut, laptop Anda tidak mendukung pengaturan ambang pengisian daya.
Jika laptop ASUS Anda memiliki file ini, kami dapat melanjutkan. Buat file yang akan kita panggil battery-charge-threshold.service
di /etc/systemd/system
.
Anda dapat membuka file ini dengan editor teks konsol standar Anda dengan:
sudo editor /etc/systemd/system/battery-charge-threshold.service
Atau gunakan Gedit atau editor grafis apa pun yang ingin Anda gunakan (mis. agar Gedit membuka file ini sebagai root:gedit admin:///etc/systemd/system/battery-charge-threshold.service
)
Dalam file ini Anda harus menyertakan yang berikut:
[Unit]
Description=Set the battery charge threshold
After=multi-user.target
StartLimitBurst=0
[Service]
Type=oneshot
Restart=on-failure
ExecStart=/bin/bash -c 'echo CHARGE_STOP_THRESHOLD > /sys/class/power_supply/BATTERY_NAME/charge_control_end_threshold'
[Install]
WantedBy=multi-user.target
Di sini, ubah BATTERY_NAME
dengan nama baterai (BAT0
, BAT1
atau BATT
), dan CHARGE_STOP_THRESHOLD
dengan ambang batas penghentian biaya yang ingin Anda gunakan (antara 1 dan 100). Perhatikan bahwa saya membaca bahwa pengguna tidak dapat menyetel ambang batas tagihan ke nilai apa pun, hanya ke 60, 80, dan 100.
Dari apa yang saya baca, untuk masa pakai baterai terbaik saat laptop dicolokkan hampir sepanjang waktu, atur ambang batas pengisian baterai berhenti menjadi sekitar 50 atau 60. Jika baterai digunakan sedikit sering, setel ambang batas penghentian baterai ke sekitar 90.
3. Aktifkan dan mulai layanan systemd untuk ambang pengisian daya baterai.
Sekarang mari kita aktifkan dan mulai layanan sistem Ambang Pengisian Daya Baterai yang baru dibuat:
sudo systemctl enable battery-charge-threshold.service
sudo systemctl start battery-charge-threshold.service
Dengan systemd 220 dimungkinkan untuk mengarahkan layanan melalui. untuk mengaktifkan dan memulai systemctl enable --now
tapi saya lebih suka menggunakan 2 perintah jika beberapa pembaca menggunakan versi systemd yang lebih lama.
Jika Anda ingin mengubah ambang batas untuk menghentikan pengisian daya baterai , Anda harus mengedit /etc/systemd/system/battery-charge-threshold.service
. ini File dan ubah nomor dari ExecStart
Baris (setelah echo
) ke nilai baru yang ingin Anda gunakan, lalu muat ulang systemd (karena konten file telah berubah) dan mulai ulang layanan systemd dengan perintah berikut:
sudo systemctl daemon-reload
sudo systemctl restart battery-charge-threshold.service
4. Pastikan ambang batas penghentian baterai berfungsi.
Jika laptop ASUS Anda mendukung ini, batas pengisian baterai sekarang harus disetel ke nilai yang Anda gunakan pada langkah 2.
Anda dapat memeriksanya dengan mengisi daya laptop ke ambang batas yang ditetapkan di battery-charge-threshold.service
, lalu gunakan perintah ini:
cat /sys/class/power_supply/BATTERY_NAME/status
Pengganti BATTERY_NAME
dengan nama baterai, seperti yang dijelaskan pada langkah 1.
Jika ambang batas pengisian baterai berhenti berfungsi, perintah akan menampilkan output berikut:
Not Charging
Jika tertulis “Discharging”, pastikan laptop ASUS Anda benar-benar berjalan dengan daya AC dan bukan dengan baterai. Namun, jika tertulis “Charging”, yah … maka laptop Anda sedang mengisi daya melewati ambang batas pengisian daya sehingga ini tidak akan berhasil untuk Anda, juga karena laptop ASUS Anda tidak mendukungnya (yang aneh jika Anda melakukannya) charge_control_end_threshold
Seperti yang disebutkan pada langkah 2), Anda menggunakan versi Linux yang terlalu lama untuk membatasi pengisian daya baterai pada notebook ASUS Anda, atau karena kesalahan manusia ?️.
Ekstra:Jika Anda tidak menggunakan systemd, Anda juga dapat melakukannya dengan cron dengan menjalankan sudo crontab -e
dan kemudian rekatkan baris berikut (ini adalah satu baris, klik baris tiga kali untuk memilih seluruh baris), meskipun dari apa yang saya baca ini tidak dapat diandalkan dalam semua kasus (saya tidak yakin mengapa):
@reboot echo CHARGE_STOP_THRESHOLD > /sys/class/power_supply/BATTERY_NAME/charge_control_end_threshold
Pengganti CHARGE_STOP_THRESHOLD
dengan ambang batas penghentian biaya yang ingin Anda gunakan dan BATTERY_NAME
dengan nama baterai seperti yang ditunjukkan pada langkah 1.
Mengapa menggunakan layanan systemd atau pekerjaan cron? Menurut u / esrevartb, dari siapa saya mengadaptasi panduan ini, “tampaknya aturan udev tidak berfungsi, baik karena jalur batteryysfs belum diinisialisasi saat aturan diterapkan, atau karena atribut charge_control_end_threshold khusus ini tidak dapat berubah seperti ini “.
[[Sunting] Untuk dengan mudah mengatur ambang pengisian daya untuk laptop ASUS (pengaturan otomatis layanan systemd dan kemampuan untuk mengubah ambang pengisian dengan perintah), serta memeriksa ambang pengisian saat ini, lihat bat.
Terkait baterai laptop:Bwall adalah wallpaper baterai animasi untuk Linux (skrip bash)
di atas perangkat keras r / Linux (Terima kasih / esrevartb)