Вопрос или проблема
Я использую Ubuntu 22.04.5 с ядром 6.8.0-45-generic
и в настоящее время сталкиваюсь с этой странной проблемой: запись charge_control_end_threshold
будет случайным образом доступна, а затем исчезнет при следующей загрузке, и, таким образом, я не могу эффективно ограничить свой порог зарядки. Обратите внимание, что большую часть времени она недоступна.
Спецификации системы:
ОС: Ubuntu 22.04.5 LTS x86_64
Хост: ROG Zephyrus G14 GA403UV_GA403UV 1.0
Ядро: 6.8.0-45-generic
DE: GNOME 42.9
ЦП: AMD Ryzen 9 8945HS с графикой Radeon 780M (16) @ 4.000GHz
ГП: NVIDIA 01:00.0 Устройство NVIDIA Corporation 28e0
ГП: AMD ATI 65:00.0 Устройство 1900
Память: 4036MiB / 31378MiB
Результат при выполнении ls /sys/class/power_supply/BAT1
(и charge_control_end_threshold
будет случайным образом появляться здесь):
alarm charge_now manufacturer status voltage_min_design
capacity current_now model_name subsystem voltage_now
capacity_level cycle_count power technology
charge_full device present type
charge_full_design hwmon2 serial_number uevent
Информация о батарее:
--- TLP 1.5.0 --------------------------------------------
+++ Уход за батареей
Плагин: asus
Поддерживаемые функции: нет доступных
Использование драйвера:
* natacpi (asus_wmi) = неактивно (ноутбук не поддерживается)
+++ Статус батареи: BAT1
/sys/class/power_supply/BAT1/manufacturer = ASUS
/sys/class/power_supply/BAT1/model_name = A32-K55
/sys/class/power_supply/BAT1/cycle_count = 0 (или не поддерживается)
/sys/class/power_supply/BAT1/charge_full_design = 4580 [мАч]
/sys/class/power_supply/BAT1/charge_full = 4306 [мАч]
/sys/class/power_supply/BAT1/charge_now = 4306 [мАч]
/sys/class/power_supply/BAT1/current_now = 0 [мА]
/sys/class/power_supply/BAT1/status = Полная
Заряд = 100.0 [%]
Емкость = 94.0 [%]
Я пробовал Ubuntu 24.04 вместе с ядром 6.10, и эта проблема больше не возникает, но я пока не готов перейти на 24.04 и предпочел бы некоторое время оставаться на 22.04. Я также понимаю, что это, вероятно, связано с новыми аппаратными средствами моего ноутбука, так как на другом старом ноутбуке (тоже Asus ROG) этой проблемы нет.
Ответ или решение
Проблема, с которой вы столкнулись на Ubuntu 22.04.5 и kernel 6.8.0-45-generic, связана с нестабильной работой функции charge_control_end_threshold
вашей батареи. Давайте разберем основные аспекты проблемы и предлагаемые шаги для их решения.
Описание проблемы
Ваша система ROG Zephyrus G14, оборудованная процессором AMD Ryzen 9 8945HS и графикой Radeon 780M, испытывает проблему, когда одна и та же запись charge_control_end_threshold
, позволяющая задавать предел заряда аккумулятора, время от времени появляется и исчезает в каталоге /sys/class/power_supply/BAT1
. Это может быть связано с несовместимостью аппаратного обеспечения, недостаточной поддержкой в ядре Linux или проблемами с драйверами.
Поскольку вы упомянули, что на Ubuntu 24.04 с ядром 6.10 данная проблема исчезает, она, вероятно, является следствием улучшений, сделанных в более новых версиях ядра и драйверов, направленных на лучшую поддержку современного оборудования.
Технические детали
На основании предоставленных вами данных, вот что мы можем извлечь:
-
Поддержка TLP: Ваше устройство использует TLP, что подразумевает, что основные функции управления питанием могут зависеть от него. Однако, для вашей модели «ROG Zephyrus G14», плагин управления батареей
asus
не предоставляет никаких поддерживаемых функций, что указывает на потенциальную проблему несовместимости или недостаточную поддержку данной модели в TLP. -
Драйверы: Вы упомянули, что драйвер
natacpi (asus_wmi)
неактивен, что может негативно сказываться на функциональности управления батареей. Возможно, ваше устройство не полностью поддерживается текущими драйверами на 22.04.
Возможные решения
Вот несколько шагов, которые вы можете попробовать для решения данной проблемы:
-
Обновление ядра: Несмотря на то, что вы предпочитаете оставаться на Ubuntu 22.04, вы можете рассмотреть возможность обновления до более новой версии ядра (например, 6.10 или выше), так как это может улучшить совместимость с вашим оборудованием. Вы можете использовать
Ubuntu Mainline Kernel Installer
, чтобы безопасно установить более новое ядро, сохраняя вашу текущую систему. -
Проверка конфигураций TLP: Проверьте конфигурацию TLP, чтобы убедиться, что нет настроек, мешающих нормальной работе вашей батареи. Вы можете попробовать временно отключить TLP:
sudo tlp stop
Затем перезагрузите систему и проверьте наличие
charge_control_end_threshold
. -
Исследование драйверов: Возможно, стоит проверить, есть ли обновления для ваших драйверов в разделе
Software & Updates
. Также вы можете попробовать установить дополнительные драйвера черезAdditional Drivers
, чтобы улучшить функциональность. -
Проверка аппаратных характеристик: Убедитесь, что аккумулятор поддерживается ядром Linux, особенно если он новый. Вы можете также рассмотреть возможность обращения в службу поддержки ASUS для получения информации о совместимости вашего устройства с Linux.
-
Переключение на другие версии Ubuntu: Если проблема критична и не удается найти решения, вы можете рассмотреть возможность перехода на Ubuntu 24.04. Это даст вам доступ к улучшенной совместимости и более новым версиям пакетов.
Заключение
Проблема с charge_control_end_threshold
является достаточно распространенной, особенно на устройствах с современной аппаратной частью, использующих более старые версии ОС. Несмотря на то, что возможные решения могут быть временными или требовать изменения версии Ubuntu, наличие улучшенных драйверов и поддержки в более новых версиях ядра делает их привлекательными для пользователей с новыми устройствами. Надеюсь, что предложенные рекомендации окажутся полезными для вас.