Як відрегулювати пороги зарядки акумулятора ноутбука?


13

Мій ноутбук Lenovo T400, а ОС - Ubuntu 12.04.

Мені не вдалося відрегулювати пороги для запуску акумулятора та припинення зарядки. Я помітив, що його поточний поріг зарядки становить приблизно 40%, а поріг зупинки зарядки - близько 60%. Я забув, чи це я, і за якою програмою я керував акумулятором, щоб припинити зарядку на 60% і почати заряджати на 40%.

Я дотримувався свого попереднього допису /ubuntu/58789/how-to-check-charged-percentage-of-battery-and-to-adjust-its-thresholds , але не знаходжу /sys/devices/platform/smapi. Також у мене є /proc/acpi/battery/BAT0/, але у мене є лише три файли alarm, infoі state.

Я хочу відкоригувати пороги. Тож мені цікаво, як це зробити?


Спробуйте modprobe tp_smapiяк root, а потім подивіться, чи /sys/devices/platform/smapiє там файли .
Ренан

@Renan: модуль не знайдено FATAL: Module tp_smapi not found..
Тім

1
Встановіть tp_smapi відповідно до інструкцій там: thinkwiki.org/wiki/…, а потім спробуйте ще раз.
Ренан

@Renan: Чи tp_smapi лише для ноутбуків Lenovo? Чи відрізняються модулі управління зарядкою акумуляторів для різних марок ноутбуків?
Тім

Деякі ноутбуки Lenovo мають специфічні функції, до яких tp_smapi надає вам доступ. Я не знаю про інших брендів, але вони , ймовірно , мають схожі інструменти ( у мене є ноутбук Dell і я бачу , що у мене є dell_laptop і dell_wmiмодуль, наприклад, я ніколи не досліджував його , щоб побачити , що він робить)
Ренан

Відповіді:


4

Вам потрібно встановити tp_smapi-dkms, просто зробіть

apt-get install tp_smapi-dkms

Закінчивши, використовуйте lsmod | grep tp_smapiдля перевірки завантаження модуля, для регулювання порогів заряду, зробіть щось подібне

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

Додайте ці рядки, щоб /etc/rc.localзапустити їх під час завантаження.

Цей модуль працює принаймні на X220.


Якщо хтось отримав дозвіл, якому було відмовлено навіть із правами sudo, спробуйте echo 60 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh.
Андрій Кайпов

8

Новіші ThinkPads Lenovo (наприклад, мій E540) не сумісні з tp_smapi-dkms. На щастя, я виявив, що утиліта TLP може використовувати будь-який з двох різних модулів - tp_smapi АБО модулі DKMS Thinkpad_acpi - для передачі порогів акумулятору.

На сьогоднішній день TLP доступний через стандартні сховища Ubuntu або Debian. (Хоча ви можете скористатися останньою версією, яка використовується на веб-сайті TLP для встановлення пакетів.)

Після установки TLP встановіть пороги заряду акумулятора за допомогою двох рядків у файлі конфігурації / etc / default / tlp

START_CHARGE_THRESH_BAT0=65
STOP_CHARGE_THRESH_BAT0=80

Цей приклад повідомляє TLP встановити пороги акумулятора, щоб почати заряджатись на 65% та припинити зарядку на 80%. Я вважаю, що пороги зберігаються правильно навіть під час завантаження в іншу ОС, на якій не встановлено TLP. (Хоча я припускаю, що якщо ви завантажилися в Windows або іншу ОС, у якої НЕ встановлені засоби управління живленням, ця ОС може перезаписати раніше встановлені порогові значення заряду.)

Щоб ТЕМПОРАРИЛЬНО довести батарею до повного заряду, видайте наступну команду терміналу:

 $ sudo tlp fullcharge

Потім акумулятор зарядиться до максимальної потужності, а потім повернеться до попередніх порогів.

Примітка. Якщо ваш ноутбук не "ThinkPad", TLP, ймовірно, не може встановити рівень заряду акумулятора . Якщо ваш постачальник постачає утиліту управління живленням для Windows, ви, ймовірно, можете завантажитися за допомогою якоїсь форми Windows, щоб встановити рівні заряду акумулятора, а потім перезавантажитись у Linux. На мій досвід, налаштування порогу заряду акумулятора зберігаються після перезавантаження системи.


Це працює лише для ThinkPads, що з іншими моделями?
Акронікс

@Akronix Я вважаю, що TLP можна встановити на декількох ноутбуках різних типів, і залежно від обладнання, мікропрограмного забезпечення та архітектури покладається на різні бібліотеки. Я лише нещодавно став більш обізнаним про різні бібліотеки, оскільки моє відносно сучасне Lenovo використовує TLP дещо інакше, ніж старі ThinkPads.
Томмі Труссел

Однак це не працює в моєму G-серіалі Lenovo
Akronix

@Akronix Мені довелося подивитися ... мій ThinkPad - це E540. Дотримуючись меню на support.lenovo.com, я визначив, що моя відома як "Блок-подумка серії Edge". Мені довелося досліджувати багато сайтів, перш ніж я майже все обладнання працювало так, як хотілося (наприклад, я відмовився від датчика відбитків пальців).
Томмі

1
@Akronix Так, я ніколи не завантажував Windows на своїх. У мене, напевно, ще є диски, але я намагався залишатися "чистим". На жаль, Lenovo, очевидно, спокійно кинула підтримку linux навіть на моїй моделі, хоча я і купив її, оскільки вона була "сертифікована" на Ubuntu та Red Hat.
Томмі

1

На свій ноутбук (Yoga 260) мені довелося отримати acpi-call-dkms, який забезпечує модуль ядра acpi_call:

sudo apt install tlp acpi-call-dkms
sudo tlp setcharge 40 60 #set the start and stop thresholds to 40% and 60%

Вихід 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 [%]

Чому 40 60? Чи справді зарядка зупиняється на 60%? Чому там BAT0/status = Unknown- здається дивним.
hrvoj3e

@ hrvoj3e Я просто вибрав 40 60 як приклад узгодженості з відповіддю Дейзі, але причина, по якій ви можете зупинити зарядку на 60%, полягає в тому, що це може продовжити термін служби акумулятора: superuser.com/questions/502328/… "Невідомий" статус - це саме те, що йдеться, коли він не заряджається і не розряджається. Я розрядив його до 49,8%, а потім підключив зарядний пристрій назад, і оскільки він все ще вище стартовогоТрешті, він не почне заряджатися.
takhisis

Дякую за інформацію. Мій Yoga S740 не працюватиме з елементами керування акумуляторною батареєю, але у мене є налаштування сповіщувача в оболонці, оскільки я провожу багато часу в терміналі. Потім, коли я бачу, що це вище / нижче порогу, я вручну підключаю / відключаю зарядний пристрій.
hrvoj3e
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.