[HOWTO] VMWare tools now precompiled and available

  • This is old information retained for historical purposes. For the most up to date information, see http://doc.pfsense.org/index.php/Open_VM_Tools_package

    1. First, run this from a shell:

    cd /tmp
    fetch -v http://www.pfsense.com/mirrors/packages/All/vmware-guestd-
    fetch -v -o /boot/kernel/ http://www.pfsense.com/mirrors/packages/All/vmxnet.ko
    pkg_add vmware-guestd-

    2. Edit /boot/loader.conf with Diagnostics -> Edit file
    3. Add to the file:


    4. Stop the virtual machine (shutdown pfSense)
    5. Locate the virtual machine .vmx file on the parent vmware host and edit the file.
    6. Look for tools.syncTime and ensure it reads true.  IE:


    7. Look for lines that appear similar to:

    ethernet0.virtualDev =

    Change this to:

    ethernet0.virtualDev = "vmxnet"

    Now locate an entry similar to:


    If it does not exist, add it.  Or edit it to look like:

    ethernet1.virtualDev = "vmxnet"

    8. Save the file and exit the editor
    9. Start the virtual machine back up and everything should be in good shape
    10. Run these commands from a shell:
    11. Reboot pfsense

  • Great for (better/faster)time synchronisation and monitoring.

    For the network part; does vmxnet now supports ALTQ(for traffic shaping)?
    I have no problems using "e1000" as device, "vmxnet" is however faster.

    Not that traffic shaping on vmware is very accurate(inaccurate timing), but often better then nothing.

    Just tried it on a test box.
    I had to rename the startup file in /usr/local/etc/rc.d/ from vmware-guestd to vmware-guestd.sh.
    So from shell:

    mv /usr/local/etc/rc.d/vmware-guestd /usr/local/etc/rc.d/vmware-guestd.sh

    And reboot.

  • I am not sure about Altq.  And good catch on the RC.d script.  All rc.d scripts must end in .sh.

  • hey guys,

    could one of you verify if altq works?



  • I get:
    :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[
    fetch: http://….......: Operation timed out


    fetch -v http://www.pfsense.com/mirrors/packages/All/vmware-guestd-
    fetch -v -o /boot/kernel/ http://www.pfsense.com/mirrors/packages/All/vmxnet.ko

  • I solved the preceding paragraph.
    In my vmx file not found:
    Ethernet0.virtualDev! I must add it by hand?
    I only:
    Scsi0.virtualDev = "lsilogic"

    Ethernet0.present = "True"
    Ethernet0.allowGuestConnectionControl = "false"
    Ethernet0.networkName = "LAN"
    Ethernet0.addressType = "vpx"
    Ethernet0.generatedAddress = "00: xx: xx: xx: 5c"

  • 10. Run these commands from a shell:

    WHO COmmands!!!!!?

  • @tonycs:

    10. Run these commands from a shell:

    WHO COmmands!!!!!?

    The commands that have been posted on the steps before.

    As for ALTQ, you need a kernel with ALTQ_NOPCC which is built only on SMP kernels.
    It uses the os(freebsd) emulated clock instead of trying to use the vmware one, but i cannot give you any hard numbers which is better.

  • Ok thanks, why change the vmx? Question for the purpose of deepening.

  • Normally on fully supported plaforms Vmware detects if the guest OS has Vmware tools(of for example windows), and uses vmxnet automatically.
    On FreeBSD/pfSense this doesn't work well(Vmware presents the very slow AMD PCnet/"vlance"), so you change the .vmx file to force Vmware to present a different device("vmxnet" of "e1000") to pfSense.
    "e1000" seems to be a little bit faster than "vlance", and "vmxnet" is the fastest option, but you need to install the vmxnet driver(see this topic ;) ).

  • I just wanted to stop in and say how much I appreciate this little guide!

    I recently revamped my home (/apartment complex) internet access hub, also known as "the lowest grade PC in my apartment", so that I can more properly use it as a multifunction machine instead of a single-purpose routing box (which it does too well and is, IMO, very underutilized). I installed a custom, super-stripped copy of XP with absolutely no superfluous services or data, and installed VMWare Workstation in all its bloat onto it. pfSense ran on it, but it didn't work very well at all, often with VMWare hogging the entire 600Mhz CPU while downloading a torrent at 200KB/s. I did "top" and found that the two network drivers were eating up a good amount, with "net" taking the most. There had to be something I could do, so I googled around and found this thread (small world).

    After doing the instructions in this topic, I've now got 5% CPU usage while idle (on the host), and about 75% usage while downloading at my connection's full speed, 225KB/s - while ALSO running a Source dedicated server and uTorrent on the same computer. A noticeable improvement over the bottleneck that was there before! "Net" still takes the cake, but the overall problem is no longer there.

    Now the only CPU usage problem pfSense has is a runaway pair of "php" processes that tie up the CPU long after the last request is completed… I don't understand why the CPU usage of "php" would climb so high after the pages are done loading, but I use the web configuration pages much less often and I don't see as much of a problem. May want to look into that... =\

  • falcon4, thanks for the heads up.  Could you start a thread for this PHP problem?

  • I'd like to say thank you for this guide as well. However, I've had some trouble in the very beginning because of a misleading(/wrong?) sentence in the otherwise excellent VMware setup guide (http://doc.pfsense.org/index.php/Installing_pfSense_in_vmware_under_windows). It says:

    Before you start the VM, you can tweak the settings to make it run better under VMWare. You can't do this through the GUI, but the setup here: [1] shows how to do this. It is better to do this before you build the VM, if you do it later you have to re-setup the interface assignements.

    However, adding the lines

    ethernet0.virtualDev = "vmxnet"
    ethernet1.virtualDev = "vmxnet"

    to the host's VMX-file without having the tbz-package installed in the guest system (pfSense) results in no interfaces being found. Therefore, it's impossible to configure LAN/WAN interfaces. Took me an hour to get past that… (BTW: I never got auto-assign to work as well. Disconnecting/reconnecting the VMware-NICs didn't help pfSense to recognize the link-up.)

    I think, the sentence quoted above should be put into a separate section in the wiki and it should be clearly stated that this has to happen after the system is running. And a small remark: it also requires a new configuration of interfaces after booting up pfSense again...

    Cheers and thanks,

  • The VMWare tools package used here seems to now be rather outdated, according to the message VMware gives me. VMware tools has really given my VMware-based pfSense setup a huge speed increase, not to mention the flexibility of being able to just "promote" any computer to "a router box" just by attaching a second (normally USB) network adapter and installing VMware on it.

    But that "Your version of VMware tools is out of date" warning leads me to believe "things can be better". Is it possible to set up a new version of VMware Tools to work with pfSense? I'm too afraid to mess things up in the delicate FreeBSD balance.

    Also, quite curious about ALTQ support on the vmxnet interfaces… I would think it's supported - the physical devices are identical 3COM cards - but pfSense insists on telling me, "I don't think so, flyboy". Is there a way to query the driver if it's supported, or is that the reason behind a "whitelist" setup?

  • is posible to any body make a howto install vmware tools under pfsense, please.
    After download and extract wmware tools from the virtual cd provided by vmware and try to run ./wmware-install.pl i get "Unable to find "lsmod"". And looking for that  #find / |grep lsmod no result. any body to point me in wright direction, please??

  • I actually just pulled the old VMware tools package (provided here) out by the roots because it was so broken. I installed the FreeBSD VMware Tools that came with VMware Server, and when I went to install it, it said VMware tools was already installed but unable to be uninstalled because it used a different tool - and to use another tool that didn't exist to uninstall it. So I figured out what tipped it off to the installation of VMware Tools (that I downloaded using these directions), pulled that out, and installed the one from the disc.

    And even though "Enable Traffic Shaper" is checked (I didn't check that…), the wizard still tells me the vmxnet adapters don't support ALTQ.


  • Wow, my reply is now the first Google result for "vmxnet altq". But there is still no reply.

  • sooo…. should i install the vmware tools found here to get traffic shaping to work, or the vmware tools that comes with vmware? Or do both of these produce the same problem with not supporting traffic shaping?

    Traffic shaping is the only part of pfsense I really need, so unless I can get that to work its useless to me. What should I do?


  • I managed to get shaping to work somewhat reliably (it's at least sped up my internet access) by switching to the e1000 driver. Downside is, it's all emulated, and it noticeably increases CPU usage. With vmxnet, it works well on a 600MHz Celeron server (yeah, in VMware). With e1000? It works well on a 2.4GHz P4. Bit of an overhead.

    It should be noted that through ignorance of the VMware developers, it seems that VMware Tools is broken under FreeBSD 7.0, which 1.2.1 and 1.3 ALPHA are using. It's a mixed blessing… the FreeBSD community is so convoluted, they already dropped 6.2 support (which pfSense Stable runs on) from their FTP servers, despite still being actively used and distributed. So you can't "pkg_add -r" (i.e. to add bash) without some considerable extra and unnecessary typing. So in other words, with 7.0, you get back package support, but you lose VMware performance enhancements.

    I'm not sure if the vmxnet source is available, but I really wish someone would apply the altq pactches to it. I managed to get around the check by adding "vxn" to the list of supported drivers, but that just resulted in hitting a deadend at a message saying the driver doesn't support ALTQ. Which, in my opinion, is a more graceful way of handling it than blowing up in my face when I try to activate the wizard (it does not error out very gracefully...).

    I kinda wonder if we'll ever hear from an admin or developer here at all... far as I know, there's "paid" support you can get for pfSense, and you know what that means for those of us NOT using pfSense in a business...  :-\

  • Someone interested in doing a little research digging should look into using the free vm tools that FreeBSD has under
    ports/emulators/open-vm-tools. these are the open source versions of the VMWare tools binary blobs.

    this might actually lead closer to just having a VMWare support package as it will be just another port added to the list to precompile.

Log in to reply