00m.Ru

Технология Wake On Lan.

      Технология включения электропитания («пробуждения») компьютера является частью спецификации ACPI (Advanced Configuration and Power Interface), интерфейса управления электропитанием. Иногда его еще называют интерфейсом доступа к энергосбререгающим функциям аппаратного обеспечения. Дистанционное включение компьютера — небольшая и далеко не основная часть этой спецификации. Описание ACPI легко найдете в интернете (описание ACPI 2.0 содержит более 400 страниц).

Спецификация определяет состояния системы S1-S5 — «состояния сна» в порядке уменьшения энергопотребления. S5 — это состояние программного выключения (Soft OFF) — все выключено, за исключением тех устройств, через которые возможно включение компьютера. Для питания таких устройств используется дежурное напряжение +5V SB (+5V Standby), вырабатываемое блоком питания компьютера в выключенном, но не обесточенном состоянии. Для перехода из одного состояния S1-S4 в другое (S2 в S1 например) используются PME (Power Management Events) — события управления электропитанием, большая часть которых вызывается аппаратным прерыванием от конкретного устройства.
Описание спецификации ACPI на русском языке.

Технология «Wake On Lan» (технология «Magic packet») используется для включения электропитания удаленного компьютера, находящегося в состоянии программного выключения («Soft Off») путем посылки на его сетевой адаптер специально сформированного кадра Ethernet.
Удаленный компьютер должен отвечать определенным требованиям:
— Оборудование должно соответствовать спецификации ACPI и в настройках BIOS должна быть включена поддержка режима «Wake On Lan».
— Иметь блок питания ATX.
— Иметь сетевую карту, поддерживающую технологию «Wake On Lan» (WOL).

Сетевой адаптер на выключенном компьютере остается под питанием от +5VSB блока питания в режиме ожидания приема специального кадра Ethernet, в поле данных которого присутствует последовательность из 6 байт FF и его собственного MAC — адреса, повторенного 16 раз. Получив такой пакет адаптер вырабатывает сигнал включения электропитания компьютера.
Ниже приведено содержимое пакета, полученное с помощью анализатора трафика.

 

 

Адрес приемника (первые 6 байт поля кадра) — FFFFFFFFFFFF (Broadcast), адрес источника — 0015F20016CA (6 байт после адреса приемника) В области 16-ричного дампа красным цветом выделено поле данных. MAC — адрес включаемого компьютера равен 00046175F9DA.
Практически все современные сетевые адаптеры PCI и материнские платы поддерживают данную технологию, однако есть некоторые тонкости. Если материнская плата имеет шину PCI спецификации до 2.2 (большинство моделей на базе процессоров Pentium II и Pentium III) , то на ней должен быть 3-х штырьковый разъем «Wake On Lan» и такой же разъем должен быть на сетевом адаптере. Их нужно соединить специальным кабелем, входящим в комплект поставки адаптера. Для случая с шиной PCI 2.2 такое соединение уже выполнено напрямую. Если у вас компьютер Pentium II или старше — Wake On Lan должна работать.
В настройках BIOS современных материнских плат термин «Wake On Lan» практически не используется. Ищите близкое по смыслу значение в настройках раздела управления электропитанием («Power Management Setup», или «ACPI Configuration» и т.п.), например, «Wake-Up by PCI device», «Power on by Ethernet Card» и т.п.

Ниже приведен пример настроек раздела «Power — APM Configuration» AMI BIOS v2.61:

 

 

Для включения режима Wake On Lan необходимо установить пункт «Power On By PCI Devices» в «Enabled».

На всякий случай, значение остальных опций:

Restore on AC Power Loss — поведение системы при пропадании электропитания. Значение Power Off — система останется в выключенном состоянии, Power On — будет выполнено включение компьютера, как только электропитание будет восстановлено.
Power On By RTC Alarm — включение электропитания по внутренним часам компьютера (аналог будильника).
Power On By External Modems — включение электропитания будет выполняться при входящем звонке на внешний модем, подключенный к последовательному порту.
Power On By PCIE Devices — разрешает включение компьютера от устройств на шине PCI-E. Если ваша сетевая карта использует шину PCI-E, а не PCI, то для включения режима Wake On Lan нужно установить эту опцию в «Enable».
Power On By PS/2 Keyboard — разрешает включение электропитания от клавиатуры, подключенной к разъему PS/2

Ну, и последнее, что необходимо для включения электропитания компьютера через локальную сеть — это программа, генерирующая WOL — пакет (Magic Packet). Ее несложно найти в сети. Один из вариантов — broadc.exe — утилита для включения компьютера по локальной сети. (скачать, 32кб)
Формат командной строки:

broadc.exe MAC-адрес сетевой карты 255.255.255.255 67
    Примеры использования:
bbroadc.exe 0002b3d8b4e6 255.255.255.255 67 — включить компьютер, MAC — адрес сетевой карты которого равен 0002b3d8b4e6 .

Вариант для Linux — wakeonlan (скачать, ~5кб)
По умолчанию программа использует для посылки Magic Packet’а широковещательный адрес и UDP-пакет на порт 9 (discadrd). Поэтому внутри локальной сети для включения компьютера достаточно задать MAC-адрес сетевой карты в виде 00:01:02:03:04:05
Формат командной строки:

wakeonlan < MAC-адрес >

Примеры дистанционного включения и выключения компьютера в нужное время можно найти в разделе Windows Автоматизация с помощью nncron Lite.

Использовать данную технологию можно не только в локальной сети, но и в Интернет, надо только учитывать тот факт, что сформированный Magic Packet будет проходить через маршрутизаторы, т.е должен содержать правильные IP и MAC-адреса. Упомянутая выше программа Broadc.exe не позволяет сформировать MAC адрес-приемника в заголовке кадра Ethernet отличный от FFFFFFFFFFFF (Broadcast), поэтому такой пакет до получателя (удаленно включаемого компьютера) не дойдет, поскольку маршрутизаторы блокируют широковещательные пакеты. Для формирования Magic Packet’а, обеспечивающего удаленное включение компьютера в чужой сети можно воспользоваться утилитой wol.exe (скачать, ~5кб). При меньшем, чем у broadc.exe размере, программа обладает несколько большими возможностями. В параметрах командной строки можно указать имя текстового файла, содержащего список MAC — адресов компьютеров для удаленного включения. Пример содержимого :

# maclist — mac addresses for wakonlan     — строка начинающаяся с # не обрабатывается — это комментарий
00:BA:BE:FA:CE:00 PC1     — Включить по MAC -адресу
00:11:22:33:44:5A PC2
195.210.128.3-01:12:23:34:45:67 SERVER.COM     — Включить по IP плюс MAC
0xC0A801F0-12:23:34:45:56:67 HOST.RU     — То же, что и впредыд. случае, но IP в шестнадцатеричном виде.

По умолчанию программа формирует UDP пакет на порт 60000. Номер порта можно изменить. Примеры:

 

 

Exit mobile version