Ноутбук не может зависнуть или перевести в спящий режим (просыпается через 2-5 секунд без участия пользователя)
Все это начало происходить после обновления до 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
5 ответов
У меня ядро 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 из пробуждения совсем не помогло.
По предложению Романо, я попытался удалить модуль e1000e, и вуаля приостановить, как ожидалось.
Так:
sudo rmmod e1000e
до приостановки решает проблему.
Интересно, что проблема снова появляется сразу после установки модуля обратно (sudo modprobe e1000e
) и приостановить без его удаления. Должно быть, это было что-то, связанное с оборудованием.
Чтобы автоматизировать это, я создал два простых сценария приостановки / пробуждения (протестировано на вышеупомянутом оборудовании, 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
).
Заметки:
- Я предполагаю, что сценарии довольно безопасны в использовании, даже если они не решают вашу проблему.
- Я не использую пробуждение по локальной сети, поэтому я не знаю, как оно ведет себя с исправлением.
У меня это сработало (взято из другой ветки на аскубунту):
Ubuntu 14.04 просыпается сразу после приостановки
Вы можете попытаться отключить его с помощью сценария 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).