Как я могу ограничить заряд батареи до 80% емкости?

Я только что узнал, что в некоторых ноутбуках Lenovo есть утилита, которая предлагает ограничить зарядную емкость батареи до 0–80%, чтобы замедлить время жизни батареи:

screenshot [ 111]

Как я могу сделать это в Ubuntu?

121
задан 27 March 2014 в 13:00

9 ответов

Пороговые значения зарядки, к сожалению, зависят от прошивки и производителя.

Пользователю Lenovo ThinkPad, к счастью, предоставлено решение, описанное в ThinkWiki.

В основном, это говорит о том, что нужно будет установить и загрузить модуль ядра tp_smapi:

sudo apt-get install tp-smapi-dkms
sudo modprobe tp_smapi

и записать желаемые пороги зарядки в виртуальные файлы в /sys/devices/platform/smapi:

echo 40 | sudo tee /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 80 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh

Затем он прекратит зарядку, как только достигнет 80%, и начнет зарядку только тогда, когда упадет ниже 40%.

Toshiba и другие компании могут иметь аналогичный модуль ядра, который предоставляет функциональность прошивки в пространстве /sys или /proc, но это очень маловероятно для патентных вопросов. По тем же самым причинам заявка, которая могла бы справиться с этим, была бы либо специфичной для Thinkpad, либо обращена только к нескольким выбранным производителям.

90
ответ дан 27 March 2014 в 13:00

Теперь для Ubuntu (и других дистрибутивов) доступно несколько более красивое приложение:

TLP - Linux Advanced Power Management

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

Одним из параметров, которые он контролирует, является поддержание пределов зарядки аккумулятора. Он по-прежнему работает только для Thinkpads , но, учитывая характер проекта - если станут доступны соответствующие драйверы для других устройств, скорее всего, они будут интегрированы и в этот проект. Поэтому, если вы читаете этот комментарий через несколько лет, проверьте документацию, возможно, ваше устройство действительно поддерживается.

Ubuntu пакеты доступны в официальном репозитории.

27
ответ дан 27 March 2014 в 13:00

Принятый ответ не работает на моем новом Lenovo T440s. Видимо прошивка поменяла. Следуя http://www.thinkwiki.org/wiki/Tpacpi-bat , я сделал

git clone https://github.com/teleshoes/tpacpi-bat.git
cd tpacpi-bat/
./install.pl
sudo ./tpacpi-bat -s ST 1 15 # load internal battery when below 15%
sudo ./tpacpi-bat -s SP 1 95 # stop charging at 95%
sudo ./tpacpi-bat -g ST 2 # when is external battery loaded?

Для справки, я сделал это при тестировании debian, но я уверен, что это работает и в ubuntu.

18
ответ дан 27 March 2014 в 13:00

На моем Toshiba R830 под управлением Windows 8.1 я установил приложение Toshiba Power Saver, чтобы ограничить заряд батареи до 80%

Когда я загружаюсь в Linux (Ubuntu, Mint и т. Д.), Максимальный заряд по-прежнему ограничен 80%.

Следовательно, Toshiba Power Saver, похоже, сохраняет свою конфигурацию в BIOS.

Единственный недостаток состоит в том, что если я хочу путешествовать с полностью заряженной батареей, мне придется перезагрузить Windows и изменить конфигурацию Power Saver.

10
ответ дан 27 March 2014 в 13:00

Очень часто (почти всегда) это параметр в BIOS, который Windows может изменить удаленно. В Linux это очень сложно изменить удаленно. Мое предложение? При запуске компьютера нажмите функциональные клавиши, в частности F1, F2, F3, F6, F8, F10 и F12. Один из них (может быть, другой) перенесет вас в меню BIOS. Он говорит, какой ключ при запуске, но обычно он не работает достаточно долго.

Найдите параметры питания (здесь только клавиши со стрелками, без мыши). Найдите средство для экономии или оптимизации теста или что-нибудь в этом роде. Измените это на включенное, а затем сохраните и перезапустите. Это должно сработать.

Linux имеет тенденцию нервничать, когда батарея заряжается не выше 80%, но это просто портит ожидаемое время зарядки. Здесь не о чем беспокоиться.

Все еще нужна помощь? Прокомментируйте свой вопрос! Я помог? +1 мне :)

1
ответ дан 27 March 2014 в 13:00

Проверяли ли вы, есть ли на вашем ноутбуке для этого настройка BIOS? Мой ноутбук имеет приложение Windows, а также настройку "Battery Life Extender" в BIOS именно для этой функции.

3
ответ дан 27 March 2014 в 13:00

Я только что обнаружил аппаратный хакерство для ноутбуков Dell:

Зарядные устройства Dell используют 3 контакта: один для (+), один для (-) и один для связи идентификации зарядного устройства Dell ( протокол 1-Wire). Эта линия связи обычно находится в центре разъема, игла в виде булавки.

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

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

См. Этот ответ для получения информации о рекомендуемых уровнях заряда для различных сценариев: https://superuser.com/a/664583/187576

Править

По-видимому, недостатком этого подхода является то, что ноутбук снижает свою производительность, если не обнаружено идентифицированное зарядное устройство.

Это может не быть проблемой при нормальном использовании, однако, если вам нужна мощность вашего процессора для подобного 3D-дизайна, производительность заметно ухудшается.

1
ответ дан 5 January 2021 в 23:54
sudo add-apt-repository ppa:linrunner/tlp
sudo apt update
sudo apt install tlp
################ check what package needed for battery:
sudo tlp-stat -b
################ if acpi_call is recommended
sudo apt install acpi-call-dkms
################ if smapi is recommended
sudo apt install tp-smapi-dkms
sudo gedit /etc/tlp.conf
  • Найдите строки, касающиеся настроек батареи, удалите начальный # для комментария и, возможно, вставьте желаемое значение
START_CHARGE_THRESH_BAT0=75
STOP_CHARGE_THRESH_BAT0=80
  • Перезагрузите tlp
sudo tlp start
  • Проверьте статус конфигурации
sudo tlp-stat -b
1
ответ дан 5 January 2021 в 23:54

Я написал приложение приложение командной строки , которое делает это.

Самый простой способ начать загружать приложение из страницы выпусков и запустить

$ ./bat --help

из терминала в каталоге, где он находится, что должно показать справочную документацию.

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

chmod +x ./bat

В основном работает

$ ./bat --threshold

распечатает текущий порог.

Чтобы установить новый порог, скажите 60%, запустите

./bat --threshold 60

, чтобы сохранить текущий порог между перезапусками, запустить

sudo ./bat --persist

Примечание: «Использование использования SystemD Под капотом, но это в комплекте с большинством Linux Распределения, включая Ubuntu.

Совет: положить приложение в каталог, как / usr / local / bin / , который находится в пути $ PATH , позволит вам запустить его из любого места, а не только в Справочник приложение. Затем вышеуказанные команды становятся

bat --help
bat --threshold 60
bat --persist

соответственно.

1
ответ дан 2 April 2021 в 01:52

Другие вопросы по тегам:

Похожие вопросы: