Я купил новый MSI Summit B15, который поставлялся без ОС, и с радостью установил на него свежую Ubuntu 21.04. Итак, пока все работает довольно хорошо (за исключением пары проблем с тачпадом и отсутствием драйверов для сканера FP, но это другая история), за исключением одной довольно раздражающей проблемы: когда я пытаюсь приостановить работу машины, она внезапно просыпается примерно через ~ 40-60 минут и начинает вентиляторы работают на полной скорости Мало того, что иногда будит меня, если я спал поблизости, так еще и разряжает батарею за ночь, делая приостановку практически бесполезной.
Я пытался отключить все (см. здесь как), кроме кнопки питания в /proc/acpi/wakeup
, поэтому на данный момент это выглядит так:
➜ ~ cat /proc/acpi/wakeup | grep enabled
PWRB S4 *enabled platform:PNP0C0C:00
Это не не помогает.
Вот часть системного журнала (здесь я приостановил работу системы в 7:48, и она начала прокручиваться в 8:35, но я зашел позже, только в 10:56):
Sep 5 07:48:00 rb-base tracker-store[6784]: OK
Sep 5 07:48:00 rb-base systemd[3246]: tracker-store.service: Succeeded.
Sep 5 07:48:01 rb-base kernel: [ 146.937861] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
Sep 5 07:48:05 rb-base kernel: [ 150.972633] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
Sep 5 07:48:05 rb-base kernel: [ 150.977982] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
Sep 5 07:48:05 rb-base ModemManager[2119]: <info> [sleep-monitor] system is about to suspend
Sep 5 07:48:05 rb-base kernel: [ 150.997219] wlo1: deauthenticating from b0:4e:26:31:82:b8 by local choice (Reason: 3=DEAUTH_LEAVING)
Sep 5 07:48:05 rb-base wpa_supplicant[1978]: wlo1: CTRL-EVENT-DISCONNECTED bssid=b0:4e:26:31:82:b8 reason=3 locally_generated=1
Sep 5 07:48:05 rb-base NetworkManager[1931]: <info> [1630817285.6861] device (wlo1): state change: deactivating -> disconnected (reason 'sleeping', sys-ifac
e-state: 'managed')
Sep 5 07:48:05 rb-base wpa_supplicant[1978]: wlo1: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=0 noise=9999 txrate=0
Sep 5 07:48:07 rb-base systemd[1]: Reached target Sleep.
Sep 5 07:48:07 rb-base systemd[1]: Starting Suspend...
Sep 5 07:48:07 rb-base kernel: [ 152.341436] PM: suspend entry (s2idle)
Sep 5 07:48:07 rb-base systemd-sleep[7072]: Suspending system...
Sep 5 07:48:07 rb-base systemd[1]: zsysd.service: Succeeded.
Sep 5 07:48:07 rb-base kernel: [ 152.424613] Filesystems sync: 0.083 seconds
Sep 5 10:56:42 rb-base kernel: [ 152.426323] Freezing user space processes ... (elapsed 0.002 seconds) done.
Sep 5 10:56:42 rb-base kernel: [ 152.428515] OOM killer disabled.
Sep 5 10:56:42 rb-base kernel: [ 152.428516] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Sep 5 10:56:42 rb-base kernel: [ 152.429676] printk: Suspending console(s) (use no_console_suspend to debug)
Sep 5 10:56:42 rb-base kernel: [ 153.214718] ACPI: EC: interrupt blocked
Sep 5 10:56:42 rb-base kernel: [11468.660690] ACPI: EC: interrupt unblocked
Sep 5 10:56:42 rb-base kernel: [11469.338032] nvme nvme0: 8/0/0 default/read/poll queues
Sep 5 10:56:42 rb-base kernel: [11469.574414] OOM killer enabled.
Sep 5 10:56:42 rb-base kernel: [11469.574416] Restarting tasks ... done.
Sep 5 10:56:42 rb-base kernel: [11469.584884] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
Sep 5 10:56:42 rb-base kernel: [11469.586402] thermal thermal_zone6: failed to read out thermal zone (-61)
Sep 5 10:56:42 rb-base systemd[1]: Condition check resulted in Run anacron jobs being skipped.
Sep 5 10:56:43 rb-base systemd-sleep[7072]: System resumed.
Sep 5 10:56:43 rb-base kernel: [11469.846714] PM: suspend exit
Sep 5 10:56:43 rb-base systemd[1]: systemd-suspend.service: Succeeded.
Sep 5 10:56:43 rb-base systemd[1]: Finished Suspend.
Sep 5 10:56:43 rb-base systemd[1]: Stopped target Sleep.
Sep 5 10:56:43 rb-base systemd[1]: Reached target Suspend.
Sep 5 10:56:43 rb-base systemd[1]: Stopped target Suspend.
Sep 5 10:56:43 rb-base NetworkManager[1931]: <info> [1630828603.2303] manager: sleep: wake requested (sleeping: yes enabled: yes)
Sep 5 10:56:43 rb-base ModemManager[2119]: <info> [sleep-monitor] system is resuming
Sep 5 10:56:43 rb-base NetworkManager[1931]: <warn> [1630828603.5154] sup-iface[499bce01c63427b3,1,wlo1]: call-p2p-cancel: failed with P2P cancel failed
Sep 5 10:56:45 rb-base ModemManager[2119]: <info> [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:14.3': not supported by any plugin
Sep 5 10:56:46 rb-base dbus-daemon[1927]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.90' (uid=1000 pid=3490 comm="/usr/bin/gnome-shell " label="unconfined")
Sep 5 10:56:46 rb-base systemd[1]: Starting Fingerprint Authentication Daemon...
Sep 5 10:56:46 rb-base dbus-daemon[1927]: [system] Successfully activated service 'net.reactivated.Fprint'
Sep 5 10:56:46 rb-base systemd[1]: Started Fingerprint Authentication Daemon.
(Здесь это полный журнал, на случай, если я удалил что-то важное)
Как видите, в момент пробуждения машины записи нет. Итак, мое следующее предположение состоит в том, что что-то вне ОС вызывает пробуждение. Но система выглядит не приостановленной: например. монитор светится, и отображается экран входа в систему, когда я открываю крышку, обычно требуется некоторое время, чтобы запустить экран входа в систему, когда я открываю крышку в спящей системе.
UPD1: Благодаря комментарию @David, хотя сам WOL не имеет отношения к моей системе (у MSI Summit даже нет Ethernet-карты), я понял, что мне нужно искать какую-то конфигурацию в настройках БИОС. И я нашел там запись «Пробуждение на устройстве Thunderbolt ™», которая была включена. У меня 0 устройств Thunderbolt™, но на всякий случай я отключил запись. Однако это не помогло.
UPD2: Похоже, что /proc/acpi/wakeup
просто не работает: как я упоминал ранее, я отключил в нем все, кроме кнопки питания, однако, когда я открываю крышку, компьютер все равно просыпается.
UPD3 Скрипт сброса состояния батареи, предложенный @sancho.s ReinstateMonicaCellio:
#!/bin/bash
TIME="$(date +'%y-%m-%d %H:%M:%S')"
CAPACITY="$(cat /sys/class/power_supply/BAT1/capacity)"
CURRENT="$(cat /sys/class/power_supply/BAT1/current_now)"
VOLTAGE="$(cat /sys/class/power_supply/BAT1/voltage_now)"
echo "$TIME\t$CAPACITY\t\t\t$CURRENT\t$VOLTAGE" >> /home/rb/bat_dump