Рейтинг:2

Невозможно приостановить работу: система возобновляет работу по неизвестной причине примерно через 40 минут бездействия.

флаг pl

Я купил новый MSI Summit B15, который поставлялся без ОС, и с радостью установил на него свежую Ubuntu 21.04. Пока все работает довольно хорошо (за исключением пары проблем с тачпадом и отсутствием драйверов для сканера FP, но это уже другая история), за исключением одной довольно неприятной проблемы: когда я пытаюсь приостановить работу машины, она внезапно просыпается примерно через ~ 40-60 минут и запустить вентиляторы на полной скорости. Мало того, что иногда просыпается меня если я сплю поблизости, батарея разряжается за ночь, что делает приостановку практически бесполезной.

Я пытался отключить все (см. здесь как) но кнопка питания в /proc/acpi/пробуждение, поэтому на данный момент это выглядит так:

• ~ cat /proc/acpi/wakeup | grep включен
PWRB S4 *поддерживаемая платформа:PNP0C0C:00

Это не помогает.

Вот часть системного журнала (здесь я приостановил работу системы в 7:48, а она начала прокручиваться в 8:35, но я зашел позже, только в 10:56):

5 сен 07:48:00 rb-base tracker-store[6784]: OK
5 сентября, 07:48:00 rb-base systemd[3246]: tracker-store.service: успешно.
5 сентября, 07:48:01 ядро ​​rb-base: [ 146.937861] Блокировка: systemd-logind: спящий режим ограничен; см. man kernel_lockdown.7
5 сентября, 07:48:05 ядро ​​rb-base: [ 150.972633] Lockdown: systemd-logind: спящий режим ограничен; см. man kernel_lockdown.7
5 сентября, 07:48:05 ядро ​​rb-base: [ 150.977982] Блокировка: systemd-logind: спящий режим ограничен; см. man kernel_lockdown.7
5 сентября 07:48:05 rb-base ModemManager[2119]: система <info> [sleep-monitor] собирается приостановить работу
5 сентября, 07:48:05 ядро ​​rb-base: [150.997219] wlo1: деаутентификация из b0:4e:26:31:82:b8 по локальному выбору (причина: 3=DEAUTH_LEAVING)
5 сентября 07:48:05 rb-base wpa_supplicant[1978]: wlo1: CTRL-EVENT-DISCONNECTED bssid=b0:4e:26:31:82:b8 причина=3 locally_generated=1
5 сентября 07:48:05 rb-base NetworkManager[1931]: <info> [1630817285.6861] устройство (wlo1): изменение состояния: деактивация -> отключение (причина «спящий», sys-ifac
электронное состояние: «управляемый»)
5 сентября 07:48:05 rb-base wpa_supplicant[1978]: wlo1: CTRL-EVENT-SIGNAL-CHANGE выше = 0 сигнал = 0 шум = 9999 txrate = 0
5 сентября, 07:48:07 rb-base systemd[1]: достигнута цель Sleep.
5 сентября 07:48:07 rb-base systemd[1]: запуск приостановки...
5 сентября, 07:48:07 ядро ​​rb-base: [152.341436] PM: приостановить запись (s2idle)
5 сентября 07:48:07 rb-base systemd-sleep[7072]: Приостановка работы системы...
5 сентября, 07:48:07 rb-base systemd[1]: zsysd.service: успешно.
5 сентября, 07:48:07 ядро ​​rb-base: [ 152.424613] Синхронизация файловых систем: 0,083 секунды
5 сентября 10:56:42 ядро ​​rb-base: [ 152.426323] Замораживание процессов пользовательского пространства ... (прошло 0,002 секунды) выполнено.
5 сентября, 10:56:42 Ядро rb-base: [152.428515] Убийца OOM отключен.
5 сентября, 10:56:42 ядро ​​rb-base: [ 152.428516] Замораживание оставшихся замораживаемых задач... (прошло 0,001 секунды) выполнено.
5 сентября, 10:56:42 ядро ​​rb-base: [ 152.429676] printk: приостановка работы консоли (используйте no_console_suspend для отладки)
5 сентября 10:56:42 ядро ​​rb-base: [ 153.214718] ACPI: EC: прерывание заблокировано
5 сентября 10:56:42 ядро ​​rb-base: [11468.660690] ACPI: EC: прерывание разблокировано
5 сентября 10:56:42 ядро ​​rb-base: [11469.338032] nvme nvme0: 8/0/0 очередей по умолчанию/чтения/опроса
5 сентября, 10:56:42 Ядро rb-base: [11469.574414] Убийца OOM включен.
5 сентября, 10:56:42 ядро ​​rb-base: [11469.574416] Перезапуск задач... выполнено.
5 сентября 10:56:42 ядро ​​rb-base: [11469.584884] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04:bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
5 сентября, 10:56:42 ядро ​​rb-base: [11469.586402] Thermal Thermal_Zone6: не удалось прочитать тепловую зону (-61)
5 сентября, 10:56:42 rb-base systemd[1]: проверка условий привела к тому, что задания Run anacron были пропущены.
5 сентября 10:56:43 rb-base systemd-sleep[7072]: работа системы возобновлена.
5 сентября 10:56:43 ядро ​​rb-base: [11469.846714] PM: приостановить выход
5 сентября 10:56:43 rb-base systemd[1]: systemd-suspend.service: успешно.
5 сентября 10:56:43 rb-base systemd[1]: Готово Приостановка.
5 сентября 10:56:43 rb-base systemd[1]: остановлен целевой спящий режим.
5 сентября 10:56:43 rb-base systemd[1]: достигнута цель приостановки.
5 сентября 10:56:43 rb-base systemd[1]: цель остановлена.
5 сентября 10:56:43 rb-base NetworkManager[1931]: <info> [1630828603.2303] менеджер: сон: запрошено пробуждение (в спящем режиме: да включено: да)
5 сентября, 10:56:43 rb-base ModemManager[2119]: система <info> [sleep-monitor] возобновляет работу
5 сентября, 10:56:43.
5 сентября, 10:56:45 rb-base ModemManager[2119]: <info> [base-manager] не смог проверить поддержку устройства '/sys/devices/pci0000:00/0000:00:14.3': не поддерживается любой плагин
5 сентября, 10:56:46. 1000 pid=3490 comm="/usr/bin/gnome-shell " label="unconfined")
5 сентября 10:56:46 rb-base systemd[1]: запуск демона аутентификации по отпечатку пальца...
5 сентября, 10:56:46 rb-base dbus-daemon[1927]: [система] Успешно активирована служба 'net.reactivated.Fprint'
5 сентября 10:56:46 rb-base systemd[1]: запущен демон аутентификации по отпечатку пальца.

(Вот полный журнал, если я удалил что-то важное)

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

ОБНОВЛЕНИЕ1: Благодаря комментарию @David, хотя сам WOL не имеет отношения к моей системе (у MSI Summit даже нет карты Ethernet), я понял, что мне нужно искать какую-то конфигурацию в настройках BIOS. И я нашел там запись «Пробуждение на устройстве Thunderbolt™», которая была включена. У меня 0 устройств Thunderbolt™, но на всякий случай я отключил запись. Однако это не помогло.

УПД2: Похоже, что /proc/acpi/пробуждение просто не работает: как я упоминал ранее, я отключил в нем все, кроме кнопки питания, однако, когда я открываю крышку, компьютер все равно просыпается.

UPD3 Скрипт сброса состояния батареи, предложенный @sancho.s ReinstateMonicaCellio:

#!/бин/баш

ВРЕМЯ="$(дата +'%y-%m-%d %H:%M:%S')"
CAPACITY="$(cat /sys/class/power_supply/BAT1/емкость)"
CURRENT="$(cat /sys/class/power_supply/BAT1/current_now)"
VOLTAGE="$(cat /sys/class/power_supply/BAT1/voltage_now)"

echo "$ВРЕМЯ\t$МОЩНОСТЬ\t\t\t$ТОК\t$НАПРЯЖЕНИЕ" >> /home/rb/bat_dump
David avatar
флаг cn
Это может помочь. https://superuser.com/questions/86576/how-does-wol-wake-on-lan-work это было проблемой для некоторых в прошлом.
sancho.s ReinstateMonicaCellio avatar
флаг pl
Отключение мыши/BT-приемника?
Roman Bekkiev avatar
флаг pl
Пробовал отключать все, что можно было отключить. знак равно
Nate T avatar
флаг it
Ни один из регистраторов не будет отображать каждый журнал (о котором я знаю, но у одного может быть опция, которая делает это). Обычно каждый из них фокусируется на определенном аспекте системы (например, `dmesg` печатает журналы, связанные с загрузкой.) Я бы `cd ` в `/var/log` и `cat`, каждый из которых заканчивается на `.log` по одному. Найдите журнал, в котором есть запись около 8:00, и это виновник. Некоторые из записей (например, `apt`) будут каталогами с журналами внутри.Или вы можете проявить творческий подход с помощью `grep`. Что-то вроде `cat /var/log/**.log | grep `.
Roman Bekkiev avatar
флаг pl
Я голосую за то, чтобы закрыть этот вопрос, потому что эта проблема, скорее всего, связана с аппаратным обеспечением и кажется неустранимой в ОС Ubuntu.
Рейтинг:4
флаг pl

Я не знаю, ваш ли это случай, но если ваша система настроена на сон при закрытии крышки и переход в спящий режим, скажем, через 40 минут, вентиляторы могут запускаться в это время, когда они находятся в спящем режиме. Однако это не объясняет разрядку батареи. Другой связанный случай — когда система настроена на переход в спящий режим при определенном уровне заряда батареи. Таким образом, сначала происходит разрядка батареи (я не знаю, почему), и это вызывает спящий режим. Или система может вообще не быть приостановлена.

Диагностика состояния ПК

Проверьте соответствующие события с помощью

$ journalctl --no-pager | кот -н | grep -A 10 -B 3 системный вход

Вы можете идентифицировать приостановки в таких строках, как

9818455 сен 08 22:25:57 MyServer systemd-logind[1132]: крышка закрыта.
...
9818624 сен 09 06:43:47 MyServer systemd-logind[1132]: крышка открыта.

Или используйте

$ cat -n /var/log/syslog | grep -A 10 -B 3 системный вход

Твой системный журнал кажется, показывает эффективный сон, но я не уверен. У меня есть PM: приостановить вход (глубоко) (в Thinkpad) вместо вашего PM: приостановить запись (s2idle). См. также ниже.

Диагностика разрядки аккумулятора

Вы можете написать сценарий, скажем dump_bat.sh что сбрасывает состояние батареи в файл, с чем-то вроде

#!/бин/баш
upower -i /org/freedesktop/UPower/devices/battery_BAT0 > battery_$(date | tr " " "_").txt

Вы можете найти определенные части вывода, например процент, пора опустошать, обновлен, и История фрагменты. Помните

$ chmod +x dump_bat.sh

Размещение задания cron для выполнения этого каждые, скажем, 10 минут поможет определить схема разрядки аккумулятора и состояние ноутбука (бодрствующий/спящий). Добавлять

*/10 * * * * <путь к dump_bat.sh>

с

$ кронтаб -е

Предотвращение разряда батареи

Попробуйте отключить WOL с помощью это

$ ethtool -s <устройство> wol d

Совместить с диагностикой выше.

Roman Bekkiev avatar
флаг pl
sancho.s ReinstateMonicaCellio, спасибо за ответ! Разряд батареи сам по себе не является проблемой: вполне ожидаемо, что вентиляторы, работающие всю ночь, разряжают батарею. Что касается WOL: я не думаю, что это имеет значение, как я уже сказал, у моего ноутбука даже нет Ethernet (только «lo» и «wlo1» отображаются в «ip a»), поэтому нет «ethtool».
Roman Bekkiev avatar
флаг pl
Что касается `hibernate`, то есть кое-что странное: `systemctl hibernate` говорит: `Не удалось перевести систему в спящий режим через logind: Глагол сна "hibernate" не поддерживается`, так что я не думаю, что он даже поддерживается. Однако в `syslog` есть записи вида `Lockdown: systemd-logind: гибернация ограничена; см. man kernel_lockdown.7`. Тем не менее, это не близко к приостановке событий.
sancho.s ReinstateMonicaCellio avatar
флаг pl
@RomanBekkiev - Идея моего предложения заключается не в том, чтобы избежать разрядки батареи, а, как указано, в изучении характера разрядки батареи и состояния ноутбука (бодрствующий / спящий). Пожалуйста, попробуйте это предложение и опубликуйте результаты.
Roman Bekkiev avatar
флаг pl
Ну, как я и ожидал, кажется, что часть системы, где находится cron, не работает, как это происходит с логами.Вот дамп: https://gist.github.com/RB-Lab/b2246e7dc47b16d603b943d1a4a17be9 Здесь ноутбук заряжался до 22:30, затем я отключил зарядное устройство и поставил его в режим ожидания. И следующая запись происходит только на следующее утро, когда я открыл крышку и зашел, 20% уже использовано. Похоже, система на самом деле не просыпается ночью, а просто плохо спит...
sancho.s ReinstateMonicaCellio avatar
флаг pl
@RomanBekkiev - Мои комментарии: 1) Что вы подразумеваете под «частью системы, где находится cron, не работает»? Кажется, он сделал свое дело. Если только вы не сделали это каким-то другим способом. 2) Что вы подразумеваете под "как это происходит с логами"? 3) Ваш "журнал батареи" выглядит совершенно нормально. 4) Как часто проявляется описанная вами проблема? Это случилось не вчера.
Roman Bekkiev avatar
флаг pl
Похоже, что сама ОС **находится** в режиме приостановки, поэтому cron не выполняет свои задания и ничего не пишется в логах. То, что запускает вентиляторы, вероятно, где-то на более низком уровне абстракции (например, в BIOS??). Я не думаю, что падение мощности на 20% за 8 часов — это нормально: например. Маки используют не более 3-5% емкости батареи за ночь, когда они находятся в спящем режиме, и у моего предыдущего Lenovo ThinkPad было сопоставимое использование батареи. Впрочем, проблема, скорее всего, не связана с Ubuntu/Linux.
sancho.s ReinstateMonicaCellio avatar
флаг pl
@RomanBekkiev - Хорошо, теперь я понимаю, что ты имеешь в виду. Мои комментарии: 1) Разрыв в отчете о батарее вполне ожидаем, и это подтверждает, что ПК приостановлен. Это не значит, что что-то не так с cron или журналами, это именно то, как я должен работать. 2) Что касается снижения на 20% в одночасье, то это тоже не значит, что что-то не так. Из оригинального ОП я понял, что батарея полностью разрядилась за ночь. Это было бы странно.
sancho.s ReinstateMonicaCellio avatar
флаг pl
3) Можно ли улучшить 20%, вы можете попробовать несколько вещей. а) Проверьте с Windows, если у вас установлено. б) Попробуйте сбросить режим приостановки Sx и, если возможно, использовать другой режим. c) Включите спящий режим, если это вообще возможно в вашей системе. Все это стоит другого вопроса/ов. 4) Я предлагаю вам продолжить использовать скрипт, чтобы увидеть, как ведет себя ваш компьютер. 5) Если вы не поймали случай, когда вентиляторы заработали, это может быть еще одной проблемой.

Ответить или комментировать

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