LINUX.ORG.RU

Залипание индикатора заряда ноута.

 ,


0

1

Подозреваю, что числа эти попадают в sysfs прямиком из контроллера батареи без каких-то обработок ядром, но всё же.

Обычно я стараюсь не опускать заряд меньше 20% (делаю suspend и иду/еду заряжать), но тут над было, он опустился до 7.1% и там завис. Сидел на нём больше полчаса (притом что батареи всего на полтора-два хватает, она старая, но эта оценка экстраполяцией поведения при 20%+ на разряженные состояния), он так дальше вниз и не сдвинулся. Когда поставил на зарядку, он 35 минут висел на этой точке, потом начало расти, за следующие 140 минут дошёл до 86%.

У меня есть две теории:

1) контроллер неверно оценил убитость аккума и на самом деле его 100% заряд больше чем он думает

2) на 7% начались какие-то крайне вредные процессы глубокого разряда и оно тратилось в какую-то недопустимую сторону (но я в этом не разбираюсь)

Что-то из этого правильно или ещё что?

energy_full = 12440000 (ёмкость 100% аккума в каких-то условных единицах)

energy_full_design = 28510000 (я так понимаю это ёмкость аккума когда он был новый)

★★★★★

Не в каких-то условных, а в самых конкретных микроваттчасах.

Да, контроллер ошибается в величине заряда. Но точнее его не определит никто.

andytux ★★★★★
()

У меня есть старый ноут (2018 года), который я не использовал 2 года и не заряжал, высадил батарею в ноль.

Так он периодически теперь тоже высаживается в ноль (ёмкость упала в два раза), и после высаживания в ноль долго не начинает заряжаться. Приходится выключать его, ждать какое-то время, и не сразу, непонятно спустя какой интервал, он начинает заряжаться с 0.

Chiffchaff
()
Ответ на: комментарий от dmitry237

«Кратковремменно помогла» - всмысле он стал правильно более большое оставшееся время работы писать? Или стал «правильно» садиться до нуля быстрее чем с зависшим индикатором?

firkax ★★★★★
() автор топика
Ответ на: комментарий от firkax

Стал заряжаться до 100% и стал правильно гореть индикатор заряда на корпусе ноута. До калибровки он показывал, что аккумулятор заряжен. Потом проблема достаточно быстро вернулась и решили заменить, сейчас уже год все в порядке. Скорее всего проблема именно в аккумуляторе, возможно еще в контролере заряда, но маловероятно.

dmitry237 ★★★★★
()
Ответ на: комментарий от dmitry237

Так у меня он и не переставал до 100% заряжаться. Он разрядиться ниже 7% не смог! А заряд шёл штатно. А про индикатор заряда - я не про светодиоды на корпусе а про число текущего заряда в sysfs, вроде ж очевидно из темы.

Возможно я и непонятно написал, но уточню: всё поведение выше 7.1% полностью правильное, проблема только в том что внутри не двигающегося «7.1% заряда по версии контроллера» оказалось ещё не меньше 20 виртуальных процентов (дальше не ждал, может их там и 50), которые не репортятся, но электричество на питание ноута успешно выдают (он работает) и соответственно потребляют при зарядке (зарядка идёт, число 7.1% висит какое-то время).

firkax ★★★★★
() автор топика
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от firkax

а про число текущего заряда в sysfs

А где это, /sys/class/power_supply/? Я смотрю с помощью upower или tlp.

я не про светодиоды

Было лень смотреть какой класс WMI в винде показывает статус батареи, наверное Win32_Battery, поэтому ориентировались на «внешние» показатели. Факт тот, что была проблема. Она отличается от вашей, но похожа по своей сути.

dmitry237 ★★★★★
()
Ответ на: комментарий от firkax

но уточню: всё поведение выше 7.1% полностью правильное…

Поведение может и правильное, видишь ты неверно. Попробую пояснить на пальцах.

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

Здесь практический пример.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Это всё понятно, но как это связано с зависанием индикатора на одной позиции? Оно показывало что осталось 880 мВт*ч, и никуда не двигалось, хотя батарея очевидно продолжала разряжаться и отдала (если верить предыдущим показаниям в плане среднего потребления) уже примерно 2500 мВт*ч, а показывало всё тот же заряд. А потом, пока эти 2500 мВт*ч назад в неё заряжались из розетки, показания тоже не двигались.

firkax ★★★★★
() автор топика
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

предыдущим показаниям в плане среднего потребления…

Средняя температура по больнице. Я тебе конкретно показал, как средняя в один момент становится критической. Реальное состояние своего аккумулятора ты не знаешь, реально происходящих процессов не знаешь. Но считаешь, что правильно угадаешь…

andytux ★★★★★
()
Ответ на: комментарий от andytux

Я всё так же не понимаю к чему ты всё это пишешь. Мгновенное потребление меня не интересовало, меня интересовало почему ноут целых полчаса разряжал батарею (а потом заряжал), а контроллер считал что её заряд не меняется. Среднее потребление в эти полчаса точно было не меньше того что было до них.

firkax ★★★★★
() автор топика
Ответ на: комментарий от firkax

Что делал контроллер, никому не ведомо. А ты пытаешься гадать по этой неведомости.

Среднее, оно бывает очень разное. Что было точно, неведомо. Может включился какой-нибудь режим экономии. Может процессор банально сбросил частоту. И т.д. и т.п.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Ты троллишь так или в самом деле не видишь вопроса? Повторю: ноут ПОЛЧАСА был включён, а на индикаторе заряда, который там имеет точность 0.01 Вт*ч, не изменилось вообще ничего. Потом он полчаса заряжался и опять ничего не менялось. Очевидно, никакие режимы экономии тут ни при чём, расход должен был быть около 2.5 Вт*ч (а потом столько же зарядка), и не надо мне втирать что оно магически сэкономилось в >100 раз.

Что делал контроллер, никому не ведомо

Я тему создал как раз для того, чтоб ответили те кто может это знать. И за всех (что все не знают) писать не надо.

firkax ★★★★★
() автор топика
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от firkax

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

Для всех остальных разжевываю то, о чем человек написал: Дело в том, что скорость расхода заряда батареи замеряет по остаточному напряжению. А когда батарейка изношена - напряжение падает под нагрузкой гораздо сильнее, чем без оной.

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

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

Теперь переходим к тому, как реально считается процент разряда в большинстве случаев: контроллер помнит мощность батареи, которая была в последний раз, после чего берет ее за 100%. А потом из нее и вычитает процентики заряда. И вот когда батарейка почти села, он смотрит на оставшееся напряжение. И если оно, в общем-то, достаточное для батарейки, скажем, в 7% емкости (а 7% потому, что на большинстве железок на 5% настроен хибернейт или отключение), он сидит и ждёт, пока же она сядет, при этом показывая те же самые 7%. При следующей загрузке емкость аккума возрастет (а может и нет, зависит от прошивки). После этого как напряжение упадет ниже порога для 7% заряда батарейки, контроллер продолжит считать ее разряд.

Вуаля, у нас «заряд батарейки завис, адын-адын!».

Если же батарейка разряжается слишком быстро (она не разряжается, она просто не успевает отдавать энергию), контроллер такой - «опа, а батарейка то уже кончилась!» и запоминает посчитанную емкость, при следующей загрузке емкость будет уже меньше.

Есть отдельные кетайские контроллеры в батарейках, которые емкость берут с погоды на марсе, ну и износ с уровнем заряда, собственно, тоже (следят только за минимальным пороговым значением и максимальным, ну и выдерживают алгоритм CC-CV).

Я надеюсь, после этого все тайны мадридского двора будут для вас открыты и вы перестанете задавать «странные» вопросы. Тем более, что ваш аккумулятор чисто номинально эксплуатировать уже крайне не рекомендуется, может и пыхнуть, потому что на аноде скопилось уже много Sei плёнки, которая заставляет аккум сильнее греться. А может, и нельзя - потому, что это уже просто опасно и он внутри порос литиевыми дендритами и вот-вот коротнёт, а контроллер кЕтайский и не может пережечь предохранитель, чтобы аккумулятор отошел в мир иной при слишком сильном снижении рабочих параметров.

anonymous
()
Ответ на: комментарий от anonymous

Я надеюсь, после этого все тайны мадридского двора будут для вас открыты и вы перестанете задавать «странные» вопросы.

Твой пафос нелеп и неуместен. Вопрос норм, а странная - твоя реакция.

Из этой простыни, что ты нафлудил, всю вероятно полезную информацию можно уместить в одну короткую фразу: «до 7% контроллер оценивал текущий заряд, вычитая потреблённый из оценочного максимума, а на 7% переходит в режим оценки по текущему напряжению, который даёт заметно большую величину». Ну, может быть и так.

Прошлое сообщение потерли модеры, а жаль.

Гадящих анонимусов всегда репорчу даже без спецтопика т.к. не заслужили упоминания там.

firkax ★★★★★
() автор топика
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Вау. Теперь до тебя дошло, но вот когда тебе раньше расписывали «почему» почему-то не доходило. Боюсь, ты бы снова не понял. Кроме того, полезной информации в этом тексте несколько больше, чем ты можешь представить.

Ну, может быть и так.

То есть ничего не понял. Ну таки разжёвываю ещё: в твоем случае это именно так и никак иначе. Потому, что контроллер не может оценить износ аккумулятора по входящему току (я дико смеюсь с тех, кто емкость батарейки меряет по тому, сколько энергии она «всосала»). Дело в том, что во время зарядки энергия расходуется не только на сам заряд, но и на потери, в том числе тепловые. Во время заряда (в особенности изношенный аккумулятор) в силу своей химической природе выделяет тепло, которое, в общем-то, берется из того же электричества.

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

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

Касательно же твоей писанины вывод однозначен «слышу звон». Потому, что здесь Залипание индикатора заряда ноута. (комментарий) было дано исчерпывающее объяснение, нужно было всего лишь немножко додумать, но тебе не свезло.

anonymous
()