Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commotion Wireless Windows
Python Shell
Branch: master
Pull request Compare This branch is 2 commits behind opentechinstitute:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
etc
external
images
lib/gtk-2.0/2.10.0/engines
olsrd
profiles
share
templates
testprofiles
.gitignore
.gitmodules
OLSRD-PLUGIN-BUILD-NOTES.md
README.md
__init__.py
build-debug.bat
build.bat
commotion_wireless_profile.xml
core.py
manifest.xml
netsh_add_connect.bat.py
setup.py
statuswatcher.py
strings.py
test.glade
winmesh.glade
winmesh.py
winmesh.spec

README.md

Development environment setup

Platform: Debian Wheezy.

Cross-compiling olsrd for Windows on Debian

32-bit

From the olsrd build documentation:

# Notes for compiling olsrd.exe under Windows using MinGW
# ----------------------------------------------------
# You can build olsrd.exe using MinGW on either Windows or GNU/Linux.
# For MinGW on Windows, run this in the msys shell:
#
#   cd olsrd
#   make clean_all
#   make build_all OS=win32
#
# MinGW also runs on GNU/Linux so you can build Windows binaries on
# any GNU/Linux machine.  It is especially easy on a
# Debian/Ubuntu/Mint system:
#
#   sudo apt-get install mingw32 flex bison make
#   cd olsrd
#   make clean_all
#   CC=i586-mingw32msvc-gcc make build_all OS=win32

64-bit (Buggy - proceed at your own risk)_

  1. The version of mingw-w64 in the Debian Wheezy repository has a bug (fixed in changeset 5386) which causes problems for us, so we need to use a newer version.

  2. > apt-get install dpkg-cross bison flex

  3. Download and unzip olsrd where you want to work. The OTI olsrd will work just as well and includes more plugins.

  4. Change to the olsrd directory.

  5. > CC=i686-w64-mingw32-gcc make build_all OS=win32

Preparing the Windows development environment

Platform: Windows 7 Professional

  1. Install Git for Windows

  2. Install the python.org Python 2.7.5

  3. setup your path variables, e.g. adding C:\Python27 and C:\Python27\Scripts

  4. Install the pywin32 Python extension

  5. Install the WMI Python extension

  6. Install the Comtypes Python extension

  7. Install PyGTK using an all-in-one installer

  8. Install setuptools via these directions: Install or Upgrade Setuptools

  9. Install pip via these directions: Install or Upgrade pip

  10. Install pyjavaproperties via pip: pip install pyjavaproperties

  11. Install pyinstaller via pip: pip install pyinstaller

Building winmesh.exe

  1. git clone this repo

  2. cd commotion-winmesh

  3. git submodule init

  4. git submodule update to pull in dependencies

To make a development build with console, run:

pyinstaller --manifest=manifest.xml winmesh.spec

To make a release build that hides the console, run:

build.bat

Copy the olsrd binary and plugins (if applicable) that were compiled in the first step into commotion-winmesh/olsrd

olsrd.conf

  • Paths to plugins must be specified relative to olsrd.exe. We keep olsrd.exe and all the plugin .dll files in the olsrd subdirectory.
  • The main script generates a new [ssid].olsrd.conf file locally for each profile. To make changes for all profiles, edit templates/olsrd.conf.py.

General notes / Issues

  • OLSRd will preemptively disable ICMP redirect processing in the registry on first run. It's not an option, and OLSRd doesn't give any advance warning. Afterward, a reboot is required.

  • Windows Firewall will try to block olsrd.exe, you might need to restart the app and try connecting again after approving it

  • Windows will make you chose home/work/public when you join the network, this might cause issues

  • If the app crashes and you joined a mesh that was configured to have a static IP, you will be left in a "broken" network state, to get back online simply manually set your tcp/ip settings to DHCP

  • There may be an issue with the Administrator rights not sticking on first run. If you have trouble bringing up the mesh, try quitting and restarting

Credits

Commotion Winmesh was developed by Scal.io with the generous support of Open Technology Institute.

Something went wrong with that request. Please try again.