Add New Page: You are not allowed to add pages Select section/namespace. New page title.
 

VMware Player

This section explains how to run Commotion as a guest VM under VMware Player.

Although Virtual-Box is quite user-friendly, its support for attaching physical USB peripherals (i.e. USB wifi radios) to guest VMs is flakey. By comparison, VMware Player has more robust support for USB peripherals, but it is a bit more fussy to use.

Like VirtualBox, VMware only supports guests compiled for the *x86* platform. Unlike VirtualBox, VMware Player requires a host CPU with *64bit extensions*.

A section at the bottom lists the VMware hosts and USB wifi adapters tested successfully thus far.

Install VMware

The author tested this configuration using the freely downloadable application VMware Player. Specifically, he used the “VMware Player for Linux 64-bit (.bundle)”, and he installed it on his copy of Ubuntu v12.10 using the following commands at the console:

sudo apt-get install build-essential linux-headers-`uname -r`
gksudo bash ./VMware-Player-4.0.3-703057.x86_64.bundle

Note that the actual filename for VMware player may differ for you (i.e. newer version, different host OS).

VMware host settings

VMware player requires a host processor with virtualization capabilities. Most modern Intel and AMD CPUs support this, but you may need to explicity enable virtualization support in your host's BIOS. In particular, look for options like “Intel VT,” “Hardware Assisted Virtualization,” and “AMD-V.”

To use a USB wifi adapter with a VMware guest VM, you may have to configure your host OS to ignore the USB adapter (i.e. not try to configure it). For Ubuntu Linux with the NetworkManager tool, you can exclude specific network adapters from being auto-configured by including the adapters' MAC addresses in /etc/NetworkManager/NetworkManager.conf as such:

[keyfile]
unmanaged-devices=mac:64:70:02:09:0e:9a;mac:90:f6:52:e5:28:f4;

Do make sure to restart the NetworkManager service after applying this change to its conf file.

Simulating Commotion-OpenWRT

This section explains how to simulate “Commotion-OpenWRT”:/projects/commotion-openwrt nodes as VM guests under VMware Player.

Creating the Commotion-OpenWRT VM guest

To compile a Commotion-OpenWRT image from scratch, see Custom-Compile-OpenWRT subsection for x86 architecture.

-To compile a Commotion-OpenWRT image from scratch, you will first need a build environment as described in the section for “creating a VirtualBox VM guest”:/projects/commotion/wiki/Virtual-Box#Compile-Your-Own-Image .-

Alternatively, you can import a VirtualBox-format OVA appliance file into VMware, which is the suggested approach for creating a VMware guest. Compatible images and VirtualBox appliances files may be downloaded from https://code.commotionwireless.net/projects/commotion/files

Convert OpenWRT Image to VMDK Format

Once you’ve completed your OpenWRT build, locate relevant image file at openwrt/bin/x86/openwrt-x86-generic-combined-jffs2-128k.img. Although the OpenWRT build process does support generating a VMDK file directly (using the EXT4 filesystem) for use under VMware, we want to use the JFFS filesystem image to preserve compatibility with the Freifunk sysupgrade tool.

The 2 commands below will convert the img file to VMDK format, and then resize it to 17MBytes. This should provide a rough approximation of the 16MByte embedded flash disk typical to target hardware. Note these commands require the qemu-img tool (available in the “qemu-utils Ubuntu package”:http://packages.ubuntu.com/precise/qemu-utils ).

qemu-img resize -f raw openwrt-x86-generic-combined-jffs2-128k.img 17MB
qemu-img convert -f raw openwrt-x86-generic-combined-jffs2-128k.img -O vmdk openwrt-x86-generic-combined-jffs2-128k.img.vmdk

Configuring the Commotion-OpenWRT VM guest

The screenshots below illustrate the settings used in VMware for simulating a stand-alone gateway node. Note that most of these settings should already be in place if you create the VM guest by importing a VirualBox OVA file.

General options for Commotion-OpenWRT node under VMware

Memory settings for Commotion-OpenWRT node under VMware

Processor settings for Commotion-OpenWRT node under VMware

Disk settings for Commotion-OpenWRT node under VMware

Network Adapter 1 settings for Commotion-OpenWRT node under VMware

Network Adapter 2 settings for Commotion-OpenWRT node under VMware

Upgrading the Commotion-OpenWRT VM guest

Upgrading your Commotion-OpenWRT node can be accomplished by using the sysupgrade tool to 'reflash' the virtual node in place, while preserving all of its configuration. To do this, download or SCP the updated image file openwrt-x86-generic-combined-jffs2-128k.img to the /tmp directory on the node's local filesystem, and then run this command on the node's console:

/sbin/sysupgrade -i /tmp/openwrt-x86-generic-combined-jffs2-128k.img

sysupgrade will first ask if you want to preserve the node's configuration files or edit the list of files to preserve (usual answers being YES then NO). Then, it will overwrite the node's kernel and filesystem system with those from the updated image file. Upon completion, the sysupgrade tool will trigger a reboot.

Simulating multiple Commotion-OpenWRT Nodes under the same VMware Host

TBA

Configuring the Commotion-OpenWRT Guest with USB

Analogous to the section about “simulating a Commotion-OpenWRT node under VirtualBox with a physical USB wifi adapter”:/projects/commotion/wiki/Virtual-Box-Real-Mesh , the screenshots below illustrate the USB settings used in VMware guest.

Of particular note is the USB status icon that appears at the lower right of the VMware Player console for the Commotion-OpenWRT guest VM. When playing this VM for the first time, you will need to click on the USB status icon and select “Connect (Disconnect from Host)” in the context menu that appears.

USB settings for Commotion-OpenWRT node under VMware

Console for Commotion-OpenWRT node under VMware. Note the “Connect (Disconnect from Host)” option that appears after clicking USB status icon in lower right.

Usage notes for Commotion-OpenWRT and USB under VMware

  • VMware throws up warning dialogs when the Commotion-OpenWRT guest tries to switch an ethernet interface to promiscuous mode. These warnings are fine to ignore and click-through.
  • VMware player doesn’t seem to reliably reset the USB adapter when the guest reboots. You can physically plug / unplug the USB adapter and then do “wifi restart” at command line to force a reset.

Simulating Commotion-Linux

TBA

Simulating Commotion-Android

TBA

Simulating Commotion-Windows

TBA

VMware USB Wifi Compatibility

This section lists Host OS / VMware Player / USB wifi adapter combinations which have been tested successfully, or otherwise, for use in simulating Commotion nodes.

Tested Successfully

_.Host_.VMware Player_.USB Adapter
HP Pavilion dv5000 2GHz amd64 Laptop, 2GB RAM OS: Ubuntu Precise 12.04.1 LTS 32bit (Linux Mint Maya) under x86 Kernel: 3.2.0-34-generic64bit v5.0.1 build-894247 for LinuxTP-Link TL-WN821Nv3 (ath9k_htc)
HP Pavilion dv5000 2GHz amd64 Laptop, 2GB RAM OS: Ubuntu Precise 12.04.1 LTS 32bit (Linux Mint Maya) under x86 Kernel: 3.2.0-34-generic64bit v5.0.1 build-894247 for LinuxTP-Link TL-WN722N (ath9k_htc)

Tested Quasi-successfully

_.Host_.VMware Player_.USB Adapter_.Notes
HP Pavilion dv5000 2GHz amd64 Laptop, 2GB RAM OS: Ubuntu Precise 12.04.1 LTS 32bit (Linux Mint Maya) under x86 Kernel: 3.2.0-34-generic64bit v5.0.1 build-894247 for LinuxSMC SMCWUSB-N2 (carl9170)- adhoc mesh VAP won't come up, but ap comes up - need to update compat-wireless to 2012-09-07+ for multi-VAP capabilities (new carl9170 firmware)
development_resources/testing/virtualization/vmware_player.txt · Last modified: 2014/05/12 20:34 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported