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


88

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

Скриншот

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


Можете ли вы подтвердить, что ответ Aquaherd работает для вас?
Cfi

Ответы:


76

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

К счастью, пользователю 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, либо адресовано только нескольким избранным поставщикам.


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

1
Я сделал в Ubuntu sudo apt-get install tp-smapi-dkms. Это установлено. Тогда я делаю echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_threshи это говорит bash: /sys/devices/platform/smapi/BAT0/start_charge_thresh: No such file or directory. Почему?
Алекс Малекс

4
@ ændrük, alex@ubuntu:~$ sudo modprobe tp_smapi FATAL: Error inserting tp_smapi (/lib/modules/3.5.0-17-generic/updates/dkms/tp_smapi.ko): No such device. Я что-то пропустил? Я собираюсь открыть новый вопрос, если я не получу ответ.
Алекс Малекс

1
@Mika Кажется, что T420 нуждается в дополнительном acpi-call-dkmsпакете согласно linrunner.de/en/tlp/docs/…
mystrdat

2
Для установки этих значений зарядки с помощью TLP требуется ноутбук ThinkPad. TLP поддерживает и другие ноутбуки (например, Dell, HP), но не поддерживает все функции, как написано в FAQ на странице linrunner. Для конфигурации порогов зарядки смотрите: linrunner.de/en/tlp/docs/…
Luckyrings

17

Принятый ответ не работает на моем новом 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.


17

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

TLP - Linux Advanced Power Management

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

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

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


где находится список поддерживаемых устройств? Я не могу найти раздел на их док. Вы случайно не знаете, tlpподдерживается ли это Thinkpad X1 carbonтакже
Касун Сиямбалапития,

2
@KasunSiyambalapitiya, на данный момент, tlpявляется лишь интерфейсом для двух инструментов, которые он использует для этой цели, Tp smapi и tpacpi-bat . Пока ваша модель поддерживается хотя бы одним из них, она должна работать (или сообщать об ошибке). Ваш, кажется, не указан ни на одной из поддерживаемых ими аппаратных страниц, но быстрое поиск в Google показывает, что последнее может работать.
Лиори

7

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

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

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

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


1
добро пожаловать в Askubuntu! Ваши результаты с Mint не связаны с Ubuntu. Можете ли вы перефразировать ваш ответ в терминах, которые имеют отношение к этому сайту? Спасибо!
Старейшина Компьютерщик

10
Здравствуйте Elder Geek, это связано с BIOS, поэтому будет работать с любой операционной системой в конфигурации с двойной загрузкой. Эта конфигурация Toshiba BIOS доступна не через меню BIOS, а только с помощью приложения энергосбережения, которое работает только в Windows.
эосфера

2
То же самое для меня на линовой йоге 3 11 дюймов.
Ctrl-Alt-Delor

2
Результаты с Mint явно связаны с Ubuntu.
Стефан Райх,

3

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


3
На экране настройки BIOS такой настройки нет.
rndrük

1

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.