Как мне приостановить работу на HP DV4T?

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

Я пытался:

  1. Кнопка приостановки в меню единства
  2. sudo pm-suspend
  3. sudo acpitool -s
  4. dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
  5. Удаление /etc/pm/sleep.d (как предложено здесь )
  6. sudo modprobe -r tpm_tis
  7. Модификация / proc / acpi / wakeup для переключения всего, кроме кнопки питания, в отключен. ] в /etc/pm/sleep.d/20_custom-ehci_hcd (ответ @ Sushantp606 ниже)
  8. Попытка повторить то же самое, что и № 9 (третья часть ответа @ Sushantp606 ниже)
  9. sudo s2ram

    Это ядро ​​не имеет поддержки KMS. Машина неизвестна. Эта машина может быть идентифицирована с помощью: sys_vendor = "Hewlett-Packard" sys_product = "Ноутбук HP Pavilion dv4" sys_version = "F.24" bios_version = "F.24"

Ни один из них не решил проблему. # 9 немного изменил поведение (он быстрее переключался между попытками уснуть и просыпаться).

Какие-нибудь предложения, на что я могу смотреть, делая дальше?

6
задан 13 April 2017 в 15:24

5 ответов

Эта страница может помочь: https://help.ubuntu.com/community/SwapFaq

Гибернация (приостановка на диск) Функция гибернации (приостановка на диск) ) записывает содержимое оперативной памяти в раздел подкачки перед выключением машины. Следовательно, ваш раздел подкачки должен быть не меньше размера вашей оперативной памяти. Реализация спящего режима, используемая в настоящее время в Ubuntu, swsusp, требует раздела подкачки или приостановки. Он не может использовать файл подкачки в активной файловой системе.

0
ответ дан 13 April 2017 в 15:24

проверьте ваше ядро, есть ли ошибка в ядрах ( https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1133835 ) до того, как я думаю, что это 3.11, что вызывает Эта проблема. Вы можете обновить ядро, не обновляя систему Как обновить ядро ​​до последней основной версии без какого-либо Distro-обновления?

0
ответ дан 13 April 2017 в 15:24

Modify / proc / acpi / wakeup

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

Наслаждайтесь

0
ответ дан 13 April 2017 в 15:24
1116 Теперь, когда вы перепробовали почти все, это стоит хорошего и эффективного ответа. Ну, эта проблема в некоторой степени связана с графической картой, она не приостанавливается, и поэтому ничего не работает. Так что есть решения, о которых я упомянул, чтобы согласиться, попробуйте один за другим.

Создайте файл модулей в /etc/pm/config.d с помощью -

sudo gedit /etc/pm/config.d/modules

и вставьте в него следующую команду -

SUSPEND_MODULES="alx"

Это заставит модуль alx быть выгруженным и перезагруженным с помощью suspend, и ваша проблема будет решена этим, если не удалить эту строку и перейти к следующей части.

Этот будет работать точно. так как он заставляет графическую карту перезагружаться, используя старый добрый удар из chvt1 и chvt7.So, давайте начнем с 20_custom-ehci_hcd, как показано ниже -

gksudo gedit /etc/pm/sleep.d/20_custom-ehci_hcd

предоставит вам пароль и вставит следующее в gedit

#!/bin/sh
VERSION=1.1
DEV_LIST=/tmp/usb-dev-list
DRIVERS_DIR=/sys/bus/pci/drivers
DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd
HEX="[[:xdigit:]]"
MAX_BIND_ATTEMPTS=2
BIND_WAIT=0.1
unbindDev() {
echo -n > $DEV_LIST 2>/dev/null
for driver in $DRIVERS; do
DDIR=$DRIVERS_DIR/${driver}_hcd
for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do
echo -n "$dev" > $DDIR/unbind
echo "$driver $dev" >> $DEV_LIST
done
#for bus in $EHCI_BUSES; do
echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/unbind
# done
done
}
bindDev() {
 if [ -s $DEV_LIST ]; then
while read driver dev; do
DDIR=$DRIVERS_DIR/${driver}_hcd
#for bus in $EHCI_BUSES; do
echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/bind
#done
while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
echo -n "$dev" > $DDIR/bind
if [ ! -L "$DDIR/$dev" ]; then
sleep $BIND_WAIT
 else
break
fi
MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
done
done < $DEV_LIST
fi
rm $DEV_LIST 2>/dev/null
chvt 1
chvt 7
}
EHCI_BUSES="0000:00:1a.0 0000:00:1d.0"
case "$1" in
hibernate|suspend)
unbindDev;;
resume|thaw)
bindDev;;
esac

Сохраните его и затем предоставьте разрешение с помощью -

sudo chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd

Перезагрузитесь с помощью -

sudo reboot

и теперь проверьте. он будет работать наверняка, но если ваше ядро ​​откажется от этого сценария, то замените весь код следующим:

#!/bin/sh
# File: "/etc/pm/sleep.d/20_custom-ehci_hcd".
TMPLIST=/tmp/ehci-dev-list
case "${1}" in
hibernate|suspend)
;;
resume|thaw)
chvt 1
chvt 7
;;
esac

ваша приостановка уже будет работать, этот ответ взят из UbuntuForum.

Last Work Arround , для этого вам нужно установить небольшое приложение uswsusp, установите его, выполнив команду-

sudo apt-get install uswsusp

После завершения установки проверьте, что она приостановлена, выполнив следующие действия:

sudo s2ram

Ваш ПК должен перейти в режим ожидания.

А для гибернации -

sudo s2disk

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

sudo cp /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux.bak

sudo cp /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux.bak

Теперь давайте заменим старые файлы и команды: -

hal-system-power-suspend-linux
hal-system-power-hibernate-linux

, затем

sudo nano /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux

и вставьте в него следующее -

#!/bin/sh
/sbin/s2ram –force

и для спящего режима-

sudo nano /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux

и вставьте в него следующее -

#!/bin/sh
/sbin/s2disk

Надеюсь, на этот раз это помогло вам.

0
ответ дан 13 April 2017 в 15:24

На странице помощи сообщества Ubuntu предлагается следующее, чтобы включили спящий режим с зашифрованным разделом подкачки :

Подготовка:

  1. Ваш компьютер уже должен быть настроен для шифрования. Если нет, сначала следуйте инструкциям в Шифрование после установки .

  2. Придумайте пароль (или пароль) для вашего раздела подкачки. Вы можете использовать то же самое, что и вход в систему, но не делайте этого, если у других людей есть учетные записи на вашем компьютере!

  3. Узнайте, какой у вас зашифрованный раздел подкачки.

     swapon --summary
    

    Вы должны увидеть вывод, похожий на:

     Filename                        Type            Size    Used    Priority
     /dev/mapper/cryptswap1          partition       1998844 0       -1
    

    Если вы не видите cryptswap1, раздел либо не зашифрован, либо не зашифрован по стандарту Ubuntu,

  4. Теперь

     sudo cryptsetup status cryptswap1
    

    Вывод должен быть похож на

     /dev/mapper/cryptswap1 is active and is in use.
       type:    PLAIN
       cipher:  aes-cbc-essiv:sha256
       keysize: 256 bits
       device:  /dev/sda1
       offset:  0 sectors
       size:    3997696 sectors
       mode:    read/write
    

    Запишите устройство . Тот, что в примере, говорит /dev/sda1 - , но у вас может быть что-то еще , например. /dev/sdb3.

  5. Резервное копирование .

Как настроить режим гибернации

  1. Отключить своп.

     sudo swapoff /dev/mapper/cryptswap1
    
  2. Отменить существующее отображение.

     sudo cryptsetup luksClose /dev/mapper/cryptswap1
    
  3. Установите своп снова, но на этот раз с выбранной парольной фразой. Команда дважды запросит у вас пароль. Замените /dev/sdXN устройством из Точка подготовки 4 . (Следующая команда переносится на экран браузера, но это одна команда, которую вам нужно ввести.)

     sudo cryptsetup luksFormat --cipher aes-cbc-essiv:sha256 --verify-passphrase --key-size 256 /dev/sdXN
    

    Вывод должен быть:

     WARNING!
     ========
     This will overwrite data on /dev/sda1 irrevocably.
     Are you sure? (Type uppercase yes):
     Enter LUKS passphrase:
     Verify passphrase:
    

    Введите YES и введите ваш парольная фраза в два раза.

  4. Переназначить своп. Замените /dev/sdXN устройством из пункта 4 подготовки.

      sudo cryptsetup luksOpen /dev/sdXN cryptswap1
    
  5. Установите раздел как swap.

     sudo mkswap /dev/mapper/cryptswap1
    
  6. Включите своп (чтобы он снова начал работать).

     sudo swapon --all
    
  7. Проверьте, работает ли он.

     swapon --summary
    

    Вы должны увидеть вывод, похожий на этот (цифры могут отличаться).

     Filename                        Type            Size    Used    Priority
     /dev/mapper/cryptswap1          partition       1996796 0       -1
    
  8. Используя gksudo с вашим любимым редактором (по умолчанию для Ubuntu - gedit), отредактируйте файл /etc/crypttab (например, запустите gksudo gedit /etc/crypttab). Закомментируйте существующую строку, добавив # вперед (или просто удалите строку), и добавьте следующую строку. Замените /dev/sdXN устройством из пункта 4 подготовки.

     cryptswap1   /dev/sdXN   none   luks
    
  9. Редактировать файл /usr/share/initramfs-tools/scripts/local-top/cryptroot. Найдите следующую строку (это должна быть строка 288, но она может измениться со временем):

     message "cryptsetup: unknown error setting up device mapping"
    

    Перейти к следующей пустой строке (должно быть 291, перед FSTYPE = '') и вставить следующую линия. Замените /dev/sdXN устройством из пункта 4 подготовки.

     /sbin/cryptsetup luksOpen /dev/sdXN cryptswap1
    
  10. Редактировать файл /etc/acpi/hibernate.sh. В первую пустую строку вставьте следующую строку.

     DEVICE='/dev/mapper/cryptswap1'
    

    Редактировать файл /etc/initramfs-tools/conf.d/resume. Замените существующую строку RESUME следующей строкой.

     RESUME=/dev/mapper/cryptswap1
    

    Зарегистрируйте эти изменения.

     sudo update-initramfs -u -k all
    

    Ubuntu отключает опцию Hibernate в меню. Восстановите его следующим образом. Создайте (используя gksudo с вашим любимым редактором) файл: /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla (например, запустите gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla)

    Заполните файл следующим текстом и сохраните.

     [Re-enable hibernate by default]
     Identity=unix-user:*
     Action=org.freedesktop.upower.hibernate
     ResultActive=yes
    
  11. Перезагрузите машину.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: