Это все началось после обновления до 13.10, теперь я запускаю 14.04 и все еще имею ту же проблему.
Когда я закрываю крышку, или я делаю sudo pm-suspend, ноутбук переходит в режим приостановки для 2-
То же самое происходит, если я пытаюсь сделать спящий режим.
У меня есть ощущение, что что-то пробуждает / выдает CPU из режима приостановки, но я не могу
Любая помощь поможет устранить эту неприятную проблему?
Изменить:
Благодаря @Fabian мне удалось выяснить, что это похоже на Ethernet-карта ошибочна, и даже после того, как я установил карту, чтобы не проснуться на LAN (либо 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
Следующие работали для меня:
cat /proc/acpi/wakeup
Ищите все элементы со статусом, которые выглядят так, как будто они там не принадлежат (для меня ничего, кроме LID0). Затем отключите их, например:
sudo sh -c "echo XHC0 > /proc/acpi/wakeup"
Убедитесь, что соответствующие записи действительно отключены, отправьте ноутбук в режим ожидания и надейтесь на лучшее:)
Испытывая точно такую же проблему (ThinkPad T530, Ubuntu 14.04, но также 13.10 и 13.04, после нескольких приостановок, компьютер возобновляется сразу после приостановки).
Отключение IBGE от пробуждения вообще не помогло.
Как было предложено Романо, я попытался удалить модуль e1000e, и приостановить его, как ожидалось.
Итак:
sudo rmmod e1000e
до приостановки разрешения проблема.
Интересно, что проблема возникает сразу после установки модуля назад (sudo modprobe e1000e) и приостановки без его удаления. Таким образом, это должно было быть связано с аппаратным обеспечением.
Чтобы автоматизировать его, я создал два простых сценария suspend / wakeup (проверенные на вышеупомянутом оборудовании, Ubuntu Trusty 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).
Примечания:
Я предполагаю, что сценарии довольно безопасны для использования, даже если они не затрагивают вашу проблему. Я не использую LAN wakeup, поэтому я не знаю, как это работает с исправлением.Это сработало для меня (взято из другого потока на askubuntu):
Ubuntu 14.04 просыпаться сразу после suspend
Вы можете попытаться отключить его с помощью скрипта Upstart при каждом запуске автоматически : Создать файл 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