tlp не переживает перезагрузку

Вопрос или проблема

Я активировал tlp, чтобы включить charge_control_end_threshold = 80%. Однако это не сохраняется после перезагрузки. После перезагрузки я получаю:

sudo systemctl status tlp.service 
○ tlp.service - Запуск/выключение системы TLP
     Загружено: загружено (/usr/lib/systemd/system/tlp.service; включено; предустановка: отключена)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Активно: неактивно (мертво)
       Документы: https://linrunner.de/tlp
sudo tlp-stat -b
[sudo] пароль для rudra: 
--- TLP 1.6.1 --------------------------------------------

+++ Уход за батареей
Плагин: asus
Поддерживаемые функции: порог зарядки
Использование драйвера:
* natacpi (asus_wmi) = активно (порог зарядки)
Диапазон значений параметров:
* STOP_CHARGE_THRESH_BAT0/1: 0(выкл)..100(по умолчанию)

+++ Статус батареи: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = ASUSTeK
/sys/class/power_supply/BAT0/model_name                     = Батарея ASUS
/sys/class/power_supply/BAT0/cycle_count                    =    104
/sys/class/power_supply/BAT0/energy_full_design             =  75086 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  68032 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  52042 [mWh]
/sys/class/power_supply/BAT0/power_now                      =   2997 [mW]
/sys/class/power_supply/BAT0/status                         = Разряжение

/sys/class/power_supply/BAT0/charge_control_end_threshold   =    100 [%]

Заряд                                                      =   76.5 [%]
Ёмкость                                                   =   90.6 [%]

Мне нужно снова вручную перезапустить сервис, чтобы вернуть всё обратно:

sudo systemctl restart tlp.service 
sudo systemctl status tlp.service 
● tlp.service - Запуск/выключение системы TLP
     Загружено: загружено (/usr/lib/systemd/system/tlp.service; включено; предустановка: отключена)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Активно: активно (вышел) с Вс 2024-10-06 00:26:51 IST; 1с назад
 Вызов: c137b95091b2476c9c72f885dafe5bda
       Документы: https://linrunner.de/tlp
    Процесс: 5091 ExecStart=/usr/sbin/tlp init start (код=вышел, статус=0/УСПЕХ)
   Основной PID: 5091 (код=вышел, статус=0/УСПЕХ)
   Пик памяти: 7.6M
        ЦП: 231мс

Oct 06 00:26:51 roddur systemd[1]: Запуск tlp.service - Запуск/выключение системы TLP...
Oct 06 00:26:51 roddur tlp[5091]: Применение настроек энергосбережения...готово.
Oct 06 00:26:51 roddur tlp[5091]: Установка порогов зарядки батареи...готово.
Oct 06 00:26:51 roddur systemd[1]: Завершено tlp.service - Запуск/выключение системы TLP.

sudo tlp-stat -b
--- TLP 1.6.1 --------------------------------------------

+++ Уход за батареей
Плагин: asus
Поддерживаемые функции: порог зарядки
Использование драйвера:
* natacpi (asus_wmi) = активно (порог зарядки)
Диапазон значений параметров:
* STOP_CHARGE_THRESH_BAT0/1: 0(выкл)..100(по умолчанию)

+++ Статус батареи: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = ASUSTeK
/sys/class/power_supply/BAT0/model_name                     = Батарея ASUS
/sys/class/power_supply/BAT0/cycle_count                    =    104
/sys/class/power_supply/BAT0/energy_full_design             =  75086 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  68032 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  51675 [mWh]
/sys/class/power_supply/BAT0/power_now                      =   5834 [mW]
/sys/class/power_supply/BAT0/status                         = Разряжение

/sys/class/power_supply/BAT0/charge_control_end_threshold   =     80 [%]

Заряд                                                      =   76.0 [%]
Ёмкость                                                   =   90.6 [%]

В tlp-support есть аналогичный отчет, но в том случае батарея asus не была обнаружена: https://linrunner.de/tlp/faq/battery.html#faq-asus-threshold-not-set-on-boot

Но в этом случае батарея обнаружена, поэтому я не совсем уверен, стоит ли выгружать модуль asus-wsi. Пожалуйста, помогите!

Ответ или решение

Проблема, с которой вы столкнулись, заключается в том, что TLP (Advanced Power Management Tool для Linux) не сохраняет настройки порогов зарядки аккумулятора после перезагрузки системы. Это может происходить по нескольким причинам. Давайте рассмотрим возможные решения, чтобы устранить эту проблему.

1. Убедитесь, что TLP правильно настроен

Проверьте, что все строковые параметры, влияющие на порог заряда, установлены корректно в конфигурационных файлах TLP. Для проверки используйте следующую команду:

sudo tlp-stat -s

2. Правильный набор параметров

Убедитесь, что вы установили параметр charge_control_end_threshold в файле конфигурации TLP. Откройте конфигурационный файл:

sudo nano /etc/default/tlp

И проверьте, что строки:

# Battery charge thresholds (some devices only)
# Default: Charge thresholds disabled (0-100)
# 0 = off (disabled), 1-100 = enabled
STOP_CHARGE_THRESH_BAT0=80
StartChargeThreshold=0

не закомментированы (без символа # перед ними). Убедитесь, что параметры установлены на требуемые значения.

3. Статус службы TLP

Судя по вашему описанию, служба TLP не активна при загрузке системы. Вы можете проверить, установлена ли служба, с помощью:

sudo systemctl is-enabled tlp.service

Если результат — disabled, это может быть причиной проблемы. Убедитесь, что служба включена:

sudo systemctl enable tlp.service

4. Проверьте конфликты с другими службами

Убедитесь, что нет других программ или скриптов, которые могут переопределять настройки TLP во время загрузки. Вы можете сделать это, просматривая другие службы или скрипты, выполняемые при загрузке, которые могут изменить настройки аккумулятора.

5. Зависимости и модули

Поскольку ваше устройство использует драйвер natacpi для управления аккумулятором, попробуйте временно отключить модуль asus-wmi, чтобы проверить, не вызывает ли он конфликты. Это можно сделать с помощью команды:

sudo rmmod asus-wmi

Однако, будьте осторожны, так как это может повлиять на другие функции вашего устройства, которые зависят от этого модуля.

6. Проверка логов системы

Наблюдайте за логами системы для выявления возможных ошибок или предупреждений, которые могут указывать на проблему. Используйте:

journalctl -b -u tlp.service

7. Обновление TLP

Также убедитесь, что вы используете актуальную версию TLP, так как более новые версии могут исправлять ошибки и улучшать функции. Обновите TLP с помощью:

sudo apt update
sudo apt upgrade tlp

8. Обратитесь к документации и сообществу

Если проблема сохраняется, рекомендуется обратиться к документации TLP или в сообщество, например, на форумах или в следующих ресурсах:

Следуя этим шагам, вы сможете диагностировать и, возможно, решить проблему с настройками TLP, которые не сохраняются после перезагрузки.

Оцените материал
Добавить комментарий

Капча загружается...