У меня есть сервер Windows 10, который некоторое время работал хорошо, используя Wake On Lan. Адаптер Realtek настроен с включенным Wake On Magic Packet и отключенным Wake On Pattern Match Match. Точно так же для Windows установлено «Пробуждение только на Magic Packet». Обычно это хорошо работает в моей домашней сети: у меня есть пара WoL-клиентов, каждый из которых может разбудить сервер, когда им это нужно, и сервер быстро переходит в спящий режим, когда он больше не нужен.
Недавно я включил IGMP Proxy на домашнем маршрутизаторе для поддержки приложения IPTV. Однако теперь, когда сервер спит, он снова включается через несколько секунд, вызванный сигналом пробуждения от сетевого адаптера. Отключите IGMP Proxy, и он перестанет просыпаться.
Я довольно уверен, что это какой-то пакет многоадресной рассылки, который запускает пробуждение. Я использовал Wireshark, чтобы прослушать пакеты, вызывающие пробуждение, но я не могу найти виновника: на момент пробуждения нет Магических Пакетов, но много многоадресных.
Так, что происходит? Почему адаптер просыпается от пакетов, которые не похожи на Magic? И как я могу это исправить?
Обновить:
Я взял пакетный захват (всего 28 пакетов), который охватывает период от сна до пробуждения на сервере и поэтому должен содержать пакет с ошибками. Я отмечаю, что ни один из фреймов не содержит MAC-адрес сервера (как это сделал бы волшебный пакет), но большинство из них являются пакетами UDP -> RTTP -> ISO / IEC 13818-1 -> DVB-EIT, которые содержат много " FF "начинка (как волшебный пакет).
Существует также 1 пакет ICMP v6 и 2 кадра STP. Я не думаю, что они делают это, так как я думаю, что видел захваты следа без них - но я могу ошибаться.
Однако обратите внимание, что захват пакета осуществлялся через коммутатор. Таким образом, он будет видеть любой магический пакет, который транслируется (как те, которые я отправляю намеренно), но он не будет захватывать гипотетический магический пакет, отправленный непосредственно в MAC-адрес сервера. С другой стороны, когда я фиксирую на сервере (в условиях, при которых он пробуждается, но когда он не спит - конечно), я не вижу ничего похожего на волшебный пакет, направленный на его MAC-адрес.
Исполнитель является Realtek 8168 PCI GbE адаптер, поставляемый на моем Asus P плате LX 8Z77-V с последними драйверами от здесь .
ОБНОВЛЕНО БОЛЕЕ ТОЧНЫМИ СИМПТОМАМИ
Таким образом, IGMP не была прямой причиной. Я могу достаточно точно воспроизвести проблему, не используя Multicast. Если я просто отправляю определенный пакет UDP (полезную нагрузку) несколько раз адаптеру как широковещательную рассылку UDP, я в конечном счете могу заставить его проснуться. Обычно это занимает 300 или 400 отправок. Пакет был скопирован из перехвата многоадресного потока и типичен для вида пакетов, видимых в нем.
Это код Python 3, который я использовал для отправки пакета (и байты пакета показаны как шестнадцатеричный дамп):
Есть два места, где я нашел ссылки на ограничение событий Wake On Lan.
В Панели управления> Сеть и Интернет> Сетевые подключения щелкните правой кнопкой мыши свой адаптер и выберите « Свойства», а затем нажмите « Настроить» . На вкладке « Дополнительно » есть два свойства, которые по умолчанию включены: « Пробуждение по волшебному пакету» и « Пробуждение по совпадению с образцом» . Отключение второго может помочь.
На вкладке « Управление питанием ». Убедитесь, что вы отметили два флажка Разрешить этому устройству пробуждать компьютер и Разрешить только волшебный пакет для пробуждения компьютера .
Отключение IPv6 в локальной сети может также ограничить число непреднамеренных событий пробуждения.
Я определенно установил обе эти страницы настроек, как вы предлагаете.
strubbly 5 лет назад
0
Не уверен, что вы подразумеваете под выключением IPv6 "в локальной сети". Он выключен на маршрутизаторе, но некоторые устройства все еще используют его.
strubbly 5 лет назад
0
Если он выключен на маршрутизаторе, он не будет передавать сообщения IPv6, так что все в порядке. Я должен признать, что я удивлен, что ваш компьютер все еще просыпается от других сообщений, даже если ваши настройки должны отключить его. Какие модели вашего компьютера, материнской платы и сетевого адаптера?
harrymc 5 лет назад
0
Я тоже удивлен :-) ПК - это Asus P8Z77-V LX с чипом Realtek GbE. Последняя Windows 10.
strubbly 5 лет назад
0
Что говорит `powercfg –lastwake`? Попробуйте также запустить [powercfg -energy] (https://www.howtogeek.com/howto/7638/use-powercfg-in-windows-7-to-evaluate-power-efficiency/), когда компьютер находится в режиме ожидания и работает результат.
harrymc 5 лет назад
1
Пробуждение определенно происходит от сетевого адаптера: оно останавливается, когда я снимаю флажок «разрешить этому устройству пробуждение»
strubbly 5 лет назад
0
Энергетический отчет может быть полезен. У Realtek совсем недавно [сетевой драйвер] (http://211.75.126.106/downloads/downloadsView.aspx?Langid=1&PNid=5&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#RTL8111B/RTLT8818888818188888188888188818181818181818181818181818181818181818188181818181818181818188181818181818181818111 / RTL8111CP / RTL8111D% 28L% 29% 3Cbr% 3ERTL8168C / RTL8111DP / RTL8111E% 3Cbr% 3ERTL8168E / RTL8111F / RTL8411% 3Cbr% 3ERTL8111G / RTL8111GUS / RTL8411B% 28Н% 29% 3Cbr% 3ERTL8118AS). [Версия BIOS 2501] (https://www.asus.com/us/Motherboards/P8Z77V_LX/HelpDesk_Download/) довольно старая, начиная с 2015/09/07, но все равно проверьте ее. Делайте резервные копии раньше.
harrymc 5 лет назад
0
Я только что обновился до этой версии драйвера - без улучшений.
strubbly 5 лет назад
0
Энергетический отчет может помочь точно определить проблемы с пробуждением.
harrymc 5 лет назад
0
Вы также можете попробовать драйвер Windows 10 от Realtek для [Realtek 8168] (https://realtek-download.com/realtek-pcie-gbe-family-controller/).
harrymc 5 лет назад
0