Все это начало происходить после обновления до 13.10, сейчас я работаю с 14.04 и все еще имею ту же проблему.
Когда я закрываю крышку или открываю sudo pm-suspend
, ноутбук переходит в режим ожидания на 2-5 секунд и самостоятельно просыпается.
То же самое происходит, если я пытаюсь перейти в спящий режим.
У меня есть ощущение, что что-то пробуждается / выводит процессор из режима ожидания, но я не могу понять, что.
Любая помощь в устранении этой раздражающей проблемы?
Редактировать:
Благодаря @Fabian я смог выяснить, что похоже, что карта Ethernet работает неправильно, и даже после того, как я установил карта не просыпаться по локальной сети (при выполнении acpitool -W 3
или echo disabled > /sys/bus/pci/devices/0000:00:19.0/power/wakeup
или echo IGBE > /proc/acpi/wakeup
, ноутбук продолжает просыпаться и показывает это, когда я делаю acpitool -w
Device S-state Status Sysfs node
---------------------------------------
1. LID S3 *enabled
2. SLPB S3 *disabled
3. IGBE S4 *enabled pci:0000:00:19.0
4. EXP1 S4 *disabled pci:0000:00:1c.0
5. EXP2 S4 *disabled pci:0000:00:1c.1
6. EXP3 S4 *disabled
7. EXP4 S4 *disabled
8. EXP5 S4 *disabled pci:0000:00:1c.4
9. EHC1 S3 *disabled pci:0000:00:1d.0
10. EHC2 S3 *disabled pci:0000:00:1a.0
11. HDEF S4 *disabled pci:0000:00:1b.0
Любая идея, как поступить оттуда?
Сетевой драйвер, который использует IGBE: e1000e
У меня есть ядро 13.13 и основанная на Intel Z77X материнская плата, и после работ команды для меня:
sudo sh -c "echo EHC1 > /proc/acpi/wakeup;echo EHC2 > /proc/acpi/wakeup;echo XHC > /proc/acpi/wakeup"
Следующее работало на меня:
cat /proc/acpi/wakeup
Ищут любые объекты с состоянием, включенным, которые похожи, они не принадлежат там (для меня, чего-либо кроме LID0). Тогда отключите их путем высказывания, например:
sudo sh -c "echo XHC0 > /proc/acpi/wakeup"
Проверка, что соответствующие записи были действительно отключены, отправляет, ноутбук в приостанавливают и надеются на лучшее:)
Испытывая точно ту же проблему (ThinkPad T530, Ubuntu 14.04, но также и 13.10 и 13.04, после того, как несколько приостанавливают, компьютер сразу возобновляется, после приостанавливают).
Отключение IBGE от пробуждения не помог вообще.
, Как предложил Romano, я попытался удалить e1000e модуль, и вуаля приостанавливаю как ожидалось.
Так:
sudo rmmod e1000e
до приостанавливают, решает вопрос.
Интересно, проблема сразу вновь появляется после установки модуля назад (sudo modprobe e1000e
) и приостановка без ее удаления. Так, это, должно быть, было что-то связанное с аппаратными средствами.
Для автоматизации его я создал два простых, приостанавливают/пробуждение сценарии (протестированный на вышеупомянутых аппаратных средствах, Надежный человек Ubuntu 14.04): sudo gedit /etc/pm/sleep.d/99_e1000e_remove
:
#!/bin/sh
# Remove e1000e kernel module prior to suspend
rmmod e1000e
и sudo gedit /etc/pm/power.d/99_e1000e_probe
:
#!/bin/sh
# Modprobe e1000e kernel module after resume
modprobe e1000e
Сценарии должны быть исполняемы (sudo chmod +x /etc/pm/sleep.d/99_e1000e_remove /etc/pm/power.d/99_e1000e_probe
).
Примечания:
Это работало на меня (взятый от другого потока на askubuntu):
Ubuntu 14.04 сразу просыпается, после приостанавливают
, можно попытаться отключить его с , Выскочка пишет сценарий каждого запуска автоматически:
Создают Содержание файла
etc/init/disable-XHC.conf
:
start on started dbus stop on stopping dbus script sudo -u root sh -c "echo 'XHC' > /proc/acpi/wakeup" end script
systemd решение состоит в том, чтобы создать инструкцию для systemd-tmpfiles для записи чего-то в файл, когда это вызывается.
Создают файл в /etc/tmpfiles.d
, например, /etc/tmpfiles.d/disable-network-wake.conf
, со следующим содержанием, в зависимости от того, для какого устройства Вы хотите отключить пробуждение.
w /proc/acpi/wakeup - - - - XHC
См. также systemd-tmpfiles (8) и tmpfiles.d (5).
Касательно: https://wiki.archlinux.org/index.php/Systemd#Temporary_files