немедленный выход из спящего режима S3 при подключении кабеля Ethernet

426
user19087

Эта проблема:

  • Компьютер переходит из режима ожидания S3 (приостановить-к-ram) в течение 5 секунд после приостановки, если подключен кабель Ethernet

Оборудование:

  • Intel E2180
  • Gigabyte P35-DS3L
  • Realtek RTL8111b (с использованием модуля r8169)

Программного обеспечения:

  • Я отключил ACPI Wakeup для всех устройств, в соответствии с /proc/acpi/wakeup
  • Журналы ядра в dmesg выглядят нормально - драйвер не тормозит приостановку или любые другие проблемы. Журналы успешной приостановки (кабель Ethernet отключен) и неисправной приостановки (кабель Ethernet подключен) одинаковы.
  • на S3 suspend-to-ram ядро ​​принудительно включает активацию ACPI для моста PCI-e. Я подозреваю, что это нормально.
  • BIOS: пробуждение USB-мыши / клавиатуры отключено, пробуждение по кольцу отключено, пробуждение по PME включено
  • ethtool сообщает, что WOL установлен в уг .

Я подозревал, что неисправное устройство испускает непрерывные пакеты WOL, но Wireshark не записывает пакеты WOL, пока компьютер включен.

Это происходит даже при отключении всех других портов (USB) (оставляя VGA / Ethernet).

Также мне понадобится функциональность WOL

Редактировать:

  • Отключение WOL на сетевом интерфейсе с помощью ethtool предотвращает немедленное возобновление.
0
Что ты делаешь с этой машиной? Это очень старый, конечно, он больше не поддерживается? Chopper3 7 лет назад 0
Я не слежу, аппаратное обеспечение все еще поддерживается Linux? user19087 7 лет назад 0
Это может быть так, но как насчет производителя системных плат? Они все еще поддерживают это? какой вариант использования для этой установки вы имеете в виду? Chopper3 7 лет назад 0
Медиасервер, WOL для экономии энергии, все мои удаленные приложения уже поддерживают WOL. Поскольку последнее обновление BIOS было много лет назад, я сомневаюсь, что системная плата все еще получает обновления. user19087 7 лет назад 0
что отправляет пакет WOL? и почему не по 24 часа в сутки? Chopper3 7 лет назад 1
сейчас ничего, за проволочную акулу. Eventuall, некоторые удаленные приложения, которые поддерживают отправку WOL. Я приостанавливаю работу медиасервера, когда он не используется, для экономии энергии. user19087 7 лет назад 0
сузили проблему до модуля r8169. user19087 7 лет назад 0
Это домашний вопрос? Chopper3 7 лет назад 0
Да. Но действительно ли имеет значение, находится ли сервер в домашней среде или нет? Если serverfault поддерживает только определенное оборудование, вы бы сразу перенесли мой вопрос, так как я изначально разместил свое оборудование ... И ответ оказался независимым от среды. user19087 7 лет назад 0
Пожалуйста, прочитайте справочные страницы для serverfault.com, когда сможете, даже первые несколько строк прояснят, почему вы выбрали не тот сайт, чтобы опубликовать это. Chopper3 7 лет назад 0
да, спасибо, что перевели мой вопрос. user19087 7 лет назад 0

2 ответа на вопрос

0
user19087

Оказывается, это неправильное понимание настроек интерфейса ядра для wake-on-lan. Из руководства пользователя ethtool :

Sets Wake-on-LAN options. Not all devices support this. The argument to this option is a string of characters specifying which options to enable.  p Wake on PHY activity u Wake on unicast messages m Wake on multicast messages b Wake on broadcast messages a Wake on ARP g Wake on MagicPacket™ s Enable SecureOn™ password for MagicPacket™ d Disable (wake on nothing). This option clears all previous options. 

Я предполагал, что одноадресные или широковещательные флаги будут ограничивать источник магического пакета, то есть:

  • ug: активировать только при получении одноадресного WoL-пакета
  • bg: активировать только при получении широковещательного пакета WoL

Однако флаги одноадресной или широковещательной передачи соответствуют любым одноадресным или широковещательным пакетам. Что на самом деле происходит:

  • ug: разбудить, если был получен одноадресный пакет или если был получен пакет WoL (одноадресный или широковещательный; не имеет значения, если совпадает MAC)
  • bg: пробуждение, если был принят широковещательный пакет или получен пакет WoL (одноадресная или широковещательная; не имеет значения, если совпадает MAC)

Конечно, обычное одноадресное предупреждение применяется к флагам одноадресной (u) и WoL (g): одноадресные пакеты могут быть получены только в том случае, если MAC-адрес цели все еще удерживается таблицей ARP.

0
Nicolas V

У меня та же системная плата и та же проблема ... вы были достаточно близки, чтобы найти решение. Измените конфигурацию сетевого интерфейса, чтобы он принимал только «волшебный пакет», забудьте о multicast / unicast ...

sudo ethtool -s eth0 wol g

Это помогло мне, и в качестве бонуса я могу разбудить компьютер из сети (с помощью etherwake)

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