I’m using the Free tools version 3.1.6689.17485.
Wake on LAN works for the majority of my PCs however a random selection it appears to be making up a subnet mask. It’s the same random PCs which always have the issue. They are the same make/model/BIOS/BIOS settings/switch/VLAN/subnet as the PCs which it can wake no problem. I’m using it with “Unicast Mode” NOT ticked (as it needs to do a subnet directed broadcast to escape the server VLAN).
If I use another wake on LAN tool and manually enter the MAC and the subnet broadcast address, the PCs turn on fine.
How does RCT determine the subnet address to broadcast to? (It should be 255.255.255.0, the PCs in question are all in the range 10.210.164.0/24, and it is targetting 255.255.255.192 or 255.255.255.224). I’ve seen on another post that it uses data from discovery and hardware but I can’t see anywhere in the device properties that would give that subnet mask. I found another post from 3 years ago saying to edit wol.ps1 but there doesn’t seem to be any powershell scripts in the RCT folders any more (besides install/uninstall).
Is there a way to manually set the subnet mask on a PC for RCT to use?
The WoL tool will try to determine subnet in a couple of different ways. First it will look for discovery information and try to determine the subnet mask based on the IPSubnets array. Since this array stores the result of ANDing the IP address with the subnet mask and not the subnet mask itself, we’re left to guess the correct subnet mask. To do this, we start with a mask of 255.255.255.255 and left shift until the result of ANDing the subnet mask with the IP address matches what’s in the subnet array. This is probably where those odd subnet masks are coming from.
The 2nd method we use is to look in hardware inventory. We loop through the SMS_G_System_Network_Adapter_Configuration records for the device and send WoL packets to each IP / subnet pair.
Both methods are used to send WoL packets, so if you’re only seeing subnets that don’t match your expectations, it might be worth checking if those devices have valid IP and MAC addresses in SMS_G_System_Network_Adapter_Configuration.
There isn’t currently a way to manually set the subnet mask, but it’s a good idea that I hadn’t thought of., I’ll add it as a potential feature for 3.3.