Wlan слишком быстро разряжает батарею в Ubuntu 16.04

У меня есть ноутбук Asus N55SL, на котором батарея может работать почти 4 часа в Windows 7.

До прошлой недели у меня было 2х50-3ч автономной работы от батареи с Ubuntu 16.04 и Linux 4.13. Произошло что-то (обновления или что-то еще), из-за чего мой аккумулятор прослужил меньше 1 часа 30 минут

У меня есть TLP, настроенный для включения управления питанием на карте Wi-Fi и USB приостановить. Используемый драйвер процессора - Intel Pstate на регуляторе powersave.

При открытии powertop все настройки находятся в хорошем состоянии, кроме времени ожидания обратной записи виртуальной машины, но сетевые интерфейсы wlp3s0 (iwlwifi) и enp5s0 (atl1c) отстой соответственно 14 Вт и 6 Вт, а общее энергопотребление системы составляет 25 Вт. У меня также есть USB -device-8086-0189, потребляющая 2 Вт, которая, по-видимому, является радиомодулем Bluetooth, а Bluetooth выключен.

Я помню, как несколько недель назад работал с общей мощностью 15 Вт. Что можно сделать / что здесь может пойти не так?

2 ответа

Решение

Проблема возникла из-за неисправного DKMS, как описано здесь: Высокое энергопотребление eth0 | archlinux.org

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

Мне пришлось очистить и переустановить DKMS, bbswitch и драйвер Nvidia, как описано здесь: dkms не перестраивается автоматически после обновления ядра

Сейчас я вернулся в 13-14 Вт.

Сначала я хотел бы убедиться, что powertop правильно измеряет энергопотребление, возможно, он учитывает какое-то другое устройство, но приписывает его eth0. Вы можете проверить это с powertop --calibrate как обсуждено здесь в Arch Linux wiki

Если вы уверены, что правильно измеряете энергопотребление, вам нужно будет просмотреть параметры драйвера для вашего конкретного драйвера. Вы можете определить драйвер с lshw -c network как обсуждено здесь Как найти какой модуль ядра находится за сетевым интерфейсом?

После того, как вы узнаете драйвер, вы можете поэкспериментировать с различными опциями модуля, выгрузив модуль (используя modprobe -r <module name>, так что он выгружает зависимости) затем добавление файла.conf в /etc/modprobe.d/ с параметрами, которые вы хотите попробовать и запустить modprobe <module name> again - здесь очень хорошее обсуждение того, как найти доступные опции и как их настроить (даже если для более старой версии Ubuntu) здесь Как добавить параметры модуля ядра?

Наконец, лично у меня возникли трудности с картой Intel 9260, хотя они не были связаны с питанием, и простое обновление ядра до текущей серии 4.17.x с помощью пакета UKUU (доступно в центре программного обеспечения) исправило мои проблемы без дальнейшего вмешательства требуется. Это может быть что-то, что нужно запомнить, как вариант последней инстанции, или простой тест, в зависимости от вашего удобства при обновлении ядра.

Удачи

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