Platform: Debian Wheezy.
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
-
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.
-
> apt-get install dpkg-cross bison flex
-
Download and unzip olsrd where you want to work. The OTI olsrd will work just as well and includes more plugins.
-
Change to the olsrd directory.
-
> CC=i686-w64-mingw32-gcc make build_all OS=win32
Platform: Windows 7 Professional
-
Install Git for Windows
-
Install the python.org Python 2.7.5
-
setup your path variables, e.g. adding C:\Python27 and C:\Python27\Scripts
-
Install the pywin32 Python extension
-
Install the WMI Python extension
-
Install the Comtypes Python extension
-
Install PyGTK using an all-in-one installer
-
Install setuptools via these directions: Install or Upgrade Setuptools
-
Install pip via these directions: Install or Upgrade pip
-
Install pyjavaproperties via pip:
pip install pyjavaproperties
-
Install pyinstaller via pip:
pip install pyinstaller
-
git clone
this repo -
cd commotion-winmesh
-
git submodule init
-
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
The winmesh.exe binary and the .dlls on which it depends will be built in commotion-winmesh/dist/winmesh.
Copy the olsrd binary and plugins (if applicable) that were compiled in the first step into commotion-winmesh/dist/winmesh/olsrd
As an Administrator, execute commotion-winmesh/dist/winmesh/winmesh.exe
###olsrd.conf
- Paths to plugins must be specified relative to
olsrd.exe
. We keepolsrd.exe
and all the plugin.dll
files in theolsrd
subdirectory. - The main script generates a new
[ssid].olsrd.conf
file locally for each profile. To make changes for all profiles, edittemplates/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.