Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Wake on Lan for Virtual Machines for 6.1+

Featured Replies

  • Author
Hmm, I can't seem to get this working.  I downloaded the plugin, and installed Python from the Nerd Tools plugin (v2.7.14a) and used the same android app (as well as a smartthings automation app called WebCore) to send a WoL command using the MAC address found in the VM config, but so far nothing.
 
Any suggestions as to what I could try?
 
Look through the past few posts about vm bridge name. I also have a wakeonlan plugin you could try
  • Replies 130
  • Views 64.6k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • I had the same issue and solved it that way:   1. Uninstall Python2 from the Nerd Pack Plugin 2. cli into your unraid 3. Download Python2 for Slackware: wget https://slackware.uk/s

  • Hello @dmacias   How are you? Hope you are doing well.   I started having issues with WOL plugin recently - it just won't start. I tried enabling/disabling from the VM Manager sett

  • @dlandon has created a Python 2 plugin, so WOL is now no longer being deprecated

Posted Images

  • Author
I've been working with ipmi and vm's recently and I think VirtualBMC would be a great addition to this plugin.  You already have libvirt-python and the only other requirement to get it installed via pip is subprocess32 (if using python 2) which I had no problem building once I installed the build dependencies in unraid from slackware64-current repo.  Pip will build it fine but the slackbuild is more convenient.

 

Would you consider adding it?  I would be happy to help or collaborate.

I'll see about creating a slackware package and adding it to the plugin

 

Explain to me a little more how it works

I'm having problems with this as well; I can confirm br0 is set right and:
 

root@Tower:~# ps aux | grep libvirtwol
root     19502  0.0  0.0   9812  2136 pts/2    S+   19:33   0:00 grep libvirtwol
root     22023  0.0  0.0 143204 22008 ?        S    19:15   0:00 /usr/bin/python /usr/local/emhttp/plugins/libvirtwol/scripts/libvirtwol.py br0

is the output from checking what's running while the plugin is enabled.

 

I've never been able to get this plugin to work for a couple years now, it hasn't been a big deal until now where I want to add some automations with something else sending a magic packet to turn on some VMs. I'm interested in trying any other alternative as well, given the situation.

I figured out that the plugin worked fine, the problem was my network environment -- once I fixed what was blocking the magic packet everything does work fine. Thanks for the great plugin!

On 12/28/2018 at 12:24 PM, dmacias said:

I'll see about creating a slackware package and adding it to the plugin

 

Explain to me a little more how it works

Basically it lets you use ipmitool to control VM's over the network

  • Power the virtual machine on, off, graceful off, NMI, and reset
  • Check the power status
  • Set the boot device
  • Get the current boot device

Very useful for automation tools that already support ipmi for these tasks for baremetal servers.

 

Here's an example of how it's configured and used.  https://x-vps.com/blog/?p=16

 

  • Author
2 hours ago, brunnels said:

Basically it lets you use ipmitool to control VM's over the network

  • Power the virtual machine on, off, graceful off, NMI, and reset
  • Check the power status
  • Set the boot device
  • Get the current boot device

Very useful for automation tools that already support ipmi for these tasks for baremetal servers.

 

Here's an example of how it's configured and used.  https://x-vps.com/blog/?p=16

 

Ok thanks. I didn't see the port option on the github page. So I did know how it would control different vm's.

  • Author
14 hours ago, AboveUnrefined said:

I figured out that the plugin worked fine, the problem was my network environment -- once I fixed what was blocking the magic packet everything does work fine. Thanks for the great plugin!

Good to hear.

On 12/28/2018 at 1:22 PM, dmacias said:
On 12/27/2018 at 2:33 PM, Coolsaber57 said:
Hmm, I can't seem to get this working.  I downloaded the plugin, and installed Python from the Nerd Tools plugin (v2.7.14a) and used the same android app (as well as a smartthings automation app called WebCore) to send a WoL command using the MAC address found in the VM config, but so far nothing.
 
Any suggestions as to what I could try?
 

Look through the past few posts about vm bridge name. I also have a wakeonlan plugin you could try

My bridge name is br0 and bridging is enabled in my network settings.

Edited by Coolsaber57

On 12/29/2018 at 8:29 PM, AboveUnrefined said:

I figured out that the plugin worked fine, the problem was my network environment -- once I fixed what was blocking the magic packet everything does work fine. Thanks for the great plugin!

What did you end up needing to do in your network environment?

  • Author
I've been working with ipmi and vm's recently and I think VirtualBMC would be a great addition to this plugin.  You already have libvirt-python and the only other requirement to get it installed via pip is subprocess32 (if using python 2) which I had no problem building once I installed the build dependencies in unraid from slackware64-current repo.  Pip will build it fine but the slackbuild is more convenient.
 
Would you consider adding it?  I would be happy to help or collaborate.
I worked on this a bit. It'll take a bit more time to figure out which other packages will be needed to just run it. Most likely it will require all the packages from the requirements.txt but some of those also require other packages too. On my dev system pip installed 20+ packages but all those may not be needed to run it.
  • Author
What did you end up needing to do in your network environment?
Maybe describe your network environment and equipment a bit. Something may be blocking the wol packets also what motherboard and network card. You may need to enable wol in your bios.
1 hour ago, dmacias said:
On 12/30/2018 at 11:16 PM, Coolsaber57 said:
What did you end up needing to do in your network environment?

Maybe describe your network environment and equipment a bit. Something may be blocking the wol packets also what motherboard and network card. You may need to enable wol in your bios.

Hey there, sorry I was just going to investigate my setup if I could get a tip on where to start from the other guy, but my setup includes:

 

  1. Ubiquiti USG
  2. Ubiquiti US-48 switch
  3. Gigabyte GA-7PESH2 dual socket LGA2011 mainboard w/ 2x e5-2630 v2, connected via 10gbase-T to sfp+ to the US-48

  4. Sending WoL packets via phone app and WebCore (home automation s/w)

I'll see how to enable WoL in the bios in my MB, I wasn't aware that was needed.

 

Edit: the default setting for WoL is ON on my MB, and I can double check when I get home, but I would imagine it's enabled.

Edited by Coolsaber57

12 hours ago, dmacias said:

I worked on this a bit. It'll take a bit more time to figure out which other packages will be needed to just run it. Most likely it will require all the packages from the requirements.txt but some of those also require other packages too. On my dev system pip installed 20+ packages but all those may not be needed to run it.

I installed a bunch of build packages I download from slackware64-current repo and ran the slackbuild for subprocess32 I linked before.

Then I installed that package, libvirt-python (from slackware64-current), and python-setuptools (from slackware64-current).

Finally I ran `pip install virtualbmc`

 

None of the build packages were needed for the install detailed in the log file. 

I did a reboot to make sure they were all gone before doing it.

 

I attached the log and list of packages I installed to make the slackbuild.  Also my subprocess package in case it helps.

virtualbmc-install.txt

build-packages.txt

subprocess32-3.5.2-x86_64-2_SBo.tgz

Edited by brunnels

20 hours ago, dmacias said:

I worked on this a bit. It'll take a bit more time to figure out which other packages will be needed to just run it. Most likely it will require all the packages from the requirements.txt but some of those also require other packages too. On my dev system pip installed 20+ packages but all those may not be needed to run it.

I was thinking on this more last night and since a lot of small python packages get installed by pip could you just run the pip install during the plugin install script?  It's pretty fast so I don't think it would be a problem.

 

Another alternative which would probably be useful for a lot of people or other plugins would be a new plugin for "persistent pip" that essentially restores the state of /usr/lib64/python2.7/site-packages/ from the flash drive on boot.

  • Author
Hey there, sorry I was just going to investigate my setup if I could get a tip on where to start from the other guy, but my setup includes:
 
  1. Ubiquiti USG
  2. Ubiquiti US-48 switch
  3. Gigabyte GA-7PESH2 dual socket LGA2011 mainboard w/ 2x e5-2630 v2, connected via 10gbase-T to sfp+ to the US-48
  4. Sending WoL packets via phone app and WebCore (home automation s/w)
I'll see how to enable WoL in the bios in my MB, I wasn't aware that was needed.
 
Edit: the default setting for WoL is ON on my MB, and I can double check when I get home, but I would imagine it's enabled.
I have similar hardware (usg pro and usw 24). The only thing I can think of is if you have some traffic blocked or if enabled, an ISP rule that blocks magic packets. Also you need to be on the same subnet as the unraid server. The script works by listening to all packets on udp port 7, udp port 9 or ether proto 0x0842 and matching mac in the magic packet to mac for virtual machine.
  • Author



I was thinking on this more last night and since a lot of small python packages get installed by pip could you just run the pip install during the plugin install script?  It's pretty fast so I don't think it would be a problem.
 
Another alternative which would probably be useful for a lot of people or other plugins would be a new plugin for "persistent pip" that essentially restores the state of /usr/lib64/python2.7/site-packages/ from the flash drive on boot.


Along with setuptools and subprocess32 it needs pbr, six, enum34, pycparser, cffi, asn1crypto, idna, ipaddress, cryptography, pyghmi, PyYAML, pyperclip, contextlib2, pyparsing, wcwidth, cmd2, stevedore, PrettyTable, unicodecsv, cliff, pyzmq.

As a rule none of my plugins need to download anything on server boot. There have been too many problems in the past with servers hanging or not working due to connectivity issues at boot. I would just prefer everything be there on the flash drive already.

I could install subprocess32 and setuptools and package everything else into one package (which I don't necessarily like) or just create 21 different ones.
9 hours ago, dmacias said:

I could install subprocess32 and setuptools and package everything else into one package (which I don't necessarily like) or just create 21 different ones.

Found slackbuilds for most of those:

pbr six enum34 pycparser cffi idna ipaddress cryptography

PyYAML pyperclip pyparsing wcwidth stevedore PrettyTable

unicodecsv pyzmq

 

Didn't see them for these:

asn1crypto pyghmi contextlib2 cmd2 cliff

 

python-six and python-idna are actually in official repos.

Edited by brunnels

  • Author
Found slackbuilds for most of those:

pbr six enum34 pycparser cffi idna ipaddress cryptography

PyYAML pyperclip pyparsing wcwidth stevedore PrettyTable

unicodecsv pyzmq

 

Didn't see them for these:

asn1crypto pyghmi contextlib2 cmd2 cliff

 

python-six and python-idna are actually in official repos.

I decided to use a python virtual environment and load everything into one package. Created multiple packages based on unraid version/libvirt version. I also add a Virtual BMC service to the VM settings page. I'll add more Virtual BMC settings to the WebGUI when I have time. E.g. vm's and port settings.  Also I wondering if you knew where Virtual BMC stored the vm/ports settings, so they can be restored on boot.

 

Edit: Nm I figured out where the settings are stored. They are in the user home directory. So /root/.vbmc

 

Awesome work.  Thank you.  I'm testing it out now.

 

One note so far.  The verbose on the uninstall logging to the webpage makes it take a really long time delete all the files in the virtual environment 

Just been trying to get this to work with no success until i realised my VLANS were causing the issue.

 

I worked around it by overriding the code in the /etc/rc.d/rc.libvirtwol file.

 

i replaced the variable $BRNAME directly with the hard coded value br0.1 (for br0 vlan 1) is it possible to get some sort of option for this added to the plugin? 

  • Author
On 1/11/2019 at 1:45 PM, Fma965 said:

Just been trying to get this to work with no success until i realised my VLANS were causing the issue.

 

I worked around it by overriding the code in the /etc/rc.d/rc.libvirtwol file.

 

i replaced the variable $BRNAME directly with the hard coded value br0.1 (for br0 vlan 1) is it possible to get some sort of option for this added to the plugin? 

Is your Default network bridge not set to bro.1? That is what the variable $BRNAME is.

  • 3 weeks later...
On 1/11/2019 at 3:45 PM, Fma965 said:

Just been trying to get this to work with no success until i realised my VLANS were causing the issue.

 

I worked around it by overriding the code in the /etc/rc.d/rc.libvirtwol file.

 

i replaced the variable $BRNAME directly with the hard coded value br0.1 (for br0 vlan 1) is it possible to get some sort of option for this added to the plugin? 

I have VMs on both br0 and br0.40 VLAN (default) and the script will not start w/ the variable $BRNAME or if br0.40 is hard coded.  If I hard code br0, the service reports as started but I cannot seem to start any VMs via WoL

 

Any advice?

 

Also, how does one access VBMC?

 

 

EDIT:
I am running 6.6.6

Edited by therapist

  • Author
On 1/30/2019 at 1:07 PM, therapist said:

I have VMs on both br0 and br0.40 VLAN (default) and the script will not start w/ the variable $BRNAME or if br0.40 is hard coded.  If I hard code br0, the service reports as started but I cannot seem to start any VMs via WoL

 

Any advice?

 

Also, how does one access VBMC?

 

 

EDIT:
I am running 6.6.6

It not necessary to hard code anything. Everything works fine for me as is. I have the Default vm bridge set to br0.80. I doesn't really matter what bridge the VMs are on. The default bridge is what matters as it is the interface the script will be listening on. It will be looking for any magic packet. It will then compare the magic packet mac to all the vm macs and start a matching vm. Wol packets have to be broadcast on the same network. Are you setting your Default vm bridge to br0.40 in the Unraid webgui? Are you sending the wol from the br0.40 network? I can send etherwake -i br0.40 vmmacaddress from the server and the vm starts up. The VBMC is command line only for now. You'll have to google how to use it. But basically you assign vms to different ports and then you use ipmi commands/software to send ipmi commands to server.ip:vmport#. You'll need something like my cmdline plugin to save and restore your /root directory on server restart also. All the VBMC settings are saved in /root/.vbmc

  • 2 weeks later...
On 12/30/2018 at 11:16 PM, Coolsaber57 said:

What did you end up needing to do in your network environment?

Hey, sorry for the delay. The problem had to do with network access in a virtual machine container -- it wasn't so much the network itself as the container's access to the network.

  • 9 months later...

WOL plugin daemon is running ,but in fact wont work and no config at all

Nerdpack all plugins installed.

After research found 

Quote

 /usr/local/emhttp/plugins/libvirtwol/scripts/libvirtwol.py br0
Traceback (most recent call last):
  File "/usr/local/emhttp/plugins/libvirtwol/scripts/libvirtwol.py", line 26, in <module>
    import pcap
ImportError: No module named pcap
 

Any solution please?

Edited by ingus16

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.