Остановить / начать зарядку батареи через программное обеспечение?

20

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

РЕДАКТИРОВАНИЕ:
Возможно, зарядка батареи может быть остановлена, если был способ обмануть систему, заставив думать, что батарея уже заряжена на 100%.

Sepero
источник
2
Это возможно - я знаю, что компьютеры Lenovo могут делать это с загруженной Windows. Не уверен, есть ли возможность сделать это с Ubuntu.
cprofitt
1
Можете ли вы объяснить, почему вы хотите это сделать?
Котейр
У меня есть опция BIOS для этого. Не то, что вы хотите, но посмотрите там.
Тимо
@coteyr: Этот мой неопределенно связанный вопрос объясняет, почему не всегда держать ноутбук заряженным на 100%.
незабываемый

Ответы:

4

На устройствах Thinkpad вы можете контролировать запуск и остановку зарядки аккумулятора в Ubuntu. Запустите эти команды в вашем терминале для установки tp-smapi:

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

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

echo 10 | sudo tee /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 100 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh

В приведенных выше командах вы можете изменить значения 10 и 100 на любое значение. Первое поможет вам выбрать, с какого уровня должна начаться зарядка, а второе значение позволит вам выбрать, на каком уровне зарядка должна прекратиться .

Кришна Каантх
источник
2

Это сильно зависит от оборудования. Большинство ноутбуков на аппаратном уровне не позволят вам прекратить зарядку аккумулятора. Батареи LION действительно выигрывают от небольшого цикла разряда-перезарядки, и большинство ноутбуков имеют этот цикл встроенный на аппаратном уровне.

Это означает, что индикатор вашей батареи показывает 100%, батарея на самом деле разряжается и перезаряжается, чтобы сохранить ее работоспособной. Также для большинства ноутбуков 100% не полный.

Некоторые ноутбуки в Windows имеют опцию «Отключить зарядку», но это был просто возврат к никель-кадмиевым батареям. В эти дни все, что делает «настройка», это включает режим «производительности».

Если вы ищете такой же переключатель, то я рекомендую Юпитер . Это позволит вам легко переключаться между режимами исполнения, но опять же не управлять зарядкой напрямую.

Поскольку остановка этого цикла зарядки очень вредна для нынешних батарей, она не очень популярна. Потому что это не популярно, я сомневаюсь, что вы найдете хороший графический инструмент для этого. Ваша лучшая ставка, возможно, осмотреться в /sys/class/power_supply/BAT0подобных местах и ​​посмотреть, что вы можете найти, но я почти уверен, что вы не сможете отключить зарядку.

coteyr
источник
2

Вы не можете отключить зарядку, используя любой известный программный интерфейс из пространства пользователя. Таким образом, элементы управления от батареи представляют /sys/class/power_supply/BAT0собой статические и динамические показания, полученные из элементов управления ACPI _BIF, _BIX и _BST, они доступны только для чтения.

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

Колин Ян Кинг
источник
1

В большинстве ноутбуков за это отвечает встроенный контроллер. Я предлагаю вам изучить модуль ec_sys. modprobe ec_sys, затем hexdump -C / sys / kernel / debug / ec / ec0 / io

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

1) использовать переменный ток (если он подключен) 2) использовать аккумулятор (даже если подключен переменный ток) 3) зарядка / разрядка и т. Д.

Zibri
источник
Вы также можете найти подробную карту встроенных контроллеров в таблице DSDT acpi.
Зибри