Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #21222 > unrolled thread

wol: accensione dispositivo

Started byalex <1j9448a02@lnx159sneakemail.com.invalid>
First post2016-10-24 09:22 +0200
Last post2016-10-27 13:20 +0200
Articles 9 — 3 participants

Back to article view | Back to it.comp.www.php


Contents

  wol: accensione dispositivo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-10-24 09:22 +0200
    Re: wol: accensione dispositivo bramante <bramante@yopmail.com> - 2016-10-24 10:04 +0200
      Re: wol: accensione dispositivo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-10-24 13:00 +0200
        Re: wol: accensione dispositivo fulvio <fparnigoniTOGLIMI@videosoft.biz> - 2016-10-24 19:01 +0200
          Re: wol: accensione dispositivo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-10-24 19:40 +0200
            Re: wol: accensione dispositivo fulvio <fparnigoniTOGLIMI@videosoft.biz> - 2016-10-25 10:07 +0200
              Re: wol: accensione dispositivo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-10-25 18:07 +0200
                Re: wol: accensione dispositivo fulvio <fparnigoniTOGLIMI@videosoft.biz> - 2016-10-26 18:34 +0200
                  Re: wol: accensione dispositivo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-10-27 13:20 +0200

#21222 — wol: accensione dispositivo

Fromalex <1j9448a02@lnx159sneakemail.com.invalid>
Date2016-10-24 09:22 +0200
Subjectwol: accensione dispositivo
Message-ID<nukcr8$11dm$1@gioia.aioe.org>
function wakeUp($macAddressHexadecimal, $broadcastAddress)

{

	$macAddressHexadecimal = str_replace(':', '', $macAddressHexadecimal);

	// check if $macAddress is a valid mac address

	if (!ctype_xdigit($macAddressHexadecimal)) {

		throw new \Exception('Mac address invalid, only 0-9 and a-f are allowed');

	}

	$macAddressBinary = pack('H12', $macAddressHexadecimal);

	$magicPacket = str_repeat(chr(0xff), 6).str_repeat($macAddressBinary, 16);

	if (!$fp = fsockopen('udp://' . $broadcastAddress, 7, $errno, $errstr, 
2)) {

		throw new \Exception("Cannot open UDP socket: {$errstr}", $errno);

	}

	fputs($fp, $magicPacket);

	fclose($fp);

}



wakeUp('33:22:12:64:cc:15','192.168.0.120');


Ma il dispositivo non si accende... perchè?

[toc] | [next] | [standalone]


#21223

Frombramante <bramante@yopmail.com>
Date2016-10-24 10:04 +0200
Message-ID<nukfad$158n$1@gioia.aioe.org>
In reply to#21222
Il 24/10/2016 09:22, alex ha scritto:
> function wakeUp($macAddressHexadecimal, $broadcastAddress)
>
> {
>
>     $macAddressHexadecimal = str_replace(':', '', $macAddressHexadecimal);
>
>     // check if $macAddress is a valid mac address
>
>     if (!ctype_xdigit($macAddressHexadecimal)) {
>
>         throw new \Exception('Mac address invalid, only 0-9 and a-f are
> allowed');
>
>     }
>
>     $macAddressBinary = pack('H12', $macAddressHexadecimal);
>
>     $magicPacket = str_repeat(chr(0xff),
> 6).str_repeat($macAddressBinary, 16);
>
>     if (!$fp = fsockopen('udp://' . $broadcastAddress, 7, $errno,
> $errstr, 2)) {
>
>         throw new \Exception("Cannot open UDP socket: {$errstr}", $errno);
>
>     }
>
>     fputs($fp, $magicPacket);
>
>     fclose($fp);
>
> }
>
>
>
> wakeUp('33:22:12:64:cc:15','192.168.0.120');
>
>
> Ma il dispositivo non si accende... perchè?

domanda banale
ma il dispositivo è abilitato per il wake up on lan???

Ciao

[toc] | [prev] | [next] | [standalone]


#21226

Fromalex <1j9448a02@lnx159sneakemail.com.invalid>
Date2016-10-24 13:00 +0200
Message-ID<nukpkg$1mke$1@gioia.aioe.org>
In reply to#21223
Il 24/10/2016 10:04, bramante ha scritto:
>
> domanda banale
> ma il dispositivo è abilitato per il wake up on lan???

si, ma come secondo parametro bisogna passare l'ip, giusto?

[toc] | [prev] | [next] | [standalone]


#21229

Fromfulvio <fparnigoniTOGLIMI@videosoft.biz>
Date2016-10-24 19:01 +0200
Message-ID<nuleq2$elo$1@virtdiesel.mng.cu.mi.it>
In reply to#21226
Il 24/10/2016 13:00, alex ha scritto:

> si, ma come secondo parametro bisogna passare l'ip, giusto?

Penso non sia l'IP, ma sia il broadcast, cioè nel tuo caso 192.168.0.255
Prova.

fulvio

[toc] | [prev] | [next] | [standalone]


#21230

Fromalex <1j9448a02@lnx159sneakemail.com.invalid>
Date2016-10-24 19:40 +0200
Message-ID<nulh31$138o$1@gioia.aioe.org>
In reply to#21229
Il 24/10/2016 19:01, fulvio ha scritto:
> Il 24/10/2016 13:00, alex ha scritto:
>
>> si, ma come secondo parametro bisogna passare l'ip, giusto?
>
> Penso non sia l'IP, ma sia il broadcast, cioè nel tuo caso 192.168.0.255
> Prova.
>
> fulvio
>

PHP Warning:  fsockopen(): unable to connect to udp://192.168.0.255:7 
(Permission denied) in /mnt/usb_storage/test/php/src/index.php on line 11

[toc] | [prev] | [next] | [standalone]


#21232

Fromfulvio <fparnigoniTOGLIMI@videosoft.biz>
Date2016-10-25 10:07 +0200
Message-ID<nun3r9$lc6$1@virtdiesel.mng.cu.mi.it>
In reply to#21230
Il 24/10/2016 19:40, alex ha scritto:
> PHP Warning:  fsockopen(): unable to connect to udp://192.168.0.255:7
> (Permission denied) in /mnt/usb_storage/test/php/src/index.php on line 11
>

Questo sembra un problema di permessi, con quale utente esegui lo script ?
Deve essere root, oppure deve essere eseguito con sudo ecc. ecc.

[toc] | [prev] | [next] | [standalone]


#21233

Fromalex <1j9448a02@lnx159sneakemail.com.invalid>
Date2016-10-25 18:07 +0200
Message-ID<nunvvt$rra$1@gioia.aioe.org>
In reply to#21232
Il 25/10/2016 10:07, fulvio ha scritto:
> Il 24/10/2016 19:40, alex ha scritto:
>> PHP Warning:  fsockopen(): unable to connect to udp://192.168.0.255:7
>> (Permission denied) in /mnt/usb_storage/test/php/src/index.php on line 11
>>
>
> Questo sembra un problema di permessi, con quale utente esegui lo script ?

sudo php wol.php

> Deve essere root,

cioè ?

$ su
passsword:...
$ php wol.php

non va lo stesso, esce sempre il warn...

[toc] | [prev] | [next] | [standalone]


#21241

Fromfulvio <fparnigoniTOGLIMI@videosoft.biz>
Date2016-10-26 18:34 +0200
Message-ID<nuqluv$fsi$1@virtdiesel.mng.cu.mi.it>
In reply to#21233
Il 25/10/2016 18:07, alex ha scritto:

> non va lo stesso, esce sempre il warn...

Punto primo: ho sbagliato, il broadcast è 255.255.255.255
Ma se anche metti quel valore nella tua funzione (che ho provato) continua
a dare il warn
Mentre io uso questa qua sotto con successo, è un po' "grezza", senza 
controllo di errori e con ampi margini di miglioramento, ma funziona:

function wol($broadcast, $mac)
{
     $mac_array = split(':', $mac);
     $hwaddr = '';
     foreach($mac_array AS $octet)
     {
         $hwaddr .= chr(hexdec($octet));
     }

     // Create Magic Packet
     $packet = '';
     for ($i = 1; $i <= 6; $i++)
     {
         $packet .= chr(255);
     }
     for ($i = 1; $i <= 16; $i++)
     {
         $packet .= $hwaddr;
     }
     $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
     if ($sock)
     {
         $options = socket_set_option($sock, 1, 6, true);

         if ($options >=0)
         {
             $e = socket_sendto($sock, $packet, strlen($packet), 0, 
$broadcast, 9);
             socket_close($sock);
         }
     }
}

wol('255.255.255.255','00:13:8f:a4:5f:75');


[toc] | [prev] | [next] | [standalone]


#21246

Fromalex <1j9448a02@lnx159sneakemail.com.invalid>
Date2016-10-27 13:20 +0200
Message-ID<nusnti$vu7$1@gioia.aioe.org>
In reply to#21241
Il 26/10/2016 18:34, fulvio ha scritto:
> Mentre io uso questa qua sotto con successo, è un po' "grezza", senza
> controllo di errori e con ampi margini di miglioramento, ma funziona:

grazie

[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.www.php


csiph-web