Как заставить работать hibernate на 14.04?

У меня Ubuntu 14.04 на Thinkpad T400.

Я пытаюсь запустить следующую команду для спящего режима:

sudo pm-hibernate 

Он мигает, а затем возвращается в нормальное состояние. Бег pm-suspend-hybrid также мигает и возвращается в нормальное состояние. только sudo pm-suspend буду работать. Как я тогда впаду в спячку?

pm-is-supported --hibernate а также pm-is-supported --suspend-hybridничего не возвращать, что, как я предполагаю, означает, что моя система поддерживает оба?

Есть ли выход pm-is-supported также подразумевается, что BIOS разрешает все спящие режимы?


Вот вывод /proc/acpi/wakeup,

Device  S-state   Status   Sysfs node
LID   S3    *enabled   platform:PNP0C0D:00
SLPB      S3    *enabled   platform:PNP0C0E:00
UART      S3    *disabled
IGBE      S4    *enabled   pci:0000:00:19.0
EXP0      S4    *disabled  pci:0000:00:1c.0
EXP1      S4    *disabled  pci:0000:00:1c.1
EXP2      S4    *disabled
EXP3      S4    *disabled  pci:0000:00:1c.3
EXP4      S4    *disabled  pci:0000:00:1c.4
PCI1      S4    *disabled  pci:0000:00:1e.0
USB0      S3    *enabled   pci:0000:00:1d.0
USB3      S3    *enabled   pci:0000:00:1a.0
USB5      S3    *enabled   pci:0000:00:1a.2
EHC0      S3    *enabled   pci:0000:00:1d.7
EHC1      S3    *enabled   pci:0000:00:1a.7
HDEF      S4    *disabled  pci:0000:00:1b.0
  1. Применяется ли файл пробуждения одинаково как для режима ожидания, так и для режима гибернации? Если да, то ваш метод решает проблему для спящего режима, учитывая, что я могу приостановить, но не могу спящий режим?

  2. Означают ли "включен" и "отключен", если устройство может или не может разбудить ОС?

  3. Как мне попытаться изменить файл пробуждения, чтобы увидеть, делает ли он возможным переход в спящий режим?

2 ответа

Некоторые устройства сразу же просыпаются.

Вы можете показать все устройства, которые могут активироваться и те состояния с cat /proc/acpi/wakeup

# cat /proc/acpi/wakeup
Device  S-state   Status   Sysfs node
PS2K      S4    *disabled
PS2M      S4    *disabled
UAR1      S4    *disabled  pnp:00:06
P0P1      S4    *disabled
RP01      S4    *disabled  pci:0000:00:1c.0
PXSX      S4    *disabled
RP02      S4    *disabled
PXSX      S4    *disabled
RP03      S4    *disabled
PXSX      S4    *disabled
RP04      S4    *disabled
PXSX      S4    *disabled
RP07      S4    *disabled  pci:0000:00:1c.6
PXSX      S4    *enabled   pci:0000:06:00.0
RP08      S4    *disabled
PXSX      S4    *disabled
PEG0      S4    *disabled  pci:0000:00:01.0
PEGP      S4    *disabled
PEG1      S4    *disabled
PEG2      S4    *disabled
PEG3      S4    *disabled
RP05      S4    *disabled  pci:0000:00:1c.4
PXSX      S4    *disabled  pci:0000:03:00.0
RP06      S4    *disabled  pci:0000:00:1c.5
PXSX      S4    *disabled  pci:0000:04:00.0
GLAN      S4    *disabled
EHC1      S4    *disabled  pci:0000:00:1d.0
EHC2      S4    *disabled  pci:0000:00:1a.0
XHC   S4    *disabled  pci:0000:00:14.0
HDEF      S4    *disabled  pci:0000:00:1b.0
PWRB      S4    *enabled   platform:PNP0C0C:00

В моем случае оказалось, что USB (EHC1 а также EHC2) был ответственным за пробуждение. Вы можете переключать каждое устройство с echo <DEVICE> | sudo tee /proc/acpi/wakeup где <DEVICE> это имя устройства из списка выше.

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

РЕДАКТИРОВАТЬ


скопируйте этот скрипт в gedit

#!/bin/sh
#Prevent USB and Ethernet from waking up
for i in "IGBE" "USB0" "USB3" "USB5" "EHC0" "EHC1"; do
echo $i | sudo tee /proc/acpi/wakeup
done

сохранить его в ~/prev_wakeup а потом беги chmod 755 ~/prev_wakeup а также ~/prev_wakeup, Далее попробуйте зайти в спящий режим и проверить, помогло ли это.

Если это так, вы можете добавить это к вашему /etc/rc.local

#Prevent USB and Ethernet from waking up
for i in "IGBE" "USB0" "USB3" "USB5" "EHC0" "EHC1"; do
echo $i > /proc/acpi/wakeup
done
  • Если у вас нет swap partition Создай. С помощью любого gparted(для linux) или любых инструментов aomei/mini для Windows(если у вас двойная загрузка).
  • Сделать этот раздел в ext2 файловая система.
  • После создания раздела вы должны отформатировать его.
  • Перед форматированием мы узнаем, что это метка типа sda1, sda2 и т. Д. Для этого типа в терминале. sudo blkid или же sudo lsblk, Это дает UUID и тип раздела.
  • Зная тип раздела sudo mkswap /dev/sdxx это форматирует раздел.
  • Затем вы должны смонтировать раздел sudo swapon -U UUID
  • Тогда открой gedit /etc/fstab и добавьте эту строку в этот файл UUID=XXX none swap sw 0 0
  • Если вы хотите использовать свой своп для гибернации, вам нужно обновить UUID в /etc/initramfs-tools/conf.d/resume с этим содержанием RESUME=UUID=xxx,
    Не забудь sudo update-initramfs -u

Чтобы включить режим гибернации в меню питания -

  • sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

  • Введите это-


    [Повторно включить спящий режим по умолчанию в upower]
    Идентичность = Unix-пользователь:*
    Действие = org.freedesktop.upower.hibernate
    ResultActive= да

    [Повторно включить спящий режим по умолчанию в logind]
    Идентичность = Unix-пользователь:*
    Действие = org.freedesktop.login1.hibernate
    ResultActive= да

  • Тип sudo killall unity-panel-service

  • Опция гибернации включена в меню питания
Другие вопросы по тегам