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

Модераторы: Bagir, Ivan, Vit, immortal, PAV, newz20

alex.frost
Сообщения: 17
Зарегистрирован: Пн июл 30, 2018 8:45 am
Благодарил (а): 24 раза
Поблагодарили: 0

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

Сообщение alex.frost » Ср сен 12, 2018 10:55 pm

Друзья, подскажите пожалуйста, в чем ошибка?
Пытаюсь с raspberry разбудить mac os. Утилиту wakeonlan на малину установил. Пока пробую напрямую через ssh, но получаю вот такой ответ:
2018-09-12 22.49.43.jpg
2018-09-12 22.49.43.jpg (29.39 КБ) 362 просмотра
Stan
Сообщения: 34
Зарегистрирован: Вт фев 13, 2018 2:37 am
Благодарил (а): 4 раза
Поблагодарили: 3 раза

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

Сообщение Stan » Сб окт 27, 2018 6:05 pm

А как можно включить режим гибернации, а не полностью выключить удаленный компьютер? Для выключения сейчас использую shell_exec("shutdown /s /f /m \\\\192.168.1.10 /t 1");, но дело в том, что включить его уже из этого состояния удаленно не получается. А команда вида shell_exec("shutdown /h /f /m \\\\192.168.1.10 /t 1"); результатов не дает.

UPD: В итоге сделал через getURL.
По совету skysilver поставил это https://blog.instalator.ru/archives/47 на комп, который надо выключить, добавил в нее ссыль на shutdown.exe с параметром -h, в МД сделал сценарий с кодом:

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

getURL('http://192.168.1.10:8870/?cmd=hiber');
По итогу рабочий комп с панели управления МД легко и непринужденно уходит в гибернацию, из которой потом так же легко просыпается кодом (который я весь и полностью спер из сценариев у sergejey):

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

//
if (!isset($params['mac'])) {
 $mac='ТУТ_MAC;
 } else {
 $mac=$params['mac'];
}

if (!function_exists('magicPacke')) {
 

function magicPacket($mac,$addr='255.255.255.255',$socket_number=7) {

	//split up the mac address based upon the colons in the string
        $addr_byte = explode(':', $mac);
        $hw_addr = '';

	for ($a=0; $a <6; $a++) 
		$hw_addr .=chr(hexdec($addr_byte[$a])); //convert the hex to its decimal equivalent, encode as a character, and repeat 16 times
        
        $msg = str_repeat(chr(255),6); //FF in decimal is 255, which is then encoded as a char as with our mac address
	for ($a = 1; $a <= 16; $a++) 
		$msg .= $hw_addr;

        $s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);  //create our socket

        if ($s == false) {
                        echo "Error creating socket!\n";
                        echo "Error code is '".socket_last_error($s)."'- " . socket_strerror(socket_last_error($s));
                        return false;
          }

        else {
          // setting a broadcast option to socket:
          //$opt_ret = socket_set_option($s, 1, 6, TRUE);
          $opt_ret = socket_set_option($s,SOL_SOCKET,SO_BROADCAST,true);
          if($opt_ret <0) {
            echo "setsockopt() failed, error: " . strerror($opt_ret) ."\n";
            return false;
            }
 	  if(socket_sendto($s, $msg, strlen($msg), 0, $addr,$socket_number)) {
            socket_close($s);
            return true;
            }

          else {
            return false;
            }
          }
        }
 }

magicPacket($mac);
Screenshot_4.png
Screenshot_4.png (13.42 КБ) 200 просмотров
За это сообщение автора Stan поблагодарил:
webms (Сб ноя 10, 2018 3:30 pm)
Рейтинг: 1.43%
deemjd
Сообщения: 9
Зарегистрирован: Чт сен 13, 2018 10:20 pm
Благодарил (а): 5 раз
Поблагодарили: 0

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

Сообщение deemjd » Чт ноя 08, 2018 11:55 pm

Для тех у кого WOL не работает. Пробуйте сменить порт с 7 на 9.
Вообще, 9 для WOL - классика. Не знаю почему везде 7 суют.
У меня на матери Asrock заработало только на 9 порту. Wireshark тоже по умолчанию в пресете WOL,порт 7 не слушает
directman66
Сообщения: 1772
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 262 раза
Поблагодарили: 315 раз
Контактная информация:

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

Сообщение directman66 » Чт ноя 15, 2018 10:37 am

Бывает комп не просыпается после выключения из винды. Решение есть- нужно обновить драйвер сетевой карты. Более подробно описал ситуацию в теме модуля WakeOnLan
http://majordomo.smartliving.ru/forum/v ... =wakeonlan
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram | +79122962262 Whatsap
Ответить