<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.geosharing-project.org/wiki/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.geosharing-project.org/wiki/index.php?feed=atom&amp;target=Admin&amp;title=Special%3AContributions%2FAdmin</id>
		<title>GeoSharing - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.geosharing-project.org/wiki/index.php?feed=atom&amp;target=Admin&amp;title=Special%3AContributions%2FAdmin"/>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Special:Contributions/Admin"/>
		<updated>2026-05-05T09:51:27Z</updated>
		<subtitle>From GeoSharing</subtitle>
		<generator>MediaWiki 1.16.2</generator>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Main_Page"/>
				<updated>2011-06-13T14:19:36Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welcome to GeoSharing's wiki !'''&lt;br /&gt;
&lt;br /&gt;
A global description of the GeoSharing project can be found on our website : http://www.geosharing-project.org.&lt;br /&gt;
The GeoSharing project is a system allowing users to share their geographical position with other users. The system makes it possible for every user to see the displacements of other users on a map.&lt;br /&gt;
&lt;br /&gt;
On this wiki, you can find information about how [[How_To_Install|our system can be installed]] on your [[FreeRunner]] and how [[Run_GeoSharing|use GeoSharing]]. Feel free to participate !&lt;br /&gt;
&lt;br /&gt;
== The project ==&lt;br /&gt;
This work was part of Laurent Lamouline and Vincent Nuttin's master thesis. The original document can be found at  http://www.geosharing-project.org/files/public/The-GeoSharing-project_MasterThesis-2011-06-03.pdf.&lt;br /&gt;
&lt;br /&gt;
== Contact us ==&lt;br /&gt;
* http://contact.geosharing-project.org&lt;br /&gt;
* [mailto:contact@geosharing-project.org Contact@GeoSharing-project.org]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen4.png|300px]] [[File:Chap6-screen5.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Main_Page"/>
				<updated>2011-06-13T14:08:25Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* The project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welcome to GeoSharing's wiki !'''&lt;br /&gt;
&lt;br /&gt;
A global description of the GeoSharing project can be found on our website : http://www.geosharing-project.org.&lt;br /&gt;
The GeoSharing project is a system allowing users to share their geographical position with other users. The system makes it possible for every user to see the displacements of other users on a map.&lt;br /&gt;
&lt;br /&gt;
On this wiki, you can find information about how [[How_To_Install|our system can be installed]] on your [[FreeRunner]] and how [[Run_GeoSharing|use GeoSharing]]. Feel free to participate !&lt;br /&gt;
&lt;br /&gt;
== The project ==&lt;br /&gt;
This work was part of the master thesis of Laurent Lamouline and Vincent Nuttin. The original document can be found at  http://www.geosharing-project.org/files/public/The-GeoSharing-project_MasterThesis-2011-06-03.pdf.&lt;br /&gt;
&lt;br /&gt;
== Contact us ==&lt;br /&gt;
* http://contact.geosharing-project.org&lt;br /&gt;
* [mailto:contact@geosharing-project.org Contact@GeoSharing-project.org]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen4.png|300px]] [[File:Chap6-screen5.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Main_Page"/>
				<updated>2011-06-13T14:06:30Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welcome to GeoSharing's wiki !'''&lt;br /&gt;
&lt;br /&gt;
A global description of the GeoSharing project can be found on our website : http://www.geosharing-project.org.&lt;br /&gt;
The GeoSharing project is a system allowing users to share their geographical position with other users. The system makes it possible for every user to see the displacements of other users on a map.&lt;br /&gt;
&lt;br /&gt;
On this wiki, you can find information about how [[How_To_Install|our system can be installed]] on your [[FreeRunner]] and how [[Run_GeoSharing|use GeoSharing]]. Feel free to participate !&lt;br /&gt;
&lt;br /&gt;
== The project ==&lt;br /&gt;
This work was part of the master thesis of Laurent Lamouline and Vincent Nuttin. The original document can be found at http://masterthesis.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
== Contact us ==&lt;br /&gt;
* http://contact.geosharing-project.org&lt;br /&gt;
* [mailto:contact@geosharing-project.org Contact@GeoSharing-project.org]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen4.png|300px]] [[File:Chap6-screen5.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Main_Page"/>
				<updated>2011-06-13T13:22:35Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welcome to GeoSharing's wiki !'''&lt;br /&gt;
&lt;br /&gt;
A global description of the GeoSharing project can be found on our website : http://www.geosharing-project.org.&lt;br /&gt;
The GeoSharing project is a system allowing users to share their geographical position with other users. The system makes it possible for every user to see the displacements of other users on a map.&lt;br /&gt;
&lt;br /&gt;
On this wiki, you can find information about how [[How_To_Install|our system can be installed]] on your [[FreeRunner]] and how [[Run_GeoSharing|use GeoSharing]]. Feel free to participate !&lt;br /&gt;
&lt;br /&gt;
== Contact us ==&lt;br /&gt;
* http://contact.geosharing-project.org&lt;br /&gt;
* [mailto:contact@geosharing-project.org Contact@GeoSharing-project.org]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen4.png|300px]] [[File:Chap6-screen5.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T13:11:21Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the [[FreeRunner|Opemoko Neo FreeRunner (GTA02)]]. The second part describes the technical steps to follow in order to install the GeoSharing project on the [[FreeRunner|Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the # character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a '''ping''' to '''www.google.com''' and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg update&lt;br /&gt;
 root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
 root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev&lt;br /&gt;
                   libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev&lt;br /&gt;
                   libexif-dev libconfig-dev&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
=== OLSRd Linux daemon ===&lt;br /&gt;
The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
&lt;br /&gt;
5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
&lt;br /&gt;
6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
7) The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
9) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The OLSRd daemon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf'''. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
&lt;br /&gt;
1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	# no option&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
=== TangoGPS application ===&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
&lt;br /&gt;
2) On the computer, download the latest version of tangoGPS-modified from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
3) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
4) From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
5) On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd tangogps&lt;br /&gt;
 root@om-gta02 ~ # sh configure&lt;br /&gt;
 root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
=== WEP security ===&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as '''eth0'''. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the '''VI''' editor can be used to edit the file located at '''/etc/network/interfaces''' accordingly.&lt;br /&gt;
&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
 	address 10.0.0.1&lt;br /&gt;
 	netmask 255.0.0.0&lt;br /&gt;
 	network 10.0.0.0&lt;br /&gt;
 	wireless-mode ad-hoc&lt;br /&gt;
 	wireless-essid GeoSharing&lt;br /&gt;
 	wireless-key F4C3DEB3BE &lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=== GeoSharing ===&lt;br /&gt;
Now that OLSRd Linux daemon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the latest version of the GeoSharing application from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) From the computer, copy the entire geo_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the run_geosharing.sh script from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
5) From the computer, copy the run_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 cd /home/root/&lt;br /&gt;
 CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
 &lt;br /&gt;
 if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
 	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
 	ifconfig eth0 up&lt;br /&gt;
 	/etc/init.d/networking restart&lt;br /&gt;
 else&lt;br /&gt;
 	echo WiFi is already up !&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p /dev/net&lt;br /&gt;
 mknod /dev/net/tun c 10 200&lt;br /&gt;
 chmod 0700 /dev/net/tun&lt;br /&gt;
 olsrd&lt;br /&gt;
 &lt;br /&gt;
 cd /home/root/geo_sharing/&lt;br /&gt;
 make&lt;br /&gt;
 clear&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
Two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using '''VI''', edit the script '''run_geosharing.sh''' and replace the last line:&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m tcp&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run_geosharing.sh script, the tangoGPS configuration file (located at '''/etc/tangogps_plugins.conf''') has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
 # TangoGPS Plugins Interface&lt;br /&gt;
 nbr_plugins = 1;&lt;br /&gt;
 &lt;br /&gt;
 Plugin1 = {&lt;br /&gt;
 	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
 	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
 	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
 	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;br /&gt;
&lt;br /&gt;
Information about using the application can be found [[Run_GeoSharing|here]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T13:10:51Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the [[FreeRunner|Opemoko Neo FreeRunner (GTA02)]]. The second part describes the technical steps to follow in order to install the GeoSharing project on the [[FreeRunner|Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the # character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a '''ping''' to '''www.google.com''' and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg update&lt;br /&gt;
 root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
 root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev&lt;br /&gt;
                   libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
=== OLSRd Linux daemon ===&lt;br /&gt;
The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
&lt;br /&gt;
5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
&lt;br /&gt;
6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
7) The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
9) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The OLSRd daemon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf'''. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
&lt;br /&gt;
1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	# no option&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
=== TangoGPS application ===&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
&lt;br /&gt;
2) On the computer, download the latest version of tangoGPS-modified from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
3) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
4) From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
5) On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd tangogps&lt;br /&gt;
 root@om-gta02 ~ # sh configure&lt;br /&gt;
 root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
=== WEP security ===&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as '''eth0'''. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the '''VI''' editor can be used to edit the file located at '''/etc/network/interfaces''' accordingly.&lt;br /&gt;
&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
 	address 10.0.0.1&lt;br /&gt;
 	netmask 255.0.0.0&lt;br /&gt;
 	network 10.0.0.0&lt;br /&gt;
 	wireless-mode ad-hoc&lt;br /&gt;
 	wireless-essid GeoSharing&lt;br /&gt;
 	wireless-key F4C3DEB3BE &lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=== GeoSharing ===&lt;br /&gt;
Now that OLSRd Linux daemon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the latest version of the GeoSharing application from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) From the computer, copy the entire geo_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the run_geosharing.sh script from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
5) From the computer, copy the run_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 cd /home/root/&lt;br /&gt;
 CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
 &lt;br /&gt;
 if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
 	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
 	ifconfig eth0 up&lt;br /&gt;
 	/etc/init.d/networking restart&lt;br /&gt;
 else&lt;br /&gt;
 	echo WiFi is already up !&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p /dev/net&lt;br /&gt;
 mknod /dev/net/tun c 10 200&lt;br /&gt;
 chmod 0700 /dev/net/tun&lt;br /&gt;
 olsrd&lt;br /&gt;
 &lt;br /&gt;
 cd /home/root/geo_sharing/&lt;br /&gt;
 make&lt;br /&gt;
 clear&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
Two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using '''VI''', edit the script '''run_geosharing.sh''' and replace the last line:&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m tcp&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run_geosharing.sh script, the tangoGPS configuration file (located at '''/etc/tangogps_plugins.conf''') has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
 # TangoGPS Plugins Interface&lt;br /&gt;
 nbr_plugins = 1;&lt;br /&gt;
 &lt;br /&gt;
 Plugin1 = {&lt;br /&gt;
 	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
 	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
 	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
 	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;br /&gt;
&lt;br /&gt;
Information about using the application can be found [[Run_GeoSharing|here]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Links</id>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Links"/>
				<updated>2011-06-13T13:04:13Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are some links that can be usefull:&lt;br /&gt;
&lt;br /&gt;
* http://itouchmap.com/latlong.html - Matching between geographical coordinates and place on Earth.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Run_GeoSharing</id>
		<title>Run GeoSharing</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Run_GeoSharing"/>
				<updated>2011-06-13T13:02:58Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From an end-user standpoint, the GeoSharing application is easy to use. When the Neo FreeRunner is booted on the SHR operating system (and if the [[How_To_Install|GeoSharing application is installed]]), the main screen displays icons of already installed applications. The user can choose to launch different applications such as the dialer, settings, a terminal, etc. One of those applications is tangoGPS. This application is called '''GPS &amp;amp; Maps''' on the main screen. If the user clicks on the '''GPS &amp;amp; Maps''' icon, tangoGPS is launched and a loading message appears at the bottom of the screen until tangoGPS is runnning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen1.png|300px]] [[File:Chap6-screen2.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once tangoGPS is running, the user can see the map of the Earth. Usual features such as zoom in and zoom out are accessible in the black bar on top of the screen. A brief press on the screen makes the menu appear. This menu shows several entries. In the sub-menu of the '''Plugins''' entry, the user can select '''GeoSharing'''. When the button is clicked, tangoGPS launches the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen3.png|300px]] [[File:Chap6-screen4.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are other devices running the GeoSharing application in the radio range, the application running on the user's device automatically connects to the network. The application also begins to share the position of the device with the other users and displays the other users positions on the map.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen5.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T13:01:56Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the [[FreeRunner|Opemoko Neo FreeRunner (GTA02)]]. The second part describes the technical steps to follow in order to install the GeoSharing project on the [[FreeRunner|Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the # character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a '''ping''' to '''www.google.com''' and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg update&lt;br /&gt;
 root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
 root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
=== OLSRd Linux daemon ===&lt;br /&gt;
The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
&lt;br /&gt;
5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
&lt;br /&gt;
6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
7) The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
9) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The OLSRd daemon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf'''. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
&lt;br /&gt;
1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	# no option&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
=== TangoGPS application ===&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
&lt;br /&gt;
2) On the computer, download the latest version of tangoGPS-modified from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
3) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
4) From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
5) On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd tangogps&lt;br /&gt;
 root@om-gta02 ~ # sh configure&lt;br /&gt;
 root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
=== WEP security ===&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as '''eth0'''. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the '''VI''' editor can be used to edit the file located at '''/etc/network/interfaces''' accordingly.&lt;br /&gt;
&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
 	address 10.0.0.1&lt;br /&gt;
 	netmask 255.0.0.0&lt;br /&gt;
 	network 10.0.0.0&lt;br /&gt;
 	wireless-mode ad-hoc&lt;br /&gt;
 	wireless-essid GeoSharing&lt;br /&gt;
 	wireless-key F4C3DEB3BE &lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=== GeoSharing ===&lt;br /&gt;
Now that OLSRd Linux daemon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the latest version of the GeoSharing application from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) From the computer, copy the entire geo_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the run_geosharing.sh script from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
5) From the computer, copy the run_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 cd /home/root/&lt;br /&gt;
 CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
 &lt;br /&gt;
 if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
 	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
 	ifconfig eth0 up&lt;br /&gt;
 	/etc/init.d/networking restart&lt;br /&gt;
 else&lt;br /&gt;
 	echo WiFi is already up !&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p /dev/net&lt;br /&gt;
 mknod /dev/net/tun c 10 200&lt;br /&gt;
 chmod 0700 /dev/net/tun&lt;br /&gt;
 olsrd&lt;br /&gt;
 &lt;br /&gt;
 cd /home/root/geo_sharing/&lt;br /&gt;
 make&lt;br /&gt;
 clear&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
Two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using '''VI''', edit the script '''run_geosharing.sh''' and replace the last line:&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m tcp&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run_geosharing.sh script, the tangoGPS configuration file (located at '''/etc/tangogps_plugins.conf''') has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
 # TangoGPS Plugins Interface&lt;br /&gt;
 nbr_plugins = 1;&lt;br /&gt;
 &lt;br /&gt;
 Plugin1 = {&lt;br /&gt;
 	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
 	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
 	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
 	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;br /&gt;
&lt;br /&gt;
Information about using the application can be found [[Run_GeoSharing|here]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T13:01:18Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the [[FreeRunner|Opemoko Neo FreeRunner (GTA02)]]. The second part describes the technical steps to follow in order to install the GeoSharing project on the [[FreeRunner|Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the # character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a '''ping''' to '''www.google.com''' and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg update&lt;br /&gt;
 root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
 root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
=== OLSRd Linux daemon ===&lt;br /&gt;
The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
&lt;br /&gt;
5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
&lt;br /&gt;
6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
7) The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
9) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The OLSRd daemon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf'''. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
&lt;br /&gt;
1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	# no option&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
=== TangoGPS application ===&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
&lt;br /&gt;
2) On the computer, download the latest version of tangoGPS-modified from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
3) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
4) From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
5) On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd tangogps&lt;br /&gt;
 root@om-gta02 ~ # sh configure&lt;br /&gt;
 root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
=== WEP security ===&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as '''eth0'''. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the '''VI''' editor can be used to edit the file located at '''/etc/network/interfaces''' accordingly.&lt;br /&gt;
&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
 	address 10.0.0.1&lt;br /&gt;
 	netmask 255.0.0.0&lt;br /&gt;
 	network 10.0.0.0&lt;br /&gt;
 	wireless-mode ad-hoc&lt;br /&gt;
 	wireless-essid GeoSharing&lt;br /&gt;
 	wireless-key F4C3DEB3BE &lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=== GeoSharing ===&lt;br /&gt;
Now that OLSRd Linux daemon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the latest version of the GeoSharing application from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) From the computer, copy the entire geo_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the run_geosharing.sh script from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
5) From the computer, copy the run_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 cd /home/root/&lt;br /&gt;
 CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
 &lt;br /&gt;
 if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
 	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
 	ifconfig eth0 up&lt;br /&gt;
 	/etc/init.d/networking restart&lt;br /&gt;
 else&lt;br /&gt;
 	echo WiFi is already up !&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p /dev/net&lt;br /&gt;
 mknod /dev/net/tun c 10 200&lt;br /&gt;
 chmod 0700 /dev/net/tun&lt;br /&gt;
 olsrd&lt;br /&gt;
 &lt;br /&gt;
 cd /home/root/geo_sharing/&lt;br /&gt;
 make&lt;br /&gt;
 clear&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
Two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using '''VI''', edit the script '''run_geosharing.sh''' and replace the last line:&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m tcp&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run_geosharing.sh script, the tangoGPS configuration file (located at '''/etc/tangogps_plugins.conf''') has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
 # TangoGPS Plugins Interface&lt;br /&gt;
 nbr_plugins = 1;&lt;br /&gt;
 &lt;br /&gt;
 Plugin1 = {&lt;br /&gt;
 	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
 	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
 	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
 	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T13:00:52Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the Opemoko Neo FreeRunner (GTA02). The second part describes the technical steps to follow in order to install the GeoSharing project on the [[FreeRunner|Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the # character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a '''ping''' to '''www.google.com''' and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg update&lt;br /&gt;
 root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
 root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
=== OLSRd Linux daemon ===&lt;br /&gt;
The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
&lt;br /&gt;
5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
&lt;br /&gt;
6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
7) The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
9) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The OLSRd daemon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf'''. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
&lt;br /&gt;
1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	# no option&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
=== TangoGPS application ===&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
&lt;br /&gt;
2) On the computer, download the latest version of tangoGPS-modified from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
3) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
4) From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
5) On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd tangogps&lt;br /&gt;
 root@om-gta02 ~ # sh configure&lt;br /&gt;
 root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
=== WEP security ===&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as '''eth0'''. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the '''VI''' editor can be used to edit the file located at '''/etc/network/interfaces''' accordingly.&lt;br /&gt;
&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
 	address 10.0.0.1&lt;br /&gt;
 	netmask 255.0.0.0&lt;br /&gt;
 	network 10.0.0.0&lt;br /&gt;
 	wireless-mode ad-hoc&lt;br /&gt;
 	wireless-essid GeoSharing&lt;br /&gt;
 	wireless-key F4C3DEB3BE &lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=== GeoSharing ===&lt;br /&gt;
Now that OLSRd Linux daemon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the latest version of the GeoSharing application from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) From the computer, copy the entire geo_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the run_geosharing.sh script from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
5) From the computer, copy the run_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 cd /home/root/&lt;br /&gt;
 CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
 &lt;br /&gt;
 if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
 	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
 	ifconfig eth0 up&lt;br /&gt;
 	/etc/init.d/networking restart&lt;br /&gt;
 else&lt;br /&gt;
 	echo WiFi is already up !&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p /dev/net&lt;br /&gt;
 mknod /dev/net/tun c 10 200&lt;br /&gt;
 chmod 0700 /dev/net/tun&lt;br /&gt;
 olsrd&lt;br /&gt;
 &lt;br /&gt;
 cd /home/root/geo_sharing/&lt;br /&gt;
 make&lt;br /&gt;
 clear&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
Two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using '''VI''', edit the script '''run_geosharing.sh''' and replace the last line:&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m tcp&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run_geosharing.sh script, the tangoGPS configuration file (located at '''/etc/tangogps_plugins.conf''') has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
 # TangoGPS Plugins Interface&lt;br /&gt;
 nbr_plugins = 1;&lt;br /&gt;
 &lt;br /&gt;
 Plugin1 = {&lt;br /&gt;
 	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
 	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
 	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
 	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Main_Page"/>
				<updated>2011-06-13T12:59:56Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welcome to GeoSharing's wiki !'''&lt;br /&gt;
&lt;br /&gt;
A global description of the GeoSharing project can be found on our website : http://www.geosharing-project.org.&lt;br /&gt;
The GeoSharing project is a system allowing users to share their geographical position with other users. The system makes it possible for every user to see the displacements of other users on a map.&lt;br /&gt;
&lt;br /&gt;
On this wiki, you can find information about how [[How_To_Install|our system can be installed]] on your [[FreeRunner]]. Feel free to participate !&lt;br /&gt;
&lt;br /&gt;
== Contact us ==&lt;br /&gt;
* http://contact.geosharing-project.org&lt;br /&gt;
* [mailto:contact@geosharing-project.org Contact@GeoSharing-project.org]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen4.png|300px]] [[File:Chap6-screen5.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Main_Page"/>
				<updated>2011-06-13T12:59:23Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welcome to GeoSharing's wiki !'''&lt;br /&gt;
&lt;br /&gt;
A global description of the GeoSharing project can be found on our website : http://www.geosharing-project.org.&lt;br /&gt;
The GeoSharing project is a system allowing users to share their geographical position with other users. The system makes it possible for every user to see the displacements of other users on a map.&lt;br /&gt;
&lt;br /&gt;
On this wiki, you can find information about how [[How_To_Install|our system can be installed]] on your [[FreeRunner|FreeRunner]]. Feel free to participate !&lt;br /&gt;
&lt;br /&gt;
== Contact us ==&lt;br /&gt;
* http://contact.geosharing-project.org&lt;br /&gt;
* [mailto:contact@geosharing-project.org Contact@GeoSharing-project.org]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen4.png|300px]] [[File:Chap6-screen5.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T12:58:57Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the Opemoko Neo FreeRunner (GTA02). The second part describes the technical steps to follow in order to install the GeoSharing project on the [[Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the # character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a '''ping''' to '''www.google.com''' and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg update&lt;br /&gt;
 root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
 root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
=== OLSRd Linux daemon ===&lt;br /&gt;
The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
&lt;br /&gt;
5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
&lt;br /&gt;
6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
7) The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
9) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The OLSRd daemon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf'''. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
&lt;br /&gt;
1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	# no option&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
=== TangoGPS application ===&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
&lt;br /&gt;
2) On the computer, download the latest version of tangoGPS-modified from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
3) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
4) From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
5) On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd tangogps&lt;br /&gt;
 root@om-gta02 ~ # sh configure&lt;br /&gt;
 root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
=== WEP security ===&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as '''eth0'''. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the '''VI''' editor can be used to edit the file located at '''/etc/network/interfaces''' accordingly.&lt;br /&gt;
&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
 	address 10.0.0.1&lt;br /&gt;
 	netmask 255.0.0.0&lt;br /&gt;
 	network 10.0.0.0&lt;br /&gt;
 	wireless-mode ad-hoc&lt;br /&gt;
 	wireless-essid GeoSharing&lt;br /&gt;
 	wireless-key F4C3DEB3BE &lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=== GeoSharing ===&lt;br /&gt;
Now that OLSRd Linux daemon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the latest version of the GeoSharing application from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) From the computer, copy the entire geo_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the run_geosharing.sh script from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
5) From the computer, copy the run_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 cd /home/root/&lt;br /&gt;
 CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
 &lt;br /&gt;
 if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
 	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
 	ifconfig eth0 up&lt;br /&gt;
 	/etc/init.d/networking restart&lt;br /&gt;
 else&lt;br /&gt;
 	echo WiFi is already up !&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p /dev/net&lt;br /&gt;
 mknod /dev/net/tun c 10 200&lt;br /&gt;
 chmod 0700 /dev/net/tun&lt;br /&gt;
 olsrd&lt;br /&gt;
 &lt;br /&gt;
 cd /home/root/geo_sharing/&lt;br /&gt;
 make&lt;br /&gt;
 clear&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
Two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using '''VI''', edit the script '''run_geosharing.sh''' and replace the last line:&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m tcp&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run_geosharing.sh script, the tangoGPS configuration file (located at '''/etc/tangogps_plugins.conf''') has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
 # TangoGPS Plugins Interface&lt;br /&gt;
 nbr_plugins = 1;&lt;br /&gt;
 &lt;br /&gt;
 Plugin1 = {&lt;br /&gt;
 	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
 	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
 	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
 	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Run_GeoSharing</id>
		<title>Run GeoSharing</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Run_GeoSharing"/>
				<updated>2011-06-13T12:56:56Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From an end-user standpoint, the GeoSharing application is easy to use. When the Neo FreeRunner is booted on the SHR operating system, the main screen displays icons of already installed applications. The user can choose to launch different applications such as the dialer, settings, a terminal, etc. One of those applications is tangoGPS. This application is called '''GPS &amp;amp; Maps''' on the main screen. If the user clicks on the '''GPS &amp;amp; Maps''' icon, tangoGPS is launched and a loading message appears at the bottom of the screen until tangoGPS is runnning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen1.png|300px]] [[File:Chap6-screen2.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once tangoGPS is running, the user can see the map of the Earth. Usual features such as zoom in and zoom out are accessible in the black bar on top of the screen. A brief press on the screen makes the menu appear. This menu shows several entries. In the sub-menu of the '''Plugins''' entry, the user can select '''GeoSharing'''. When the button is clicked, tangoGPS launches the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen3.png|300px]] [[File:Chap6-screen4.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are other devices running the GeoSharing application in the radio range, the application running on the user's device automatically connects to the network. The application also begins to share the position of the device with the other users and displays the other users positions on the map.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen5.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Run_GeoSharing</id>
		<title>Run GeoSharing</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Run_GeoSharing"/>
				<updated>2011-06-13T12:55:24Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From an end-user standpoint, the GeoSharing application is easy to use. When the Neo FreeRunner is booted on the SHR operating system, the main screen (shown on Figure~\ref{fig:screen1}) displays icons of already installed applications. The user can choose to launch different applications such as the dialer, settings, a terminal, etc. One of those applications is tangoGPS. This application is called '''GPS \&amp;amp; Maps''' on the main screen. If the user clicks on the '''GPS \&amp;amp; Maps''' icon, tangoGPS is launched and a loading message appears at the bottom of the screen until tangoGPS is runnning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen1.png|300px]] [[File:Chap6-screen2.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Main_Page"/>
				<updated>2011-06-13T12:55:10Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welcome to GeoSharing's wiki !'''&lt;br /&gt;
&lt;br /&gt;
A global description of the GeoSharing project can be found on our website : http://www.geosharing-project.org.&lt;br /&gt;
The GeoSharing project is a system allowing users to share their geographical position with other users. The system makes it possible for every user to see the displacements of other users on a map.&lt;br /&gt;
&lt;br /&gt;
On this wiki, you can find information about how [[How_To_Install|our system can be installed]] on your [[FreeRunner]]. Feel free to participate !&lt;br /&gt;
&lt;br /&gt;
== Contact us ==&lt;br /&gt;
* http://contact.geosharing-project.org&lt;br /&gt;
* [mailto:contact@geosharing-project.org Contact@GeoSharing-project.org]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen4.png|300px]] [[File:Chap6-screen5.png|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Links</id>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Links"/>
				<updated>2011-06-13T12:53:27Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;* http://itouchmap.com/latlong.html&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* http://itouchmap.com/latlong.html&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar"/>
				<updated>2011-06-13T12:53:20Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
* GeoSharing&lt;br /&gt;
** How_To_Install|Installation Manual&lt;br /&gt;
** Run_GeoSharing|Run GeoSharing&lt;br /&gt;
* Misc&lt;br /&gt;
** Links|Links&lt;br /&gt;
* SEARCH&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar"/>
				<updated>2011-06-13T12:52:57Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
* GeoSharing&lt;br /&gt;
** How_To_Install|Installation Manual&lt;br /&gt;
** Run_GeoSharing|Run GeoSharing&lt;br /&gt;
* Misc&lt;br /&gt;
** Links&lt;br /&gt;
* SEARCH&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T12:51:29Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the Opemoko Neo FreeRunner (GTA02). The second part describes the technical steps to follow in order to install the GeoSharing project on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the # character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a '''ping''' to '''www.google.com''' and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg update&lt;br /&gt;
 root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
 root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
=== OLSRd Linux daemon ===&lt;br /&gt;
The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
&lt;br /&gt;
5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
&lt;br /&gt;
6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
7) The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
9) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The OLSRd daemon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf'''. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
&lt;br /&gt;
1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	# no option&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
=== TangoGPS application ===&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
&lt;br /&gt;
2) On the computer, download the latest version of tangoGPS-modified from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
3) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
4) From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
5) On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd tangogps&lt;br /&gt;
 root@om-gta02 ~ # sh configure&lt;br /&gt;
 root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
=== WEP security ===&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as '''eth0'''. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the '''VI''' editor can be used to edit the file located at '''/etc/network/interfaces''' accordingly.&lt;br /&gt;
&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
 	address 10.0.0.1&lt;br /&gt;
 	netmask 255.0.0.0&lt;br /&gt;
 	network 10.0.0.0&lt;br /&gt;
 	wireless-mode ad-hoc&lt;br /&gt;
 	wireless-essid GeoSharing&lt;br /&gt;
 	wireless-key F4C3DEB3BE &lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=== GeoSharing ===&lt;br /&gt;
Now that OLSRd Linux daemon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the latest version of the GeoSharing application from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) From the computer, copy the entire geo_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the run_geosharing.sh script from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
5) From the computer, copy the run_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 cd /home/root/&lt;br /&gt;
 CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
 &lt;br /&gt;
 if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
 	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
 	ifconfig eth0 up&lt;br /&gt;
 	/etc/init.d/networking restart&lt;br /&gt;
 else&lt;br /&gt;
 	echo WiFi is already up !&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p /dev/net&lt;br /&gt;
 mknod /dev/net/tun c 10 200&lt;br /&gt;
 chmod 0700 /dev/net/tun&lt;br /&gt;
 olsrd&lt;br /&gt;
 &lt;br /&gt;
 cd /home/root/geo_sharing/&lt;br /&gt;
 make&lt;br /&gt;
 clear&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
Two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using '''VI''', edit the script '''run_geosharing.sh''' and replace the last line:&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m tcp&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run_geosharing.sh script, the tangoGPS configuration file (located at '''/etc/tangogps_plugins.conf''') has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
 # TangoGPS Plugins Interface&lt;br /&gt;
 nbr_plugins = 1;&lt;br /&gt;
 &lt;br /&gt;
 Plugin1 = {&lt;br /&gt;
 	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
 	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
 	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
 	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T12:50:58Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the Opemoko Neo FreeRunner (GTA02). The second part describes the technical steps to follow in order to install the GeoSharing project on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the # character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a '''ping''' to '''www.google.com''' and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg update&lt;br /&gt;
 root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
 root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
=== OLSRd Linux daemon ===&lt;br /&gt;
The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
&lt;br /&gt;
5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
&lt;br /&gt;
6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
7) The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
9) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The OLSRd daemon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
&lt;br /&gt;
1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	# no option&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
=== TangoGPS application ===&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
&lt;br /&gt;
2) On the computer, download the latest version of tangoGPS-modified from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
3) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
4) From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
5) On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd tangogps&lt;br /&gt;
 root@om-gta02 ~ # sh configure&lt;br /&gt;
 root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
=== WEP security ===&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as '''eth0'''. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the '''VI''' editor can be used to edit the file located at '''/etc/network/interfaces''' accordingly.&lt;br /&gt;
&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
 	address 10.0.0.1&lt;br /&gt;
 	netmask 255.0.0.0&lt;br /&gt;
 	network 10.0.0.0&lt;br /&gt;
 	wireless-mode ad-hoc&lt;br /&gt;
 	wireless-essid GeoSharing&lt;br /&gt;
 	wireless-key F4C3DEB3BE &lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=== GeoSharing ===&lt;br /&gt;
Now that OLSRd Linux daemon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the latest version of the GeoSharing application from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) From the computer, copy the entire geo_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the run_geosharing.sh script from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
5) From the computer, copy the run_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 cd /home/root/&lt;br /&gt;
 CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
 &lt;br /&gt;
 if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
 	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
 	ifconfig eth0 up&lt;br /&gt;
 	/etc/init.d/networking restart&lt;br /&gt;
 else&lt;br /&gt;
 	echo WiFi is already up !&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p /dev/net&lt;br /&gt;
 mknod /dev/net/tun c 10 200&lt;br /&gt;
 chmod 0700 /dev/net/tun&lt;br /&gt;
 olsrd&lt;br /&gt;
 &lt;br /&gt;
 cd /home/root/geo_sharing/&lt;br /&gt;
 make&lt;br /&gt;
 clear&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
Two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using '''VI''', edit the script '''run_geosharing.sh''' and replace the last line:&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m tcp&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run_geosharing.sh script, the tangoGPS configuration file (located at '''/etc/tangogps_plugins.conf''') has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
 # TangoGPS Plugins Interface&lt;br /&gt;
 nbr_plugins = 1;&lt;br /&gt;
 &lt;br /&gt;
 Plugin1 = {&lt;br /&gt;
 	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
 	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
 	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
 	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Main_Page"/>
				<updated>2011-06-13T12:50:22Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welcome to GeoSharing's wiki !'''&lt;br /&gt;
&lt;br /&gt;
A global description of the GeoSharing project can be found on our website : http://www.geosharing-project.org.&lt;br /&gt;
The GeoSharing project is a system allowing users to share their geographical position with other users. The system makes it possible for every user to see the displacements of other users on a map.&lt;br /&gt;
&lt;br /&gt;
On this wiki, you can find information about how [[How_To_Install|our system can be installed]] on your [[FreeRunner]]. Feel free to participate !&lt;br /&gt;
&lt;br /&gt;
== Contact us ==&lt;br /&gt;
* http://contact.geosharing-project.org&lt;br /&gt;
* [mailto:contact@geosharing-project.org Contact@GeoSharing-project.org]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen4.png|350px]]    [[File:Chap6-screen5.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T12:50:11Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the Opemoko Neo FreeRunner (GTA02). The second part describes the technical steps to follow in order to install the GeoSharing project on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the # character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a '''ping''' to '''www.google.com''' and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg update&lt;br /&gt;
 root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
 root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
=== OLSRd Linux daemon ===&lt;br /&gt;
The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
&lt;br /&gt;
5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
&lt;br /&gt;
6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
7) The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
9) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The OLSRd daemon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	# no option&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
=== TangoGPS application ===&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
&lt;br /&gt;
2) On the computer, download the latest version of tangoGPS-modified from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
3) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
4) From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
5) On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd tangogps&lt;br /&gt;
 root@om-gta02 ~ # sh configure&lt;br /&gt;
 root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
=== WEP security ===&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as '''eth0'''. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the '''VI''' editor can be used to edit the file located at '''/etc/network/interfaces''' accordingly.&lt;br /&gt;
&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
 	address 10.0.0.1&lt;br /&gt;
 	netmask 255.0.0.0&lt;br /&gt;
 	network 10.0.0.0&lt;br /&gt;
 	wireless-mode ad-hoc&lt;br /&gt;
 	wireless-essid GeoSharing&lt;br /&gt;
 	wireless-key F4C3DEB3BE &lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=== GeoSharing ===&lt;br /&gt;
Now that OLSRd Linux daemon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the latest version of the GeoSharing application from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) From the computer, copy the entire geo_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the run_geosharing.sh script from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
5) From the computer, copy the run_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 cd /home/root/&lt;br /&gt;
 CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
 &lt;br /&gt;
 if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
 	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
 	ifconfig eth0 up&lt;br /&gt;
 	/etc/init.d/networking restart&lt;br /&gt;
 else&lt;br /&gt;
 	echo WiFi is already up !&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p /dev/net&lt;br /&gt;
 mknod /dev/net/tun c 10 200&lt;br /&gt;
 chmod 0700 /dev/net/tun&lt;br /&gt;
 olsrd&lt;br /&gt;
 &lt;br /&gt;
 cd /home/root/geo_sharing/&lt;br /&gt;
 make&lt;br /&gt;
 clear&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
Two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using '''VI''', edit the script '''run_geosharing.sh''' and replace the last line:&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m tcp&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run_geosharing.sh script, the tangoGPS configuration file (located at '''/etc/tangogps_plugins.conf''') has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
 # TangoGPS Plugins Interface&lt;br /&gt;
 nbr_plugins = 1;&lt;br /&gt;
 &lt;br /&gt;
 Plugin1 = {&lt;br /&gt;
 	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
 	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
 	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
 	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T12:45:43Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the Opemoko Neo FreeRunner (GTA02). The second part describes the technical steps to follow in order to install the GeoSharing project on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the # character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a \texttt{ping} to \texttt{www.google.com} and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg update&lt;br /&gt;
 root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
 root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
=== OLSRd Linux daemon ===&lt;br /&gt;
The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
&lt;br /&gt;
5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
&lt;br /&gt;
6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
7) The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
9) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The OLSRd daemon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
 	# no option&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
=== TangoGPS application ===&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
&lt;br /&gt;
2) On the computer, download the latest version of tangoGPS-modified from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
3) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
4) From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
5) On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd tangogps&lt;br /&gt;
 root@om-gta02 ~ # sh configure&lt;br /&gt;
 root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
=== WEP security ===&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as '''eth0'''. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the '''VI''' editor can be used to edit the file located at '''/etc/network/interfaces''' accordingly.&lt;br /&gt;
&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
 	address 10.0.0.1&lt;br /&gt;
 	netmask 255.0.0.0&lt;br /&gt;
 	network 10.0.0.0&lt;br /&gt;
 	wireless-mode ad-hoc&lt;br /&gt;
 	wireless-essid GeoSharing&lt;br /&gt;
 	wireless-key F4C3DEB3BE &lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=== GeoSharing ===&lt;br /&gt;
Now that OLSRd Linux daemon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the latest version of the GeoSharing application from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) From the computer, copy the entire geo_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the run_geosharing.sh script from http://download.geosharing-project.org.&lt;br /&gt;
&lt;br /&gt;
5) From the computer, copy the run_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 cd /home/root/&lt;br /&gt;
 CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
 &lt;br /&gt;
 if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
 	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
 	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
 	ifconfig eth0 up&lt;br /&gt;
 	/etc/init.d/networking restart&lt;br /&gt;
 else&lt;br /&gt;
 	echo WiFi is already up !&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p /dev/net&lt;br /&gt;
 mknod /dev/net/tun c 10 200&lt;br /&gt;
 chmod 0700 /dev/net/tun&lt;br /&gt;
 olsrd&lt;br /&gt;
 &lt;br /&gt;
 cd /home/root/geo_sharing/&lt;br /&gt;
 make&lt;br /&gt;
 clear&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
Two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using '''VI''', edit the script '''run_geosharing.sh''' and replace the last line:&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m dbus&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
 ./geo_sharing -m tcp&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run_geosharing.sh script, the tangoGPS configuration file (located at '''/etc/tangogps_plugins.conf''') has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
 # TangoGPS Plugins Interface&lt;br /&gt;
 nbr_plugins = 1;&lt;br /&gt;
 &lt;br /&gt;
 Plugin1 = {&lt;br /&gt;
 	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
 	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
 	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
 	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
* The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;br /&gt;
&lt;br /&gt;
* http://itouchmap.com/latlong.html&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T12:37:14Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the Opemoko Neo FreeRunner (GTA02). The second part describes the technical steps to follow in order to install the GeoSharing project on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the # character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a \texttt{ping} to \texttt{www.google.com} and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation} ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # opkg update&lt;br /&gt;
 root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
 root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
=== OLSRd Linux daemon ===&lt;br /&gt;
The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
&lt;br /&gt;
5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
&lt;br /&gt;
6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
7) The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
 $ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
&lt;br /&gt;
8) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The OLSRd daemon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
 root@om-gta02 ~ # make&lt;br /&gt;
 root@om-gta02 ~ # make install&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly.&lt;br /&gt;
&lt;br /&gt;
 LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
 {&lt;br /&gt;
	# no option&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
=== TangoGPS application ===&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But, as stated in Section~\ref{sec:choice+gui}, a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the computer, download the latest version of tangoGPS-modified from \linebreak[4	] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd tangogps&lt;br /&gt;
root@om-gta02 ~ # sh configure&lt;br /&gt;
root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # make&lt;br /&gt;
root@om-gta02 ~ # make install&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
\subsection{WEP security}\label{app:wep}&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as \texttt{eth0}. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the \texttt{VI} editor can be used to edit the file located at \texttt{/etc/network/interfaces} accordingly.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
	address 10.0.0.1&lt;br /&gt;
	netmask 255.0.0.0&lt;br /&gt;
	network 10.0.0.0&lt;br /&gt;
	wireless-mode ad-hoc&lt;br /&gt;
	wireless-essid GeoSharing&lt;br /&gt;
	wireless-key F4C3DEB3BE&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\subsection{GeoSharing}\label{app:geosharing+on+neo}&lt;br /&gt;
Now that OLSRd Linux d\ae mon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item On the computer, download the latest version of the GeoSharing application from \linebreak[4] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the entire geo\_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the computer, download the latest version of the run\_geosharing.sh script from \linebreak[4] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the run\_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it. &lt;br /&gt;
&lt;br /&gt;
As explained in Chapter~\ref{chap:GPS}, two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using \texttt{VI}, edit the script \texttt{run\_geosharing.sh} and replace the last line:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
./geo_sharing -m dbus&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
./geo_sharing -m tcp&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}[label=list:run,caption=The run\_geosharing.sh script is the entry point of the GeoSharing application.]&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
cd /home/root/&lt;br /&gt;
CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
&lt;br /&gt;
if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
	ifconfig eth0 up&lt;br /&gt;
	/etc/init.d/networking restart&lt;br /&gt;
else&lt;br /&gt;
	echo WiFi is already up !&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
&lt;br /&gt;
mkdir -p /dev/net&lt;br /&gt;
mknod /dev/net/tun c 10 200&lt;br /&gt;
chmod 0700 /dev/net/tun&lt;br /&gt;
olsrd&lt;br /&gt;
&lt;br /&gt;
cd /home/root/geo_sharing/&lt;br /&gt;
make&lt;br /&gt;
clear&lt;br /&gt;
./geo_sharing -m dbus&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
\begin{itemize}&lt;br /&gt;
	\item The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run\_geosharing.sh script, the tangoGPS configuration file (located at \texttt{/etc/tangogps\_plugins.conf}) has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
# TangoGPS Plugins Interface&lt;br /&gt;
nbr_plugins = 1;&lt;br /&gt;
&lt;br /&gt;
Plugin1 = {&lt;br /&gt;
	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	\item The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\chapter{Licence}\label{app:sec:licence}\index{Licence}&lt;br /&gt;
GeoSharing is distributed under the ``Creative Commons BY SA''\footnote{~\url{http://creativecommons.org/licenses/by-sa/3.0/legalcode}}\index{Creative Commons}.&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
\item You are free:&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
	\item to \textbf{Share} --- to copy, distribute and transmit the work&lt;br /&gt;
	\item to \textbf{Remix} --- to adapt the work&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
\item Under the following conditions:&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
\item \textbf{Attribution} --- You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).&lt;br /&gt;
\item \textbf{Share Alike} --- If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://itouchmap.com/latlong.html&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T12:29:32Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the Opemoko Neo FreeRunner (GTA02). The second part describes the technical steps to follow in order to install the GeoSharing project on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-1.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Neotool-2.png|170px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) On the computer, edit the file '''/etc/sysctl.conf'''&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
2) Look for the following line in this file:&lt;br /&gt;
&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the \# character if not already done).&lt;br /&gt;
&lt;br /&gt;
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). &lt;br /&gt;
&lt;br /&gt;
4) The computer have now to be rebooted.&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a \texttt{ping} to \texttt{www.google.com} and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
 PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
 64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
== GeoSharing project installation} ==&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux d\ae mon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler (\texttt{gcc}) and libraries (\texttt{libglib}, \texttt{libconfig}, \texttt{libgps}, etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}[label=packages,caption=Packages to install on the Neo FreeRunner.]&lt;br /&gt;
root@om-gta02 ~ # opkg update&lt;br /&gt;
&lt;br /&gt;
root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
&lt;br /&gt;
root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\subsection{OLSRd Linux d\ae mon}\label{app:olsrd+on+neo}&lt;br /&gt;
As stated in Section \ref{sec:tech:olsrd}, the compilation process of OLSRd requires \texttt{bison}\index{Bison} and \texttt{flex}\index{Flex} packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages (\texttt{bison} and \texttt{flex}) in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. \texttt{Bison} and \texttt{flex} are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages listed in Listing~\ref{packages} have been installed. In addition to them, \texttt{bison} and \texttt{flex} have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item On the computer, download the last stable release of OLSRd (*.tar.gz file) from \linebreak[4] \url{http://www.olsrd.org}. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
\item Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
\item At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
root@om-gta02 ~ # make&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
\item The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
root@om-gta02 ~ # make install&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
The OLSRd d\ae mon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd d\ae mon. On the Neo FreeRunner, open a terminal, go in the folder located at \texttt{/home/root/olsrd-0.6.0/lib/bmf}, compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
root@om-gta02 ~ # make&lt;br /&gt;
root@om-gta02 ~ # make install&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the d\ae mon to be fully effective is a configuration file. This file is located at \texttt{/etc/olsrd.conf}. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be \texttt{eth0}. On the Neo FreeRunner, the \texttt{VI} editor can be used to edit this file accordingly.&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\item In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the \texttt{VI} editor can be used to edit this file accordingly.&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
	# no option&lt;br /&gt;
}&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux d\ae mon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
\subsection{TangoGPS application}\label{app:tango}&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But, as stated in Section~\ref{sec:choice+gui}, a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the computer, download the latest version of tangoGPS-modified from \linebreak[4	] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd tangogps&lt;br /&gt;
root@om-gta02 ~ # sh configure&lt;br /&gt;
root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # make&lt;br /&gt;
root@om-gta02 ~ # make install&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
\subsection{WEP security}\label{app:wep}&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as \texttt{eth0}. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the \texttt{VI} editor can be used to edit the file located at \texttt{/etc/network/interfaces} accordingly.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
	address 10.0.0.1&lt;br /&gt;
	netmask 255.0.0.0&lt;br /&gt;
	network 10.0.0.0&lt;br /&gt;
	wireless-mode ad-hoc&lt;br /&gt;
	wireless-essid GeoSharing&lt;br /&gt;
	wireless-key F4C3DEB3BE&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\subsection{GeoSharing}\label{app:geosharing+on+neo}&lt;br /&gt;
Now that OLSRd Linux d\ae mon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item On the computer, download the latest version of the GeoSharing application from \linebreak[4] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the entire geo\_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the computer, download the latest version of the run\_geosharing.sh script from \linebreak[4] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the run\_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it. &lt;br /&gt;
&lt;br /&gt;
As explained in Chapter~\ref{chap:GPS}, two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using \texttt{VI}, edit the script \texttt{run\_geosharing.sh} and replace the last line:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
./geo_sharing -m dbus&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
./geo_sharing -m tcp&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}[label=list:run,caption=The run\_geosharing.sh script is the entry point of the GeoSharing application.]&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
cd /home/root/&lt;br /&gt;
CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
&lt;br /&gt;
if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
	ifconfig eth0 up&lt;br /&gt;
	/etc/init.d/networking restart&lt;br /&gt;
else&lt;br /&gt;
	echo WiFi is already up !&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
&lt;br /&gt;
mkdir -p /dev/net&lt;br /&gt;
mknod /dev/net/tun c 10 200&lt;br /&gt;
chmod 0700 /dev/net/tun&lt;br /&gt;
olsrd&lt;br /&gt;
&lt;br /&gt;
cd /home/root/geo_sharing/&lt;br /&gt;
make&lt;br /&gt;
clear&lt;br /&gt;
./geo_sharing -m dbus&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
\begin{itemize}&lt;br /&gt;
	\item The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run\_geosharing.sh script, the tangoGPS configuration file (located at \texttt{/etc/tangogps\_plugins.conf}) has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
# TangoGPS Plugins Interface&lt;br /&gt;
nbr_plugins = 1;&lt;br /&gt;
&lt;br /&gt;
Plugin1 = {&lt;br /&gt;
	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	\item The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\chapter{Licence}\label{app:sec:licence}\index{Licence}&lt;br /&gt;
GeoSharing is distributed under the ``Creative Commons BY SA''\footnote{~\url{http://creativecommons.org/licenses/by-sa/3.0/legalcode}}\index{Creative Commons}.&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
\item You are free:&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
	\item to \textbf{Share} --- to copy, distribute and transmit the work&lt;br /&gt;
	\item to \textbf{Remix} --- to adapt the work&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
\item Under the following conditions:&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
\item \textbf{Attribution} --- You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).&lt;br /&gt;
\item \textbf{Share Alike} --- If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://itouchmap.com/latlong.html&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T12:23:09Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the Opemoko Neo FreeRunner (GTA02). The second part describes the technical steps to follow in order to install the GeoSharing project on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
==== Via the network manager ====&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==== Without the network manager ====&lt;br /&gt;
- On the computer, open the file located at the following location: '''/etc/network/interfaces''' and add the following lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
- On the computer, restart the network service by running the following command as root:&lt;br /&gt;
 # /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
3) If an operational OS is running a SSH daemon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the SHR operating system on the Neo FreeRunner ===&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use '''neoTool''' on the computer. It is mandatory to install '''dfu-utils''' via the Synaptic Package Manager of the computer before running '''neoTool'''. The version of neoTool that have been used to realise this manual is the version 1.3.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured and the Neo FreeRunner must be booted on the NOR memory (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
1) The first step is to copy the bash script that can be found at http://users.on.net/~antisol/neotool into an empty file on the computer. Rename this file '''neoTool''' and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x neoTool&lt;br /&gt;
&lt;br /&gt;
2) The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ./neoTool&lt;br /&gt;
&lt;br /&gt;
3) The application is now running and the interface looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Neotool-1.png|150px]]&lt;br /&gt;
&lt;br /&gt;
4) On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing 2.6.29-oe11. Images of the SHR operating system can be found at http://build.shr-project.org/shr-testing/images/om-gta02/. Two files are required:&lt;br /&gt;
* lite-om-gta02.jffs2&lt;br /&gt;
* uImage-*.bin&lt;br /&gt;
	&lt;br /&gt;
5) In neoTool (which is running on the computer), select the second item '''Flash your Neo''' and click '''OK'''. The interface looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Neotool-2.png|150px]]&lt;br /&gt;
&lt;br /&gt;
On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
6) The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
7) Click on the OK button of neoTool to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
8) When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Internet connectivity ===&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item On the computer, edit the file \texttt{/etc/sysctl.conf}&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ gedit /etc/sysctl.conf&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item Look for the following line in this file:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
#net.ipv4.conf.default.forwarding=1&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the \# character if not already done).% This change will be effective at the next reboot of the computer.&lt;br /&gt;
&lt;br /&gt;
%\item The following command can be use to make the previous change effective directly:&lt;br /&gt;
%\begin{lstlisting}&lt;br /&gt;
%$ sudo sysctl -w net.ipv4.conf.default.forwarding = 1&lt;br /&gt;
%\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file \texttt{/etc/rc.local}:&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ gedit /etc/rc.local&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
/sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
/sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). %These changes also take effect only after a reboot. To make them effective directly, type the same command in a terminal by replacing \textbf{/sbin/} by \textbf{sudo}.&lt;br /&gt;
\item The computer have now to be rebooted.&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a \texttt{ping} to \texttt{www.google.com} and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
(...)&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\section{GeoSharing project installation}\label{app:geosharing+on+neo}&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux d\ae mon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler (\texttt{gcc}) and libraries (\texttt{libglib}, \texttt{libconfig}, \texttt{libgps}, etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}[label=packages,caption=Packages to install on the Neo FreeRunner.]&lt;br /&gt;
root@om-gta02 ~ # opkg update&lt;br /&gt;
&lt;br /&gt;
root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
&lt;br /&gt;
root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\subsection{OLSRd Linux d\ae mon}\label{app:olsrd+on+neo}&lt;br /&gt;
As stated in Section \ref{sec:tech:olsrd}, the compilation process of OLSRd requires \texttt{bison}\index{Bison} and \texttt{flex}\index{Flex} packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages (\texttt{bison} and \texttt{flex}) in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. \texttt{Bison} and \texttt{flex} are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages listed in Listing~\ref{packages} have been installed. In addition to them, \texttt{bison} and \texttt{flex} have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item On the computer, download the last stable release of OLSRd (*.tar.gz file) from \linebreak[4] \url{http://www.olsrd.org}. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
\item Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
\item At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
root@om-gta02 ~ # make&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
\item The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
root@om-gta02 ~ # make install&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
The OLSRd d\ae mon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd d\ae mon. On the Neo FreeRunner, open a terminal, go in the folder located at \texttt{/home/root/olsrd-0.6.0/lib/bmf}, compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
root@om-gta02 ~ # make&lt;br /&gt;
root@om-gta02 ~ # make install&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the d\ae mon to be fully effective is a configuration file. This file is located at \texttt{/etc/olsrd.conf}. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be \texttt{eth0}. On the Neo FreeRunner, the \texttt{VI} editor can be used to edit this file accordingly.&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\item In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the \texttt{VI} editor can be used to edit this file accordingly.&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
	# no option&lt;br /&gt;
}&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux d\ae mon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
\subsection{TangoGPS application}\label{app:tango}&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But, as stated in Section~\ref{sec:choice+gui}, a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the computer, download the latest version of tangoGPS-modified from \linebreak[4	] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd tangogps&lt;br /&gt;
root@om-gta02 ~ # sh configure&lt;br /&gt;
root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # make&lt;br /&gt;
root@om-gta02 ~ # make install&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
\subsection{WEP security}\label{app:wep}&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as \texttt{eth0}. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the \texttt{VI} editor can be used to edit the file located at \texttt{/etc/network/interfaces} accordingly.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
	address 10.0.0.1&lt;br /&gt;
	netmask 255.0.0.0&lt;br /&gt;
	network 10.0.0.0&lt;br /&gt;
	wireless-mode ad-hoc&lt;br /&gt;
	wireless-essid GeoSharing&lt;br /&gt;
	wireless-key F4C3DEB3BE&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\subsection{GeoSharing}\label{app:geosharing+on+neo}&lt;br /&gt;
Now that OLSRd Linux d\ae mon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item On the computer, download the latest version of the GeoSharing application from \linebreak[4] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the entire geo\_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the computer, download the latest version of the run\_geosharing.sh script from \linebreak[4] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the run\_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it. &lt;br /&gt;
&lt;br /&gt;
As explained in Chapter~\ref{chap:GPS}, two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using \texttt{VI}, edit the script \texttt{run\_geosharing.sh} and replace the last line:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
./geo_sharing -m dbus&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
./geo_sharing -m tcp&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}[label=list:run,caption=The run\_geosharing.sh script is the entry point of the GeoSharing application.]&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
cd /home/root/&lt;br /&gt;
CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
&lt;br /&gt;
if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
	ifconfig eth0 up&lt;br /&gt;
	/etc/init.d/networking restart&lt;br /&gt;
else&lt;br /&gt;
	echo WiFi is already up !&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
&lt;br /&gt;
mkdir -p /dev/net&lt;br /&gt;
mknod /dev/net/tun c 10 200&lt;br /&gt;
chmod 0700 /dev/net/tun&lt;br /&gt;
olsrd&lt;br /&gt;
&lt;br /&gt;
cd /home/root/geo_sharing/&lt;br /&gt;
make&lt;br /&gt;
clear&lt;br /&gt;
./geo_sharing -m dbus&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
\begin{itemize}&lt;br /&gt;
	\item The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run\_geosharing.sh script, the tangoGPS configuration file (located at \texttt{/etc/tangogps\_plugins.conf}) has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
# TangoGPS Plugins Interface&lt;br /&gt;
nbr_plugins = 1;&lt;br /&gt;
&lt;br /&gt;
Plugin1 = {&lt;br /&gt;
	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	\item The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\chapter{Licence}\label{app:sec:licence}\index{Licence}&lt;br /&gt;
GeoSharing is distributed under the ``Creative Commons BY SA''\footnote{~\url{http://creativecommons.org/licenses/by-sa/3.0/legalcode}}\index{Creative Commons}.&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
\item You are free:&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
	\item to \textbf{Share} --- to copy, distribute and transmit the work&lt;br /&gt;
	\item to \textbf{Remix} --- to adapt the work&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
\item Under the following conditions:&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
\item \textbf{Attribution} --- You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).&lt;br /&gt;
\item \textbf{Share Alike} --- If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://itouchmap.com/latlong.html&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=File:Neotool-2.png</id>
		<title>File:Neotool-2.png</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=File:Neotool-2.png"/>
				<updated>2011-06-13T12:19:44Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=File:Neotool-1.png</id>
		<title>File:Neotool-1.png</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=File:Neotool-1.png"/>
				<updated>2011-06-13T12:19:35Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T12:13:16Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the Opemoko Neo FreeRunner (GTA02). The second part describes the technical steps to follow in order to install the GeoSharing project on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
# The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
# There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
	\begin{enumerate}&lt;br /&gt;
	\item \textbf{Via the network manager:} As shown on Figure \ref{fig:network+manager}, the easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) in the wired networks tab of the computer network manager. For this new connection, choose a static (manual) IP address: \texttt{192.168.0.200}.&lt;br /&gt;
	\begin{newfig}&lt;br /&gt;
		\includegraphics[width=0.44\linewidth]{img/app-network-manager.png}&lt;br /&gt;
		\caption{\label{fig:network+manager}A static IP address is chosen for the connection with the Neo FreeRunner.}&lt;br /&gt;
	\end{newfig}	&lt;br /&gt;
	\item \textbf{Without the network manager:}&lt;br /&gt;
	\begin{enumerate}&lt;br /&gt;
		\item On the computer, open the file located at the following location: \texttt{/etc/network/interfaces} and add the following lines at the end of the file:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
# The Openmoko network interface &lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static &lt;br /&gt;
address 192.168.0.200 &lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
	&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
	&lt;br /&gt;
		\item On the computer, restart the network service by running the following command as root:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
# /etc/init.d/networking restart&lt;br /&gt;
\end{lstlisting}	&lt;br /&gt;
&lt;br /&gt;
	\end{enumerate}&lt;br /&gt;
	&lt;br /&gt;
	\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
		\item If an operational OS is running a SSH d\ae mon on the Neo FreeRunner, it is possible to establish an SSH connection from the computer to the root session of the Neo FreeRunner.&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ ssh root@openmoko&lt;br /&gt;
root@om-gta02 ~ #&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
If it is not the case (i.e. there is no SSH d\ae mon or no operating system at all), the Neo FreeRunner can be flashed with, for example, the operating system used in the scope of the GeoSharing project: SHR.&lt;br /&gt;
&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
\subsection{Flashing the SHR operating system on the Neo FreeRunner}\label{app:flashing+neo}&lt;br /&gt;
The easiest way to flash the Neo FreeRunner is to use \texttt{neoTool} on the computer. It is mandatory to install \texttt{dfu-utils} via the Synaptic Package Manager of the computer before running \texttt{neoTool}. The version of \texttt{neoTool} that have been used to realise this manual is the version $1.3$.&lt;br /&gt;
&lt;br /&gt;
Before going any further, the Neo FreeRunner must be connected to the computer with the USB cable, the IP address of each device must have been previously configured (See Appendix~\ref{app:usb}) and the Neo FreeRunner must be booted on the NOR memory as explained in Section \ref{sec:os+generals} of this document (POWER + AUX buttons).&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item The first step is to copy the bash script that can be found at \linebreak[4] \url{http://users.on.net/~antisol/neotool} into an empty file on the computer. Rename this file \texttt{neoTool} and give it the execution rights.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ chmod u+x neoTool&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item The second step is to run neoTool on the computer with root privileges.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ sudo ./neoTool&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\item The application is now running and the interface looks like Figure \ref{fig:neotool1}.&lt;br /&gt;
&lt;br /&gt;
\begin{figure}[!ht]&lt;br /&gt;
\begin{center}&lt;br /&gt;
  \subfigure[\label{fig:neotool1}\textit{}]{\includegraphics[width=0.47\linewidth]{img/neotool-1.png}}&lt;br /&gt;
  %\hspace*{2.5cm}&lt;br /&gt;
  \subfigure[\label{fig:neotool2}\textit{}]{\includegraphics[width=0.24\linewidth]{img/neotool-2.png}}&lt;br /&gt;
\end{center}&lt;br /&gt;
\caption{\label{fig:netTool}(a)~Different actions are possible to be performed with the \texttt{neoTool} application. (b)~The Root-Filesystem, the kernel, the bootloader and the splash can be flashed separately.}&lt;br /&gt;
\end{figure}&lt;br /&gt;
&lt;br /&gt;
\item On the computer, download the latest version of the SHR operating system. The version of SHR used to realise this manual is the version SHR-testing $2.6.29-oe11$. Images of the SHR operating system can be found at \url{http://build.shr-project.org/shr-testing/images/om-gta02/}. Two files are required:&lt;br /&gt;
	\begin{itemize}&lt;br /&gt;
		\item lite-om-gta02.jffs2&lt;br /&gt;
		\item uImage-*.bin&lt;br /&gt;
	\end{itemize}&lt;br /&gt;
	&lt;br /&gt;
\item In neoTool (which is running on the computer), select the second item `Flash~your~Neo' and click `OK'. The interface looks like Figure \ref{fig:neotool2}. On the next screen, don't change anything and click `OK'.&lt;br /&gt;
&lt;br /&gt;
\item The path to the *.jffs2 and the *.bin files are respectively asked.&lt;br /&gt;
&lt;br /&gt;
\item Click on the OK button of \texttt{neoTool} to launch the flashing process.&lt;br /&gt;
&lt;br /&gt;
\item When the process is done, the Neo FreeRunner restarts automatically and the new operating system is ready to be used.&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\subsection{Internet connectivity}\label{app:internet+connection}&lt;br /&gt;
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item On the computer, edit the file \texttt{/etc/sysctl.conf}&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ gedit /etc/sysctl.conf&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item Look for the following line in this file:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
#net.ipv4.conf.default.forwarding=1&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
and uncomment it (remove the \# character if not already done).% This change will be effective at the next reboot of the computer.&lt;br /&gt;
&lt;br /&gt;
%\item The following command can be use to make the previous change effective directly:&lt;br /&gt;
%\begin{lstlisting}&lt;br /&gt;
%$ sudo sysctl -w net.ipv4.conf.default.forwarding = 1&lt;br /&gt;
%\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file \texttt{/etc/rc.local}:&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ gedit /etc/rc.local&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
and add these lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
/sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
/sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
where iface corresponds to the interface of the computer connected to the internet (wlan0, eth0, eth1, ...). %These changes also take effect only after a reboot. To make them effective directly, type the same command in a terminal by replacing \textbf{/sbin/} by \textbf{sudo}.&lt;br /&gt;
\item The computer have now to be rebooted.&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
The internet connection of the computer is now shared with the Neo FreeRunner. In order to check if the sharing of the internet connection is well configured, from the Neo FreeRunner, perform a \texttt{ping} to \texttt{www.google.com} and the results should look like this:&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # ping www.google.com&lt;br /&gt;
PING www.google.com (66.102.13.103): 56 data bytes&lt;br /&gt;
64 bytes from 66.102.13.103: seq=0 ttl=55 time=19.548 ms&lt;br /&gt;
64 bytes from 66.102.13.103: seq=1 ttl=55 time=35.519 ms&lt;br /&gt;
(...)&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\section{GeoSharing project installation}\label{app:geosharing+on+neo}&lt;br /&gt;
Since the GeoSharing project is based on the OLSRd Linux d\ae mon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
Before going any further, extra packages such as a C compiler (\texttt{gcc}) and libraries (\texttt{libglib}, \texttt{libconfig}, \texttt{libgps}, etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. &lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}[label=packages,caption=Packages to install on the Neo FreeRunner.]&lt;br /&gt;
root@om-gta02 ~ # opkg update&lt;br /&gt;
&lt;br /&gt;
root@om-gta02 ~ # opkg upgrade&lt;br /&gt;
&lt;br /&gt;
root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\subsection{OLSRd Linux d\ae mon}\label{app:olsrd+on+neo}&lt;br /&gt;
As stated in Section \ref{sec:tech:olsrd}, the compilation process of OLSRd requires \texttt{bison}\index{Bison} and \texttt{flex}\index{Flex} packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages (\texttt{bison} and \texttt{flex}) in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS.&lt;br /&gt;
&lt;br /&gt;
The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. \texttt{Bison} and \texttt{flex} are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages listed in Listing~\ref{packages} have been installed. In addition to them, \texttt{bison} and \texttt{flex} have been installed as well.&lt;br /&gt;
&lt;br /&gt;
A computer is used to easily manage file transfers between the Neo FreeRunner devices.&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item On the computer, download the last stable release of OLSRd (*.tar.gz file) from \linebreak[4] \url{http://www.olsrd.org}. The version of OLSRd used to realise this manual is the version 0.6.&lt;br /&gt;
&lt;br /&gt;
\item Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
\item At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
root@om-gta02 ~ # make&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item From the computer, it is now necessary to collect the generated files from the SHR-unstable device.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore.&lt;br /&gt;
&lt;br /&gt;
\item The Neo FreeRunner running SHR-testing has to be connected to the computer.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r olsrd-0.6.0 root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd olsrd-0.6.0&lt;br /&gt;
root@om-gta02 ~ # make install&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
The OLSRd d\ae mon is now installed on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd d\ae mon. On the Neo FreeRunner, open a terminal, go in the folder located at \texttt{/home/root/olsrd-0.6.0/lib/bmf}, compile and install the plugin.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf&lt;br /&gt;
root@om-gta02 ~ # make&lt;br /&gt;
root@om-gta02 ~ # make install&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
The final configuration required for the d\ae mon to be fully effective is a configuration file. This file is located at \texttt{/etc/olsrd.conf}. There are two things to adapt for the GeoSharing project:&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be \texttt{eth0}. On the Neo FreeRunner, the \texttt{VI} editor can be used to edit this file accordingly.&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
Interface &amp;quot;eth0&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
	Mode &amp;quot;mesh&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\item In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the \texttt{VI} editor can be used to edit this file accordingly.&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
LoadPlugin &amp;quot;olsrd_bmf.so.1.7.0&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
	# no option&lt;br /&gt;
}&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
The OLSRd Linux d\ae mon is now ready to serve the GeoSharing objectives in terms of network topology management. &lt;br /&gt;
&lt;br /&gt;
\subsection{TangoGPS application}\label{app:tango}&lt;br /&gt;
TangoGPS is provided in some editions of the SHR-testing version. But, as stated in Section~\ref{sec:choice+gui}, a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps.&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item Before going any further, make sure that the Neo FreeRunner is free of any version of tangoGPS. On the Neo FreeRunner, open a terminal and execute the following command:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # opkg remove tangogps&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the computer, download the latest version of tangoGPS-modified from \linebreak[4	] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the entire tangogps folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r tangogps root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the Neo FreeRunner, open a terminal, go in the tangogps folder, compile and install the project. Pay attention to the third, fourth and fifth commands. They are really important to avoid compilation issues. This process may take a while.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # cd tangogps&lt;br /&gt;
root@om-gta02 ~ # sh configure&lt;br /&gt;
root@om-gta02 ~ # CFLAGS=&amp;quot;-march=armv4t&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # PACKAGE_CFLAGS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # PACKAGE_LIBS=&amp;quot;-lconfig&amp;quot;&lt;br /&gt;
root@om-gta02 ~ # make&lt;br /&gt;
root@om-gta02 ~ # make install&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
TangoGPS is now ready to serve the GeoSharing objectives in terms of graphical display.&lt;br /&gt;
&lt;br /&gt;
\subsection{WEP security}\label{app:wep}&lt;br /&gt;
On the Neo FreeRunner, the wireless interface is denoted as \texttt{eth0}. The following lines need to be added in the configuration file of the device interfaces in order to set the wireless network in ad hoc mode with the WEP security enabled. On the Neo FreeRunner, the \texttt{VI} editor can be used to edit the file located at \texttt{/etc/network/interfaces} accordingly.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
	address 10.0.0.1&lt;br /&gt;
	netmask 255.0.0.0&lt;br /&gt;
	network 10.0.0.0&lt;br /&gt;
	wireless-mode ad-hoc&lt;br /&gt;
	wireless-essid GeoSharing&lt;br /&gt;
	wireless-key F4C3DEB3BE&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
Once the configuration file has been modified, the network interfaces have to be restarted. The simplest solutions are to restart the device or execute the following command in a terminal of the device:&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
root@om-gta02 ~ # /etc/init.d/networking restart&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\subsection{GeoSharing}\label{app:geosharing+on+neo}&lt;br /&gt;
Now that OLSRd Linux d\ae mon and tangoGPS are correctly installed, the main module of the GoeSharing project must be installed as well. This installation is detailed in the following steps.&lt;br /&gt;
&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
\item On the computer, download the latest version of the GeoSharing application from \linebreak[4] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the entire geo\_sharing folder to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp -r geo_sharing root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
\item On the computer, download the latest version of the run\_geosharing.sh script from \linebreak[4] \url{http://download.geosharing-project.org}.&lt;br /&gt;
&lt;br /&gt;
\item From the computer, copy the run\_geosharing.sh script to the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
$ scp run_geosharing.sh root@openmoko:/home/root/&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&lt;br /&gt;
This script (shown in Listing~\ref{list:run}) is the entry point of the GeoSharing application. It first configures the wireless network interface. Then, it launches the OLSRd d\ae mon. Finally, it compiles the GeoSharing application if it is not already done and launches it. &lt;br /&gt;
&lt;br /&gt;
As explained in Chapter~\ref{chap:GPS}, two methods for GPS data retrieval have been implemented. By default, the D-Bus method is used to retrieve GPS data. To use the TCP method instead, on the Neo FreeRunner, using \texttt{VI}, edit the script \texttt{run\_geosharing.sh} and replace the last line:&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
./geo_sharing -m dbus&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
by&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
./geo_sharing -m tcp&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
\newpage&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\begin{lstlisting}[label=list:run,caption=The run\_geosharing.sh script is the entry point of the GeoSharing application.]&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
cd /home/root/&lt;br /&gt;
CURRENT_STATE=`mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.GetResourceState WiFi`&lt;br /&gt;
&lt;br /&gt;
if [ $CURRENT_STATE = &amp;quot;False&amp;quot; ]; then&lt;br /&gt;
	echo WiFi is currently down ... Setting it up now ...&lt;br /&gt;
	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled&lt;br /&gt;
	mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.RequestResource WiFi&lt;br /&gt;
	ifconfig eth0 up&lt;br /&gt;
	/etc/init.d/networking restart&lt;br /&gt;
else&lt;br /&gt;
	echo WiFi is already up !&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
&lt;br /&gt;
mkdir -p /dev/net&lt;br /&gt;
mknod /dev/net/tun c 10 200&lt;br /&gt;
chmod 0700 /dev/net/tun&lt;br /&gt;
olsrd&lt;br /&gt;
&lt;br /&gt;
cd /home/root/geo_sharing/&lt;br /&gt;
make&lt;br /&gt;
clear&lt;br /&gt;
./geo_sharing -m dbus&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
This script eases the launch of the GeoSharing application. Besides, it can be executed for two different purposes. &lt;br /&gt;
\begin{itemize}&lt;br /&gt;
	\item The GeoSharing application can be launched by tangoGPS when an end-user clicks on the GeoSharing entry of the plugins menu. The interactions with the end-user takes place through the graphical interface provided by tangoGPS. In order to provide to tangoGPS the path to the run\_geosharing.sh script, the tangoGPS configuration file (located at \texttt{/etc/tangogps\_plugins.conf}) has to be filled accordingly.&lt;br /&gt;
	&lt;br /&gt;
\begin{lstlisting}&lt;br /&gt;
# TangoGPS Plugins Interface&lt;br /&gt;
nbr_plugins = 1;&lt;br /&gt;
&lt;br /&gt;
Plugin1 = {&lt;br /&gt;
	name		= 	&amp;quot;GeoSharing&amp;quot;;&lt;br /&gt;
	path 		= 	&amp;quot;sh /home/root/run_geosharing.sh&amp;quot;;&lt;br /&gt;
	options 	= 	&amp;quot;&amp;quot;;&lt;br /&gt;
	running		= 	&amp;quot;/tmp/geosharing.run&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
\end{lstlisting}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	\item The GeoSharing application can also be launched alone in a terminal. The interactions with the end-user takes place through messages displayed in the terminal.&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
%% ===================================================================&lt;br /&gt;
&lt;br /&gt;
\chapter{Licence}\label{app:sec:licence}\index{Licence}&lt;br /&gt;
GeoSharing is distributed under the ``Creative Commons BY SA''\footnote{~\url{http://creativecommons.org/licenses/by-sa/3.0/legalcode}}\index{Creative Commons}.&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
\item You are free:&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
	\item to \textbf{Share} --- to copy, distribute and transmit the work&lt;br /&gt;
	\item to \textbf{Remix} --- to adapt the work&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
\item Under the following conditions:&lt;br /&gt;
&lt;br /&gt;
\begin{itemize}&lt;br /&gt;
\item \textbf{Attribution} --- You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).&lt;br /&gt;
\item \textbf{Share Alike} --- If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
\end{itemize}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://itouchmap.com/latlong.html&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T12:10:57Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This installation manual is divided into two parts. The first part presents preliminary configurations that must be done before starting any development on the Opemoko Neo FreeRunner (GTA02). The second part describes the technical steps to follow in order to install the GeoSharing project on the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
All those steps have been tested on a Neo FreeRunner and on a laptop running Ubuntu 10.10 with access to root privileges.&lt;br /&gt;
&lt;br /&gt;
==Preliminary configurations==&lt;br /&gt;
This section consists in three parts. The first thing to do is to configure a connection between the Neo FreeRunner and a computer via a USB cable. Most of the operations that must be executed on the Neo FreeRunner are easily performed on a computer disposing of a keyboard and a larger screen than the GTA02. A SSH connection should thus be established from the computer to the Neo FreeRunner in order to have access to it.&lt;br /&gt;
&lt;br /&gt;
The second part details the installation steps of an operating system (OS) on the Neo FreeRunner. This operation is made possible thanks to the communication channel created before via the USB cable. The operating system called SHR was chosen to be used in the scope of the GeoSharing project.&lt;br /&gt;
&lt;br /&gt;
The third part shows how it is possible to share the internet connection of a computer with the Neo FreeRunner via the USB cable.&lt;br /&gt;
&lt;br /&gt;
===USB interface configuration===&lt;br /&gt;
An important thing to notice is that the USB connectivity is considered as an ethernet connection by both the Neo FreeRunner and the computer. This implies the use of IP addresses to identify both ends of the connection. By default, the Neo FreeRunner has a static IP address: '''192.168.0.202''' and nothing must be done to change that. The goal is then to configure the computer to have an IP address in the same sub-network than the Neo FreeRunner to be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
1) The first thing to do on the computer is to create an alias for the IP address of the Neo FreeRunner. Edit the file '''/etc/hosts''' by adding the line:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
2) There exists two possible methods to set up an ethernet connection between both devices via the USB cable. On the computer, it is possible to choose:&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://itouchmap.com/latlong.html&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=How_To_Install</id>
		<title>How To Install</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=How_To_Install"/>
				<updated>2011-06-13T12:06:02Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BlaBlaBla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://itouchmap.com/latlong.html&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar"/>
				<updated>2011-06-13T12:05:34Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
* GeoSharing&lt;br /&gt;
** How_To_Install|Installation Manual&lt;br /&gt;
** Run_GeoSharing|Run GeoSharing&lt;br /&gt;
* SEARCH&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar"/>
				<updated>2011-06-13T12:04:11Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
* GeoSharing&lt;br /&gt;
** How_To_Install|Installation Manual&lt;br /&gt;
** Run_GeoSharing|Run GeoSharing&lt;br /&gt;
* Tutorials&lt;br /&gt;
** Internet_On_Your_Neo_FreeRunner|Internet on your Neo FreeRunner&lt;br /&gt;
* Links&lt;br /&gt;
** GPS_coordinates_on_map|Visualise your position on a map&lt;br /&gt;
* SEARCH&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Internet_On_Your_Neo_FreeRunner_(USB_Networking)</id>
		<title>Internet On Your Neo FreeRunner (USB Networking)</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Internet_On_Your_Neo_FreeRunner_(USB_Networking)"/>
				<updated>2011-06-13T12:03:14Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
It is always simpler to have a direct internet access from your Neo FreeRunner when you want to install or develop something on your phone. We will take advantage of the internet connection of the PC and the USB connection between the PC and the Neo FreeRunner.&lt;br /&gt;
&lt;br /&gt;
For this example, we are working with Ubuntu 10.10 on a laptop.&lt;br /&gt;
&lt;br /&gt;
== Connect the Openmoko ==&lt;br /&gt;
The first thing to do is to create an alias for the IP address of the Neo FreeRunner.&lt;br /&gt;
* Edit the file /etc/hosts by adding the line:&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
Note : The alias &amp;quot;openmoko&amp;quot; can be replaced by any other name at the will of the user.&lt;br /&gt;
&lt;br /&gt;
Then, we must set up the connection.&lt;br /&gt;
&lt;br /&gt;
=== With the network manager ===&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) for the wired networks. For this connection, you choose a static (manual) IP address '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&lt;br /&gt;
=== Without the network manager ===&lt;br /&gt;
* Edit the file '''/etc/network/interfaces''' by adding the following lines:&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
* Restart the network service by running the following command:&lt;br /&gt;
 $ /etc/init.d/networking restart&lt;br /&gt;
* Now, you can connect to the openmoko as root via ssh:&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
== Configuration IP tables ==&lt;br /&gt;
&lt;br /&gt;
In order to make the computer connected to the openmoko forward packets comming from the interface eth1, it is necessary to enable IP forwarding which is deactivated by default in Ubuntu. It is therefore requiered to issue the following commands with administrator (sudo) priviledges :&lt;br /&gt;
* First step:&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
* Second step: look for the following line in this file:&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
and uncomment it (remove the # caracter if not already done).&lt;br /&gt;
* Third step: This change will be effective at the next reboot, or use the following command to make it effective directly:&lt;br /&gt;
 sudo sysctl -w net.ipv4.conf.default.forwarding = 1&lt;br /&gt;
* Fourth step: it is now time to configure the iptables in order to let the packets go through the gateway (computer connected to the Openmoko):&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
* Fifth step: add these lines:&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
where '''iface''' corresponds to the interface connected to the internet (wlan0, eth0, eth1, ...). These changes also take effect only after a reboot. To make them effective directly, type the same command in a terminal by replacing '''/sbin/''' by '''sudo'''.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* http://wiki.openmoko.org/wiki/USB_Networking&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=713874&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Main_Page"/>
				<updated>2011-06-13T12:02:37Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welcome to GeoSharing's wiki !'''&lt;br /&gt;
&lt;br /&gt;
A global description of the GeoSharing project can be found on our website : http://www.geosharing-project.org.&lt;br /&gt;
The GeoSharing project is a system allowing users to share their geographical position with other users. The system makes it possible for every user to see the displacements of other users on a map.&lt;br /&gt;
&lt;br /&gt;
On this wiki, you can find information about how [[How_To_Install|our system can be installed]] on your [[FreeRunner]]. Feel free to participate !&lt;br /&gt;
&lt;br /&gt;
== Contact us ==&lt;br /&gt;
* http://contact.geosharing-project.org&lt;br /&gt;
* [mailto:contact@geosharing-project.org Contact@GeoSharing-project.org]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen4.png|350px]] [[File:Chap6-screen5.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Internet_On_Your_Neo_FreeRunner_(USB_Networking)</id>
		<title>Internet On Your Neo FreeRunner (USB Networking)</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Internet_On_Your_Neo_FreeRunner_(USB_Networking)"/>
				<updated>2011-06-13T12:00:25Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]]&lt;br /&gt;
It is always simpler to have a direct internet access from your Neo FreeRunner when you want to install or develop something on your phone. We will take advantage of the internet connection of the PC and the [[USB connection between the PC and the Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
For this example, we are working with Ubuntu 10.10 on a laptop.&lt;br /&gt;
&lt;br /&gt;
== Connect the Openmoko ==&lt;br /&gt;
The first thing to do is to create an alias for the IP address of the Neo FreeRunner.&lt;br /&gt;
* Edit the file /etc/hosts by adding the line:&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
Note : The alias &amp;quot;openmoko&amp;quot; can be replaced by any other name at the will of the user.&lt;br /&gt;
&lt;br /&gt;
Then, we must set up the connection.&lt;br /&gt;
&lt;br /&gt;
=== With the network manager ===&lt;br /&gt;
The easiest way to set up the connection with the Openmoko is to create a new connection (called Openmoko here) for the wired networks. For this connection, you choose a static (manual) IP address '''192.168.0.200'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot-Editing Openmoko.png|350px]]&lt;br /&gt;
&lt;br /&gt;
=== Without the network manager ===&lt;br /&gt;
* Edit the file '''/etc/network/interfaces''' by adding the following lines:&lt;br /&gt;
 # The Openmoko network interface &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static &lt;br /&gt;
 address 192.168.0.200 &lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
* Restart the network service by running the following command:&lt;br /&gt;
 $ /etc/init.d/networking restart&lt;br /&gt;
* Now, you can connect to the openmoko as root via ssh:&lt;br /&gt;
 $ ssh root@openmoko&lt;br /&gt;
 root@om-gta02 ~ #&lt;br /&gt;
&lt;br /&gt;
== Configuration IP tables ==&lt;br /&gt;
&lt;br /&gt;
In order to make the computer connected to the openmoko forward packets comming from the interface eth1, it is necessary to enable IP forwarding which is deactivated by default in Ubuntu. It is therefore requiered to issue the following commands with administrator (sudo) priviledges :&lt;br /&gt;
* First step:&lt;br /&gt;
 $ gedit /etc/sysctl.conf&lt;br /&gt;
* Second step: look for the following line in this file:&lt;br /&gt;
 #net.ipv4.conf.default.forwarding=1&lt;br /&gt;
and uncomment it (remove the # caracter if not already done).&lt;br /&gt;
* Third step: This change will be effective at the next reboot, or use the following command to make it effective directly:&lt;br /&gt;
 sudo sysctl -w net.ipv4.conf.default.forwarding = 1&lt;br /&gt;
* Fourth step: it is now time to configure the iptables in order to let the packets go through the gateway (computer connected to the Openmoko):&lt;br /&gt;
 $ gedit /etc/rc.local&lt;br /&gt;
* Fifth step: add these lines:&lt;br /&gt;
 /sbin/iptables -P FORWARD ACCEPT &lt;br /&gt;
 /sbin/iptables --table nat -A POSTROUTING -s 192.168.0.202/32 -o iface -j MASQUERADE&lt;br /&gt;
where '''iface''' corresponds to the interface connected to the internet (wlan0, eth0, eth1, ...). These changes also take effect only after a reboot. To make them effective directly, type the same command in a terminal by replacing '''/sbin/''' by '''sudo'''.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* http://wiki.openmoko.org/wiki/USB_Networking&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=713874&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar"/>
				<updated>2011-06-13T11:49:34Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
* GeoSharing&lt;br /&gt;
** Before_starting|Before starting&lt;br /&gt;
** How_To_Install|Installation Manual&lt;br /&gt;
** Run_GeoSharing|Run GeoSharing&lt;br /&gt;
* Tutorials&lt;br /&gt;
** Internet_On_Your_Neo_FreeRunner|Internet on your Neo FreeRunner&lt;br /&gt;
* Links&lt;br /&gt;
** GPS_coordinates_on_map|Visualise your position on a map&lt;br /&gt;
* SEARCH&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=MediaWiki:Sidebar"/>
				<updated>2011-06-13T11:49:04Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
* GeoSharing&lt;br /&gt;
** Before_starting|Before starting&lt;br /&gt;
** How_To_Install|Installation Manual&lt;br /&gt;
** Run_GeoSharing|Run GeoSharing&lt;br /&gt;
* Tutorials&lt;br /&gt;
** Internet_On_Your_Neo_FreeRunner|Internet on your Neo FreeRunner&lt;br /&gt;
** GPS_coordinates_on_map|Visualise your position on a map&lt;br /&gt;
* SEARCH&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=FreeRunner</id>
		<title>FreeRunner</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=FreeRunner"/>
				<updated>2011-06-13T11:45:20Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Chap1-openmoko.jpg|thumb|200px|The Neo FreeRunner (GTA02)]]&lt;br /&gt;
The '''Neo FreeRunner''' is the second phone designed by Openmoko Inc. to run Openmoko softwares. It is a Linux-based touchscreen smartphone whose production began in June 2008. Its predecessor was the Neo 1973 (GTA01) commercialized in Summer 2007. The Neo FreeRunner (GTA02) is the device for which we have developed the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
The main specifications of the Neo FreeRunner are:&lt;br /&gt;
* a weight of about 184 grams&lt;br /&gt;
* a 400MhZ ARM processor&lt;br /&gt;
* 128 MB RAM memory&lt;br /&gt;
* 256 MB flash memory&lt;br /&gt;
* a micro SD card slot&lt;br /&gt;
* a 480x640 pixels touchscreen&lt;br /&gt;
* an internal GPS module&lt;br /&gt;
* 802.11 b/g Wi-Fi&lt;br /&gt;
* bluetooth&lt;br /&gt;
* two 3D accelerometers&lt;br /&gt;
* tri-band GSM and GPRS&lt;br /&gt;
* USB connector&lt;br /&gt;
&lt;br /&gt;
The Neo FreeRunner has two external buttons and three connectors&lt;br /&gt;
&lt;br /&gt;
[[File:Chap1-openmoko-2.jpg|350px]]&lt;br /&gt;
[[File:Chap1-openmoko-3.jpg|350px]]&lt;br /&gt;
&lt;br /&gt;
1) The power button is used to switch the device on or off. A brief press on the button powers on the device. A long press on the button shuts it down.&lt;br /&gt;
&lt;br /&gt;
2) The USB connector is used for two purposes:&lt;br /&gt;
* recharge the battery via a sector adapter connected to a power supply or via a classical USB cable connected to a computer;&lt;br /&gt;
* exchange data with a computer.&lt;br /&gt;
&lt;br /&gt;
3) The external GPS antenna connector can be used to plug an external antenna in to improve the reception quality. Due to the smallness of the Neo FreeRunner (and its components such as the Wi-Fi and GPS antennas), the GPS accuracy is quite limited. The reception quality is thus improved when an external GPS antenna is plugged in.&lt;br /&gt;
&lt;br /&gt;
4) The aux button is used in combination with the power button to access the boot menu and to browse the items of this menu.&lt;br /&gt;
&lt;br /&gt;
5) The 2.5mm phone jack connector allows users to plug an headphone set in.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=FreeRunner</id>
		<title>FreeRunner</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=FreeRunner"/>
				<updated>2011-06-13T11:44:51Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Chap1-openmoko.jpg|thumb|200px|The Neo FreeRunner (GTA02)]]&lt;br /&gt;
The '''Neo FreeRunner''' is the second phone designed by Openmoko Inc. to run Openmoko softwares. It is a Linux-based touchscreen smartphone whose production began in June 2008. Its predecessor was the Neo 1973 (GTA01) commercialized in Summer 2007. The Neo FreeRunner (GTA02) is the device for which we have developed the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
The main specifications of the Neo FreeRunner are:&lt;br /&gt;
* a weight of about 184 grams&lt;br /&gt;
* a 400MhZ ARM processor&lt;br /&gt;
* 128 MB RAM memory&lt;br /&gt;
* 256 MB flash memory&lt;br /&gt;
* a micro SD card slot&lt;br /&gt;
* a 480x640 pixels touchscreen&lt;br /&gt;
* an internal GPS module&lt;br /&gt;
* 802.11 b/g Wi-Fi&lt;br /&gt;
* bluetooth&lt;br /&gt;
* two 3D accelerometers&lt;br /&gt;
* tri-band GSM and GPRS&lt;br /&gt;
* USB connector&lt;br /&gt;
&lt;br /&gt;
The Neo FreeRunner has two external buttons and three connectors&lt;br /&gt;
&lt;br /&gt;
[[File:Chap1-openmoko-2.jpg|350px]]&lt;br /&gt;
[[File:Chap1-openmoko-3.jpg|350px]]&lt;br /&gt;
&lt;br /&gt;
1) The power button is used to switch the device on or off. A brief press on the button powers on the device. A long press on the button shuts it down.&lt;br /&gt;
2) The USB connector is used for two purposes:&lt;br /&gt;
* recharge the battery via a sector adapter connected to a power supply or via a classical USB cable connected to a computer;&lt;br /&gt;
* exchange data with a computer.&lt;br /&gt;
3) The external GPS antenna connector can be used to plug an external antenna in to improve the reception quality. Due to the smallness of the Neo FreeRunner (and its components such as the Wi-Fi and GPS antennas), the GPS accuracy is quite limited. The reception quality is thus improved when an external GPS antenna is plugged in.&lt;br /&gt;
4) The aux button is used in combination with the power button to access the boot menu and to browse the items of this menu.&lt;br /&gt;
5) The 2.5mm phone jack connector allows users to plug an headphone set in.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=FreeRunner</id>
		<title>FreeRunner</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=FreeRunner"/>
				<updated>2011-06-13T11:43:06Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Chap1-openmoko.jpg|thumb|200px|The Neo FreeRunner (GTA02)]]&lt;br /&gt;
The '''Neo FreeRunner''' is the second phone designed by Openmoko Inc. to run Openmoko softwares. It is a Linux-based touchscreen smartphone whose production began in June 2008. Its predecessor was the Neo 1973 (GTA01) commercialized in Summer 2007. The Neo FreeRunner (GTA02) is the device for which we have developed the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
The main specifications of the Neo FreeRunner are:&lt;br /&gt;
* a weight of about 184 grams&lt;br /&gt;
* a 400MhZ ARM processor&lt;br /&gt;
* 128 MB RAM memory&lt;br /&gt;
* 256 MB flash memory&lt;br /&gt;
* a micro SD card slot&lt;br /&gt;
* a 480x640 pixels touchscreen&lt;br /&gt;
* an internal GPS module&lt;br /&gt;
* 802.11 b/g Wi-Fi&lt;br /&gt;
* bluetooth&lt;br /&gt;
* two 3D accelerometers&lt;br /&gt;
* tri-band GSM and GPRS&lt;br /&gt;
* USB connector&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Chap1-openmoko-2.jpg|350px]]&lt;br /&gt;
[[File:Chap1-openmoko-3.jpg|350px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=FreeRunner</id>
		<title>FreeRunner</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=FreeRunner"/>
				<updated>2011-06-13T11:42:54Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''Neo FreeRunner''' is the second phone designed by Openmoko Inc. to run Openmoko softwares. It is a Linux-based touchscreen smartphone whose production began in June 2008. Its predecessor was the Neo 1973 (GTA01) commercialized in Summer 2007. The Neo FreeRunner (GTA02) is the device for which we have developed the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
[[File:Chap1-openmoko.jpg|thumb|200px|The Neo FreeRunner (GTA02)]]&lt;br /&gt;
&lt;br /&gt;
The main specifications of the Neo FreeRunner are:&lt;br /&gt;
* a weight of about 184 grams&lt;br /&gt;
* a 400MhZ ARM processor&lt;br /&gt;
* 128 MB RAM memory&lt;br /&gt;
* 256 MB flash memory&lt;br /&gt;
* a micro SD card slot&lt;br /&gt;
* a 480x640 pixels touchscreen&lt;br /&gt;
* an internal GPS module&lt;br /&gt;
* 802.11 b/g Wi-Fi&lt;br /&gt;
* bluetooth&lt;br /&gt;
* two 3D accelerometers&lt;br /&gt;
* tri-band GSM and GPRS&lt;br /&gt;
* USB connector&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Chap1-openmoko-2.jpg|350px]]&lt;br /&gt;
[[File:Chap1-openmoko-3.jpg|350px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=FreeRunner</id>
		<title>FreeRunner</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=FreeRunner"/>
				<updated>2011-06-13T11:38:58Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''FreeRunner''' is the device for which we have developed the GeoSharing application.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap1-openmoko.jpg|350px]]&lt;br /&gt;
[[File:Chap1-openmoko-2.jpg|350px]]&lt;br /&gt;
[[File:Chap1-openmoko-3.jpg|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=File:Chap1-openmoko-3.jpg</id>
		<title>File:Chap1-openmoko-3.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=File:Chap1-openmoko-3.jpg"/>
				<updated>2011-06-13T11:37:42Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=File:Chap1-openmoko-2.jpg</id>
		<title>File:Chap1-openmoko-2.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=File:Chap1-openmoko-2.jpg"/>
				<updated>2011-06-13T11:37:33Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=File:Chap1-openmoko.jpg</id>
		<title>File:Chap1-openmoko.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=File:Chap1-openmoko.jpg"/>
				<updated>2011-06-13T11:37:24Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=File:Chap1-memories-2.png</id>
		<title>File:Chap1-memories-2.png</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=File:Chap1-memories-2.png"/>
				<updated>2011-06-13T11:36:53Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=File:Chap1-memories-1.png</id>
		<title>File:Chap1-memories-1.png</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=File:Chap1-memories-1.png"/>
				<updated>2011-06-13T11:36:44Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.geosharing-project.org/wiki/index.php?title=Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.geosharing-project.org/wiki/index.php?title=Main_Page"/>
				<updated>2011-06-13T11:34:26Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welcome to GeoSharing's wiki !'''&lt;br /&gt;
&lt;br /&gt;
A global description of the GeoSharing project can be found on our website : http://www.geosharing-project.org.&lt;br /&gt;
The GeoSharing project is a system allowing users to share their geographical position with other users. The system makes it possible for every user to see the displacements of other users on a map.&lt;br /&gt;
&lt;br /&gt;
On this wiki, you can find a lot of information about how [[How_To_Install|our system can be installed]] on your [[FreeRunner]], how did we deal with some problems, etc. Feel free to participate !&lt;br /&gt;
&lt;br /&gt;
== Contact us ==&lt;br /&gt;
* http://contact.geosharing-project.org&lt;br /&gt;
* [mailto:contact@geosharing-project.org Contact@GeoSharing-project.org]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chap6-screen4.png|350px]] [[File:Chap6-screen5.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>