wake-on-lan and permission denied error

  • I need to send wake-on-lan packets out to two different networks on a regular schedule. I'm using cron and a shell script that runs the wake command as root for each machineT I need to wake up. The wake command works fine for machines connected to igb1:

    /usr/sbin/wake igb1 xx:xx:xx:xx:xx:xx

    but I'm getting errors for machines connected to igb2:

    /usr/sbin/wake igb2 xx:xx:xx:xx:xx:xx

    wake: write(): Permission denied
    wake: Cannot send Wake on LAN frame over `igb2' to `xx:xx:xx:xx:xx:xx': Permission denied

    The firewall rules are slightly different between the two interfaces, but otherwise their configurations are very similar. I can also send WOL manually on igb2 through the web interface and it works fine. What could cause a "Permission denied error" for a wake command on one interface?

  • WOL is not IP, so I don't think pfSense should affect it at all. Also, are both interfaces on the same system? WOL is not routeable and can only be passed to another network with something called Subnet Directed Broadcasts.

  • Yes, both interfaces are on the same system.

    It's a Netgate SG-2440, so there are four identical Ethernet interfaces. I can use the wake command from the command-line on three out of the four interfaces. WOL from igb2 also seems to work from the web interface. Only wake from the command line with igb2 is giving the permission error.