Страница 1 из 6

[Сценарий] Интеграция Wake On Lan

Добавлено: Ср мар 27, 2013 10:35 pm
Vadymkyr
нашел в интернете интересный скрипт, позволяющий включать компьютер по сети.
Сделал в меню кнопки для включения компьютеров, Теперь можно включать удаленно хоть с телефона. На закладку Инфо-модуль ReadIt добавил TeamViewer. Теперь, если что то забыл скинуть из дома - не проблема

Код: Выделить всё

<?php
print('<table><tr><td>Wake On Lan</td></tr>
<tr><td>') ;
$hidden = $_POST['hidden'];
$ip_or_host = $_POST['ip_or_host'];
$mac_addres = $_POST['mac_addres'];
$port = $_POST['port'];
if($ip_or_host == "") $ip_or_host = $_GET['ip_or_host'];
if($mac_addres == "") $mac_addres = $_GET['mac_addres'];
if($port == "") $port = $_GET['port'];
if($ip_or_host == "") $ip_or_host = $_SERVER['REMOTE_ADDR'];
if($port == "") $port = '7';

if($hidden == 'y' || $ip_or_host != "" && $mac_addres != "" && $port != ""){
print('<br><table style="width:auto;"><tr><td style="padding:10px;">');
if($ip_or_host != "" && $mac_addres != "" && $port != ""){

$package = chr(255).chr(255).chr(255).chr(255).chr(255).chr(255);
$parts_mac = explode(':', $mac_addres);
for ($i=0; $i < 6; $i++) $transform_mac .= chr(hexdec($parts_mac[$i]));
for($i = 1; $i <= 16; $i++) $package .= $transform_mac;

$wol = fsockopen("udp://$ip_or_host", $port);
fwrite($wol, $package);
fclose($wol);

print("<font>Magic пакет отправлен</font> на IP или хост - <font>$ip_or_host</font> для включения компьютера с MAC адресом - <font>$mac_addres</font><br>
Ваша постоянная ссылка для включения этого компьютера - <a href=\"wol.php?ip_or_host=$ip_or_host&mac_addres=$mac_addres&port=$port\" target=\"_blank\">http://$domain/index.php?page=admin&admin=wol&ip_or_host=$ip_or_host&mac_addres=$mac_addres&port=$port</a>");
}
else print('<font>Не заполнена форма</font>');
print('</td></tr></table><br><br>');
}

print("
<form name=\"forma\" action=\"wol.php\" method=\"post\">
<input type=\"hidden\" name=\"hidden\" value=\"y\" />
IP адрес или домен: <input type=\"text\" name=\"ip_or_host\" value=\"$ip_or_host\" style=\"width:200px;\"/><br>
MAC адрес (Например 50:E5:F9:6A:29:B0): <input type=\"text\" name=\"mac_addres\" value=\"$mac_addres\" style=\"width:200px;\"/><br>
Порт: <input type=\"text\" name=\"port\" value=\"$port\" style=\"width:20px;\"/><br>
<input type=\"submit\" value=\"Отправить\" />
</form>");
print('</td></tr></table>') ;
?>
Появился модуль WOL!!!
Ссылки на полезные сообщения темы:
Второй вариант скрипта.
Сценарий или просто код в меню (без необходимости php файла)
Немного о настройке Windows
Из Linux, выключить Windows.
Включить режим гибернации, а не выключение.
Ссылка по теме на внешний ресурс: Блог Ekzorchik
Смена порта для WOL

Re: Интеграция Wake On Lan

Добавлено: Чт мар 28, 2013 9:27 am
Alex
Два компьютера с новыми материнскими платами. В одной встроенный гигабитный адаптер, в другой тоже гигабитный D-Link 528.

В биосе всё, связанное с сетью включено. В свойствах сетевых карт wol включён.

В скрипте ввожу ip-адрес и mac-адрес, порт любой.

Скрипт отрабатывает, но ни первый, ни второй компьютер не включается.

Куды копать?

Re: Интеграция Wake On Lan

Добавлено: Чт мар 28, 2013 10:36 am
dmw
Alex писал(а):Два компьютера с новыми материнскими платами. В одной встроенный гигабитный адаптер, в другой тоже гигабитный D-Link 528.
В биосе всё, связанное с сетью включено. В свойствах сетевых карт wol включён.
В скрипте ввожу ip-адрес и mac-адрес, порт любой.
Скрипт отрабатывает, но ни первый, ни второй компьютер не включается.
Куды копать?
Есть такое понятие как состояния питания системы, их несколько. Управляет им ACPI.
Посмотрите в биосе из какого состояния у вас WOL будет работать, настройте на вывод из самого глубокого. У меня умеет выводить только из "сна" (G1-S4).
Из G3 не видел еще ни разу чтобы выводилось. Хотя у интела есть технология vPro, может она умеет.

Re: Интеграция Wake On Lan

Добавлено: Чт мар 28, 2013 10:54 am
Alex
Asus EFI BIOS – вообще нет упоминаний ни ACPI, ни S1, ни S2, ни S3, ни S4.

Re: Интеграция Wake On Lan

Добавлено: Чт мар 28, 2013 11:07 am
dmw
Должно быть, хотя с Асусом не знаком незнаю как там.
Попробуйте перевести комп в "сон" и разбудить его с другого пакетом WOL. Комп должен радостно включиться.

Re: Интеграция Wake On Lan

Добавлено: Чт мар 28, 2013 11:56 am
Alex
Действительно, из состояния сна — включается. Это хорошо, но не совсем то, что надо. А надо, чтобы включался из состояния «выключен».

Плата на чипсете Z68 с EFI биосом. Там новая архитектура и ACPI может не быть или он может как-то по другому называться.

А вообще у кого нибудь включается из состояния «выключен»?

Re: Интеграция Wake On Lan

Добавлено: Чт мар 28, 2013 12:12 pm
Vadymkyr
материнская плата Asus. Нормально включается из состояния выключено. Нужно еще винду настроить

Re: Интеграция Wake On Lan

Добавлено: Чт мар 28, 2013 2:29 pm
Alex
Нормально включается из состояния выключено. Нужно еще винду настроить
Ок. Если включается из состояния сна, значит, в принципе, всё настроено правильно, не хватает какой то мелочи. В какую сторону посмотреть? И в чём может быть дело?

Re: Интеграция Wake On Lan

Добавлено: Чт мар 28, 2013 2:32 pm
Vadymkyr
в диспетчере устройств, в настройках сетевой карты настройки на магический пакет и пробуждения стоят?
Еще один нюанс, компьютер включится, если выключить из винды. Если просто включить и при загрузки принудительно выключить - у меня не включается

Re: Интеграция Wake On Lan

Добавлено: Чт мар 28, 2013 3:01 pm
Alex
Всё включено.