<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wirelessafrica.meraka.org.za/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Acdc</id>
	<title>WirelessAfrica - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wirelessafrica.meraka.org.za/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Acdc"/>
	<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php/Special:Contributions/Acdc"/>
	<updated>2026-04-21T11:46:14Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=HowTos&amp;diff=2158</id>
		<title>HowTos</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=HowTos&amp;diff=2158"/>
		<updated>2006-06-19T18:13:36Z</updated>

		<summary type="html">&lt;p&gt;Acdc: /* HowTo Cross compile for the WRT54G */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Getting started=&lt;br /&gt;
 NEW!&lt;br /&gt;
 The first edition of &amp;quot;Wireless Networking in the Deveolping World&amp;quot; is available as e-book now. Prints can be ordered on demand at lulu.com.&lt;br /&gt;
 The e-book is available at no cost under a creative commons license.&lt;br /&gt;
 Get your copy at [http://wndw.net/ wndw] or [[Media:Wndw-ebook.pdf|locally]] and share it.&lt;br /&gt;
&lt;br /&gt;
==Step 1. Check where you are on the planet:==&lt;br /&gt;
Your very first step is to find your current position on a map and then see what other wireless nodes are nearby. The best way to do this is to get a GPS and find out your coordinates and then to enter these into [http://earth.google.com/ google earth] - you can also use google earth to find your coordinates by identifying your house on the satellite image. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2. Check who else is around that you can connect to ==&lt;br /&gt;
&lt;br /&gt;
Once you have entered your google earth position - have a look at the positions of other wifi installations around you. For the [[Pretoria Mesh]] we have stored all the google earth positions in this [ftp://ftp.icomtek.csir.co.za/pub/in/wiki/wifi%20installations.kmz file]. You can also have a look on sites like [http://http://www.nodedb.com/ NodeDB] to see if there are other wireless installations near you. Once you have identified someone that you want to connect to, the best way to check connectivity is to use a WiFi sniffer such as [http://www.netstumbler.com/ netsumbler] for windows or [http://www.kismetwireless.net/ Kismet] on linux loaded on a laptop with a Wifi card fitted with an external antenna. For people in Pretoria we have a kit like this that can be borrowed from our WiFi tuckshop. Find the highest point at your house such as your roof and slowly rotate the directional antenna around you to see if you can pick up any WiFi access points. You will want to find an access point that is in ad-hoc mode and is mesh enabled - the wifi sniffer will tell you if the wireless node is in ad-hoc mode but you will have to contact the owner to check what mesh protocol, if any, they are running.&lt;br /&gt;
&lt;br /&gt;
==Step 3. Build a mesh node==&lt;br /&gt;
&lt;br /&gt;
Now that you know where you are located and you have hopefully found someone you can connect to, you will need to construct your mesh hardware.&lt;br /&gt;
&lt;br /&gt;
A mesh network node consists of a wireless router, antenna, routing software and settings.&lt;br /&gt;
&lt;br /&gt;
===[[Wireless Router]]===&lt;br /&gt;
Your wireless router can either be a PC with a wireless card, a dedicated [[Wireless Router]] unit or [[SBC]] Single Board Computer with a wireless card. A dedicated [[Wireless Router]] is the most popular choice because it is relatively cheap, easy to configure and low power making it practicle for a device that is meant to be on most of the time. Have a look at  [[Cost Tables]] to get an idea of all the possible types of mesh nodes you can build together with the cost implications&lt;br /&gt;
&lt;br /&gt;
===Antennae:=== &lt;br /&gt;
&lt;br /&gt;
The first step is to select an antenna that suits your situation best. There are several types of Antennae:&lt;br /&gt;
 1) [[Omnidirectional]]&lt;br /&gt;
 2) [[Yagi-Uda]]&lt;br /&gt;
 3) [[Grid]]&lt;br /&gt;
 4) [[Flat-panel]]&lt;br /&gt;
 5) [[Wave-guide]]&lt;br /&gt;
&lt;br /&gt;
The main difference between these antennae is the [[Radiation Pattern]]. Each type is also available with different [[Gain]] specifications.&lt;br /&gt;
Typical [[Wireless Router]]s are sold with 2 omnidirectional antennae and these can be re-used as part of your node, depending on your situation. If you have other nodes in your vicinity that are spread out in all directions but are fairly close (i.e. &amp;lt; 3Km), then an omni-directional antenna should suffice. If the other nodes are concentrated in one direction, for example, if you have a hill on one side of your house and theres no point in radiating the hill, then you may want to choose a more directional antenna, like a 180 degree [[Flat-panel]]. For point-to-point links, a smaller radiation angle is needed and [[Grid]] or [[Yagi-Uda]] type antennae are probably best suited.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Step 4. Install latest mesh networking firmware==&lt;br /&gt;
&lt;br /&gt;
The type of software that needs to be installed will typically be implmentations of mesh routing protocols like [[OLSR]], as well as security software, like VPN clients. On dedicated wireless routers, this is typically implemented on Firmware, while on standard PC&#039;s its implemented in Software.&lt;br /&gt;
&lt;br /&gt;
===[[WRT54G]] Firmware update===&lt;br /&gt;
[[Wireless Router]]s like the [[WRT54G]] are not mesh capable as is. One of the reasons for selecting the Linksys is that the Firmware is upgradeable. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution: &#039;&#039;&#039; Please note, that fiddling with the firmware will void your warranty!!! &lt;br /&gt;
&lt;br /&gt;
The following instructions apply to networks running the OLSR routing protocl, like the [[Pretoria Mesh]].&lt;br /&gt;
&lt;br /&gt;
1. Download freifunk firmware from [http://www.freifunk.net/wiki/FreifunkFirmwareEnglish Freifunk site] or [ftp://comgingsoon Local]&lt;br /&gt;
&lt;br /&gt;
2. Set boot wait on linksys&lt;br /&gt;
&lt;br /&gt;
Web method:&lt;br /&gt;
&lt;br /&gt;
Navigate to web page were you can send pings and type each of these lines one line at a time&lt;br /&gt;
&lt;br /&gt;
 ;cp${IFS}*/*/nvram${IFS}/tmp/n&lt;br /&gt;
 ;*/n${IFS}set${IFS}boot_wait=on&lt;br /&gt;
 ;*/n${IFS}commit&lt;br /&gt;
 ;*/n${IFS}show&amp;gt;tmp/ping.log&lt;br /&gt;
&lt;br /&gt;
NVRAM method:&lt;br /&gt;
&lt;br /&gt;
telnet into box and type the following&lt;br /&gt;
&lt;br /&gt;
nvram set boot_wait=on&lt;br /&gt;
nvram commit&lt;br /&gt;
reboot&lt;br /&gt;
&lt;br /&gt;
3. Upload firmware&lt;br /&gt;
&lt;br /&gt;
Give yourself a fixed IP in the 192.168.1.x range e.g. 192.168.1.100&lt;br /&gt;
&lt;br /&gt;
Use tftp to upload firmware&lt;br /&gt;
&lt;br /&gt;
 tftp 192.168.1.1&lt;br /&gt;
 tftp&amp;gt; binary&lt;br /&gt;
 tftp&amp;gt; rexmt 1&lt;br /&gt;
 tftp&amp;gt; trace&lt;br /&gt;
 Packet tracing on.&lt;br /&gt;
 tftp&amp;gt; put openwrt-g-freifunk-1.0.2-en.bin&lt;br /&gt;
&lt;br /&gt;
Wait for the power light to stop flashing&lt;br /&gt;
Power cycle the box&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 5. Install mesh node==&lt;br /&gt;
&lt;br /&gt;
===HowTo Water-proof your equipment===&lt;br /&gt;
[[Image:Usb-wireless-final.jpg|thumb]]&lt;br /&gt;
[[Image:Wireless-router-outdoor1.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 6. Setup mesh configuration==&lt;br /&gt;
&lt;br /&gt;
1. Check that the web interface is working. Visit the site http://192.168.1.1 on your web browser - you should see the main freifunk web interface appear&lt;br /&gt;
&lt;br /&gt;
2. Set up the wireless interface&lt;br /&gt;
&lt;br /&gt;
 WLAN protocol: Static&lt;br /&gt;
 Ip Address: 192.168.2.5&lt;br /&gt;
 Netmask: 255.255.255.0&lt;br /&gt;
 WLAN Mode: Ad Hoc (Peer to Peer)&lt;br /&gt;
 ESSID: mesh&lt;br /&gt;
 Channel: 6&lt;br /&gt;
 TX Power: 100&lt;br /&gt;
&lt;br /&gt;
3. Set up the LAN interface&lt;br /&gt;
&lt;br /&gt;
 LAN protocol: Static&lt;br /&gt;
 LAN IP: 192.168.4.1&lt;br /&gt;
 LAN Netmask: 255.255.255.0&lt;br /&gt;
 Disable NAT: yes&lt;br /&gt;
 Disable Firewall: yes&lt;br /&gt;
&lt;br /&gt;
4. Set up the WAN interface&lt;br /&gt;
&lt;br /&gt;
 WAN Protocol: DHCP&lt;br /&gt;
 Host name: Lawrence&lt;br /&gt;
&lt;br /&gt;
5. Set up OLSR&lt;br /&gt;
&lt;br /&gt;
 HNA4: 192.168.4.1 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
6. Restart the Linksys&lt;br /&gt;
&lt;br /&gt;
You should now be given an IP address in the 192.168.3.x range&lt;br /&gt;
You should be able to connect to another mesh access point and even get a default gateway to an internet point, if one exists&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 7. Start surfing==&lt;br /&gt;
&lt;br /&gt;
Hopefully you`re now hooked up to the internet and you can start surfing the web or hooking up to other PCś on the mesh&lt;br /&gt;
&lt;br /&gt;
==Step 8. Troubleshoot==&lt;br /&gt;
&lt;br /&gt;
Start with Layer 1:&lt;br /&gt;
 Is everything switched on?&lt;br /&gt;
 Is the LAN plugged in?&lt;br /&gt;
 Is the Antenna connected?&lt;br /&gt;
 Is it facing the right direction?&lt;br /&gt;
 Is it polarised correctly?&lt;br /&gt;
&lt;br /&gt;
Check software settings:&lt;br /&gt;
 Is the correct antenna selected?&lt;br /&gt;
 Is the routing daemon running?&lt;br /&gt;
&lt;br /&gt;
=[[WRT54G]] HowTos=&lt;br /&gt;
&lt;br /&gt;
==HowTo choose which antenna port to use on the WRT54G for an external antenna==&lt;br /&gt;
&lt;br /&gt;
Where to connect the external antenna&lt;br /&gt;
&lt;br /&gt;
 WRT54g v1, v1.1, v2 &lt;br /&gt;
 look at the backside and connect the external antenna to the right antenna connector&lt;br /&gt;
&lt;br /&gt;
 WRT54g v2.2 v3 3.1 v4 and the WRT54GL v1.0&lt;br /&gt;
 look at the backside and connect the external antenna to the left antenna connector&lt;br /&gt;
&lt;br /&gt;
==HowTo create an ipk package==&lt;br /&gt;
&lt;br /&gt;
TOOLS&lt;br /&gt;
&lt;br /&gt;
Get the script rightfully called ipkg-build at, among other places, ftp://ftp.handhelds.org/packages/ipkg-utils, or http://www.mizi.com/download/mz20/ipkg-build.&lt;br /&gt;
&lt;br /&gt;
CREATING THE PACKAGE STRUCTURE&lt;br /&gt;
&lt;br /&gt;
Say you wanna create a package called MyPackage; you further wanna package the project called MyProject. Then do the following:&lt;br /&gt;
&lt;br /&gt;
   1. Create a directory called MyPackage.&lt;br /&gt;
   2. Inside directory MyPackage, create a directory called CONTROL.&lt;br /&gt;
   3. Copy your project (MyProject) to the MyPackage directory.&lt;br /&gt;
   4. Inside directory CONTORL creating a file called control.&lt;br /&gt;
&lt;br /&gt;
NOTE:&lt;br /&gt;
&lt;br /&gt;
When the package is installed on the target, the MyPAckage directory will be created with respect to root. So if you wanted your files to be installed in /usr/bin on the target system, then our project would in this case be “/usr/bin”. That is you create inside directory MyPackage a directory called /usr/bin.&lt;br /&gt;
&lt;br /&gt;
FORMAT AND CONTENTS OF /CONTROL/control&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Package: MyPackage&lt;br /&gt;
&lt;br /&gt;
Priority: optional // default&lt;br /&gt;
&lt;br /&gt;
Version: 1.0 //package version&lt;br /&gt;
&lt;br /&gt;
Architecture: mipsel&lt;br /&gt;
&lt;br /&gt;
Maintainer: I_maintain@you.com&lt;br /&gt;
&lt;br /&gt;
Source: ftp:ftp:122.122.122.122 //See Note below&lt;br /&gt;
&lt;br /&gt;
Section: misc //See Note below&lt;br /&gt;
&lt;br /&gt;
Description: This is an attempt to create ipkg.&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
NOTE:&lt;br /&gt;
&lt;br /&gt;
The fields Section and Source seem rather useless to me in this example and I initially left them out; however the ipkg-build script complained requiring them, so I just put them in as a workaround without knowing/”caring” of their need. There are other fields not included here which you might need for your purposes, check the web for more.&lt;br /&gt;
&lt;br /&gt;
Further the comments are mine for this documentation purposes only and the script MIGHT NOT permit comments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RUNNING THE ipkg-build SCRIPT&lt;br /&gt;
&lt;br /&gt;
Now simply run (of course being outside of the directory MyPackage):&lt;br /&gt;
&lt;br /&gt;
“./ipkg-build –c –o root –g root MyPackage” // as root or non-root, or&lt;br /&gt;
&lt;br /&gt;
“./ipkg-build –c MyPackage” //as root&lt;br /&gt;
&lt;br /&gt;
IF all’s well, a package on the current directory will be created.&lt;br /&gt;
&lt;br /&gt;
NOTE:&lt;br /&gt;
&lt;br /&gt;
Without the “-c” option, I could not get the package installed successfully, you can try with or without and see for yourself.&lt;br /&gt;
&lt;br /&gt;
==HowTo run Kismet on a WRT54G==&lt;br /&gt;
&lt;br /&gt;
*Install either the kismet or kismet_drone package. &lt;br /&gt;
*Edit /etc/kismet_drone.conf and change the source from wrt54g,eth1,wrt45g to wrt54g,prism0,wrt54g.&lt;br /&gt;
*Run kismet from your host, pc and off u go!&lt;br /&gt;
&lt;br /&gt;
==HowTo check your Linksys WRT54G version==&lt;br /&gt;
Finally some good info about finding the version number from outside markings and using NVRAM settings - info from www.openwrt.org&lt;br /&gt;
&lt;br /&gt;
Linksys WRT54G&lt;br /&gt;
&lt;br /&gt;
   1. Hardware versions&lt;br /&gt;
               1. Identification by S/N&lt;br /&gt;
         1. WRT54G v1.0&lt;br /&gt;
         2. WRT54G v1.1&lt;br /&gt;
         3. WRT54G v2.0&lt;br /&gt;
         4. WRT54G v2.2&lt;br /&gt;
         5. WRT54G v3.0 &amp;amp; WRT54G v3.1&lt;br /&gt;
         6. WRT54G v4.00&lt;br /&gt;
   2. Table summary&lt;br /&gt;
   3. Hardware hacking&lt;br /&gt;
&lt;br /&gt;
1. Hardware versions&lt;br /&gt;
&lt;br /&gt;
There are currently seven versions of the WRT54G (v1.0, v1.1, v2.0, v2.2, v3.0, v3.1, v4.00). With the exception of v4.00 devices (it is currently marked as untested for White Russian RC1), the WRT54G units are supported by OpenWrt 1.0 (White Russian) and later. boot_wait is off by default on these routers, so you should turn it on. The version number is found on the label on the bottom of the front part of the case below the Linksys logo.&lt;br /&gt;
1.0.1. Identification by S/N&lt;br /&gt;
&lt;br /&gt;
Useful for identifying shrinkwrapped units. The S/N can be found on the box, below the UPC barcode.&lt;br /&gt;
&lt;br /&gt;
(!) Please contribute to this list. (!)&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:400px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Model&lt;br /&gt;
| S/N&lt;br /&gt;
| CVS&lt;br /&gt;
| EXP&lt;br /&gt;
|- style=&amp;quot;height:100px&amp;quot; &lt;br /&gt;
| WRT54G v1.1&lt;br /&gt;
| CDF20xxxxxxx  CDF30xxxxxxx&lt;br /&gt;
| (./)&lt;br /&gt;
| (./)&lt;br /&gt;
|-&lt;br /&gt;
| WRT54G v2&lt;br /&gt;
| CDF50xxxxxxx&lt;br /&gt;
| (./)&lt;br /&gt;
| (./)&lt;br /&gt;
|-&lt;br /&gt;
| WRT54G v2.2&lt;br /&gt;
| CDF70xxxxxxx&lt;br /&gt;
| {X}&lt;br /&gt;
| (./)&lt;br /&gt;
|-&lt;br /&gt;
| WRT54G v3&lt;br /&gt;
| CDF80xxxxxxx&lt;br /&gt;
| {X}&lt;br /&gt;
| (./)&lt;br /&gt;
|-&lt;br /&gt;
| WRT54G v3.1 (AU?)&lt;br /&gt;
| CDF90xxxxxxx&lt;br /&gt;
| {X}&lt;br /&gt;
| (./)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
1.1. WRT54G v1.0&lt;br /&gt;
&lt;br /&gt;
The WRT54G v1.0 is based on the Broadcom 4710 board. It has a 125MHz CPU, 4Mb flash and 16Mb SDRAM. The wireless NIC is a mini-PCI card. The switch is an ADM6996.&lt;br /&gt;
1.2. WRT54G v1.1&lt;br /&gt;
&lt;br /&gt;
The WRT54G v1.1 is based on the Broadcom 4710 board. It has a 125MHz CPU, 4Mb flash and 16Mb SDRAM. The wireless NIC is soldered to the board. The switch is an ADM6996.&lt;br /&gt;
&lt;br /&gt;
Hardware informations (nvram) :&lt;br /&gt;
&lt;br /&gt;
boardtype=bcm94710dev&lt;br /&gt;
&lt;br /&gt;
1.3. WRT54G v2.0&lt;br /&gt;
&lt;br /&gt;
The WRT54G v2.0 is based on the Broadcom 4712 board. It has a 200MHz CPU, 4Mb flash and 16Mb SDRAM. The wireless NIC is integrated to the board. The switch is an ADM6996.&lt;br /&gt;
&lt;br /&gt;
Hardware informations (nvram) :&lt;br /&gt;
&lt;br /&gt;
boardtype=0x0101&lt;br /&gt;
boardflags=0x0188&lt;br /&gt;
&lt;br /&gt;
1.4. WRT54G v2.2&lt;br /&gt;
&lt;br /&gt;
The WRT54G v2.2 is based on the Broadcom 4712 board. It has a 200MHz CPU, 4Mb flash and 16Mb DDR-SDRAM. The wireless NIC is integrated to the board. The switch is a BCM5325.&lt;br /&gt;
&lt;br /&gt;
Hardware informations (nvram) :&lt;br /&gt;
&lt;br /&gt;
boardtype=0x0708&lt;br /&gt;
boardflags=0x0118&lt;br /&gt;
&lt;br /&gt;
1.5. WRT54G v3.0 &amp;amp; WRT54G v3.1&lt;br /&gt;
&lt;br /&gt;
This unit is just like the V2.2 Except it has an extra reboot button on the left front panel behind a Cisco logo.&lt;br /&gt;
1.6. WRT54G v4.00&lt;br /&gt;
&lt;br /&gt;
Please add information for this revision.&lt;br /&gt;
&lt;br /&gt;
Hardware informations (nvram) :&lt;br /&gt;
&lt;br /&gt;
boardrev=0x10&lt;br /&gt;
boardtype=0x0708&lt;br /&gt;
boardflags2=0&lt;br /&gt;
boardflags=0x0118&lt;br /&gt;
boardnum=42&lt;br /&gt;
&lt;br /&gt;
/!\ To take the front cover off of this unit you must first remove the small screws under the rubber covers of the front feet!&lt;br /&gt;
2. Table summary&lt;br /&gt;
&lt;br /&gt;
how to get info :&lt;br /&gt;
&lt;br /&gt;
* board info: nvram show | grep board | sort&lt;br /&gt;
* cpu model: cat /proc/cpuinfo | grep cpu&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:400px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
|Model&lt;br /&gt;
|boardrev&lt;br /&gt;
|boardtype&lt;br /&gt;
|boardflags&lt;br /&gt;
|boardflags2&lt;br /&gt;
|boardnum&lt;br /&gt;
|wl0_corerev&lt;br /&gt;
|cpu model&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v1.1&lt;br /&gt;
|&lt;br /&gt;
|bcm94710dev&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|42&lt;br /&gt;
|5&lt;br /&gt;
|BCM4710 V0.0&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v2.0&lt;br /&gt;
|&lt;br /&gt;
|0x0101&lt;br /&gt;
|0x0188&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v2.2&lt;br /&gt;
|&lt;br /&gt;
|0x0708&lt;br /&gt;
|0x0118&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v3.0&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0708&lt;br /&gt;
|0x0118&lt;br /&gt;
|0&lt;br /&gt;
|42&lt;br /&gt;
|7&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v3.1 (AU?)&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0708&lt;br /&gt;
|0x0118&lt;br /&gt;
|0&lt;br /&gt;
|42&lt;br /&gt;
|7&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v4.0&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0708&lt;br /&gt;
|0x0118&lt;br /&gt;
|0&lt;br /&gt;
|42&lt;br /&gt;
|7&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|WRT54GS v1.0&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0101&lt;br /&gt;
|0x0388&lt;br /&gt;
|0&lt;br /&gt;
|42&lt;br /&gt;
|7&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|WRT54GS v1.1&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0708&lt;br /&gt;
|0x0318&lt;br /&gt;
|0&lt;br /&gt;
|42&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Buffalo WBR-54G&lt;br /&gt;
|0x10&lt;br /&gt;
|bcm94710ap&lt;br /&gt;
|0x0188&lt;br /&gt;
|2&lt;br /&gt;
|42&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Toshiba WRC1000&lt;br /&gt;
|&lt;br /&gt;
|bcm94710r4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|100&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Buffalo WBR2-G54S&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0101&lt;br /&gt;
|0x0188&lt;br /&gt;
|0&lt;br /&gt;
|00&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Asus WL-500G Deluxe&lt;br /&gt;
|0x10&lt;br /&gt;
|bcm95365r&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|5&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*other variables (nvram) of interest : boot_ver, pmon_ver, firmware_version, os_version&lt;br /&gt;
&lt;br /&gt;
please complete this table. Look at this thread : [WWW] http://openwrt.org/forum/viewtopic.php?pid=8127#p8127 May be this table should move up to OpenWrtDocs/Hardware.&lt;br /&gt;
3. Hardware hacking&lt;br /&gt;
&lt;br /&gt;
There are revision XH units of the WRT54G v2.0. These units have 32Mb of memory, but they are locked to 16Mb. You can unlock the remaining memory with changing some of the variables. Afterburner (aka. Speedbooster) mode can be enabled with some variables, too.&lt;br /&gt;
&lt;br /&gt;
/!\ However, there are no guaranties, that these will work, and changing the memory configuration on a non-XH unit will give You a brick. Check the forums for more info.&lt;br /&gt;
If you have a look at the WRT54G v2.2 board, you can find on the left corner, near the power LED, an empty place for a 4 pins button. On the board it is printed as SW2. This is the second reset button you can find on WRT54G v3.0, except that it has not been soldered.&lt;br /&gt;
&lt;br /&gt;
==HowTo Stabilise a ver 2.2 [[WRT54G]] running OpenWRT based firmware==&lt;br /&gt;
After a lot of tweaking OLSR running on Linksys has had no &amp;quot;ping down&amp;quot; messages for about 5 days now. Some of the tips to getting OLSR on OpenWRT stable.&lt;br /&gt;
&lt;br /&gt;
1. Lock all the nodes to 802.11B don&#039;t let it auto sense&lt;br /&gt;
2. If there are any v2.2 hardware devices, change the clock speed to 216MHz with the following commands1&lt;br /&gt;
&lt;br /&gt;
# nvram set clkfreq=216&lt;br /&gt;
# nvram commit&lt;br /&gt;
# reboot&lt;br /&gt;
&lt;br /&gt;
3. Lock the RX and TX antenna to the one you connected your external antenna too, don&#039;t use AUTO. TAKE NOTE!!! On Version 2.0 hardware Antenna A is on the left looking from the front of the linksys and and on Version 2.,2 hardware Antenna A is on the right looking from the fron of the linksys. This caught me out a few times.&lt;br /&gt;
&lt;br /&gt;
==HowTo configure netmasks on OLSR/Freifunk==&lt;br /&gt;
I had this problem with the OLSR web interface on the Freifunk openwrt implementation. If entered the following for the HNA4 field&lt;br /&gt;
&lt;br /&gt;
HNA4: 10.3.13.1 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Which should advertise the whole 10.3.13.x net it would advertise the 10.0.0.0 net. I discovered that it needs the subnet mask in this format instead&lt;br /&gt;
&lt;br /&gt;
HNA4: 10.3.13.1/24&lt;br /&gt;
&lt;br /&gt;
A few other things I learnt&lt;br /&gt;
&lt;br /&gt;
1. NVRAM variable ff_hna4 stores the HNA4 setting&lt;br /&gt;
2. /etc/olsr.conf is ignored by freifunk&lt;br /&gt;
3. /rom/etc/olsrd.conf stores a permanent copy of the olsrd setup&lt;br /&gt;
4. /var/etc/olsrd.conf is a symbolic link to /tmp/etc/olsrd.conf ... this file is copied from /rom/etc/olsrd.conf into RAM (ramfs filesystem) and is the one called by olsrd.&lt;br /&gt;
&lt;br /&gt;
ps -A will reveal that olsrd is called as follows&lt;br /&gt;
&lt;br /&gt;
olsrd -f /var/etc/olsrd.conf -d 0&lt;br /&gt;
&lt;br /&gt;
==HowTo Brick and De-Brick a WRT54G==&lt;br /&gt;
Theres nothing like learning the hard way! As a result of my usual &amp;quot;If it ain&#039;t broke, it hasn&#039;t been fixed enough&amp;quot; approach to life, I fiddled with the Linksys until it innevitably went into a coma/ vegetative state. How did I manage this you ask? Simple, I started by doing a firmware upgrade using the wrong sveasoft image, which resulted in a moderately upset linksys which refused to talk to me on the web interface. With the help of our trusted Android (Andrew), I managed to do a reset-hold/ ping / tftp recovery and then flashed the poor bugger with OpenWRT, which according to OpenWRT is still not supported by them for the version 2.2 Linksys, which I subsequently found out I was using! So alas, all that remained was a perfectly dead Linksys, not responding to anything. It was time to go in, screwdrivers a blazing. I shorted out pins 15 and 16 and started up the Linksys, this created a crc error which was detected on boot, this then started up an emergency TFTP server which allowed me to ping and finally tftp the original Linksys firmware back onto it!&lt;br /&gt;
&lt;br /&gt;
More details on the recovery processes can be found here:&lt;br /&gt;
[http://openwrt.org/OpenWrtDocs/Troubleshooting OpenWrtDocs/Troubleshooting - OpenWrt]&lt;br /&gt;
&lt;br /&gt;
Whew!&lt;br /&gt;
&lt;br /&gt;
==How to set up Linksys as a RIP2 router with client mode==&lt;br /&gt;
&lt;br /&gt;
How to set up Linksys as a RIP2 router with client mode&lt;br /&gt;
&lt;br /&gt;
1. Load Alchemy pre-release 5.2.3 onto the linksys&lt;br /&gt;
&lt;br /&gt;
2. Set the Linksys Wireless interface to Client mode and set SSID to &amp;quot;pta-mesh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Using the web interface select Wireless - Basic Settings&lt;br /&gt;
Wireless Mode : Client&lt;br /&gt;
SSID: pta-mesh&lt;br /&gt;
Select Save Settings - continue&lt;br /&gt;
&lt;br /&gt;
3. Choose your IP addresses for the Wireless interface and the LAN interface&lt;br /&gt;
&lt;br /&gt;
I chose the following&lt;br /&gt;
WAN interface: 10.50.1.13&lt;br /&gt;
LAN interface: 10.3.11.1&lt;br /&gt;
&lt;br /&gt;
Using the Web interface select Setup - Basic Setup&lt;br /&gt;
Internet Connection Type: Static IP&lt;br /&gt;
Internet IP Address: 10.50.1.13&lt;br /&gt;
Subnet Mask: 255.255.255.0&lt;br /&gt;
Router Name: Something you like eg. david_home&lt;br /&gt;
Local IP Address: 10.3.11.1&lt;br /&gt;
Subnet Mask: 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Select Save Settings - continue&lt;br /&gt;
&lt;br /&gt;
4. Add router configuration files to the target directory&lt;br /&gt;
&lt;br /&gt;
Enter the router directory ($LINKSYS/src/router)&lt;br /&gt;
# cd /mipsel-uclibc/target&lt;br /&gt;
# mkdir /usr/local&lt;br /&gt;
# mkdir /usr/local/etc&lt;br /&gt;
&lt;br /&gt;
Download my RIP configuration files for linksys&lt;br /&gt;
ripd.conf&lt;br /&gt;
zebra.conf&lt;br /&gt;
&lt;br /&gt;
Copy these files to $LINKSYS/src/router/mipsel-uclibc/target/usr/local/etc&lt;br /&gt;
&lt;br /&gt;
Download my image making script which will build files in the code.bin image&lt;br /&gt;
makeimage.sh&lt;br /&gt;
&lt;br /&gt;
Copy this script to $LINKSYS/src/router&lt;br /&gt;
Run the script&lt;br /&gt;
./makeimage.sh&lt;br /&gt;
&lt;br /&gt;
You should now have a code.bin with the router config files in /usr/local/etc&lt;br /&gt;
Upload this new firmware to the linksys&lt;br /&gt;
&lt;br /&gt;
5. Add commands to rc_startup to startup RIP, Flush iptables (so that RIP messages can arrive on RIP port) and remove NAT&lt;br /&gt;
&lt;br /&gt;
zebra -d -f /usr/local/etc/zebra.conf&lt;br /&gt;
ripd -d -f /usr/local/etc/ripd.conf&lt;br /&gt;
iptables -F&lt;br /&gt;
iptables -F -t nat&lt;br /&gt;
&lt;br /&gt;
8. You should now have a rip enabled linksys client - Try ping the network connected to the wireless interface from a machine connected to the LAN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Things to improve in this recipe&lt;br /&gt;
1. Don&#039;t flush all iptables - just enable the port for RIP routing&lt;br /&gt;
2. Find location in Makefile where the code.bin image is made - don&#039;t need my custom script&lt;br /&gt;
&lt;br /&gt;
==HowTo route between WLAN and LAN on a WRT54G with Sveasoft==&lt;br /&gt;
Make sure you have installed Sveasoft Alchemy 5.2.4&lt;br /&gt;
&lt;br /&gt;
Go to Administration - Diagnostics and enter the following into the command line&lt;br /&gt;
 brctl delif br0 eth1&lt;br /&gt;
 ifconfig eth1 down&lt;br /&gt;
 ifconfig eth1 up&lt;br /&gt;
 if addr add 192.168.2.1/24 dev eth1&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;save startup&amp;quot;&lt;br /&gt;
Reboot linksys&lt;br /&gt;
&lt;br /&gt;
This will create a new subnet for the wireless side of the router on the 192.168.2.0 network&lt;br /&gt;
The LAN side of the router will remain on the 192.168.1.0 network&lt;br /&gt;
&lt;br /&gt;
==HowTo Cross compile for the WRT54G==&lt;br /&gt;
Got a c++ program compiled for linksys&lt;br /&gt;
&lt;br /&gt;
The C++ environment is configured!&lt;br /&gt;
&lt;br /&gt;
*1. Download the linksys firmware source&lt;br /&gt;
*2. Copy the brcm/ directory from /tools to /opt&lt;br /&gt;
*3. add /opt/brcm/hndtools-mipsel-linux/bin to your path&lt;br /&gt;
*4. add /opt/brcm/hndtools-mipsel-uclibc/bin to your path&lt;br /&gt;
&lt;br /&gt;
*Use mipsel-linux-g++ compiler to compile any c++ code&lt;br /&gt;
*Don&#039;t use the mipsel-uclibc-g++ compiler - this was my mistake!&lt;br /&gt;
*Now we can try compile mobile mesh for linksys&lt;br /&gt;
&lt;br /&gt;
=HowTo create/be part of a VPN=&lt;br /&gt;
Establishing IPsec tunnel/connection between FreeBSD and Linux (openswan IPsec Cisco WRT54G Router)&lt;br /&gt;
&lt;br /&gt;
Establishing IPsec tunnel/connection between FreeBSD and Linux (openswan IPsec Cisco WRT54G Router)&lt;br /&gt;
&lt;br /&gt;
Below is a simple setup demonstrating steps to establish an IPsec connection/tunnel between two machines one running Ipsec/racoon (on FreeBSD) and the other running openswan Ipsec (on WRT54G running Linux) using pre-shared key: This IPsec setup example shows how to control the Private LAN_A (146.64.0.0) network access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.........(INTERNET)&lt;br /&gt;
&lt;br /&gt;
.........|&lt;br /&gt;
&lt;br /&gt;
.........|&lt;br /&gt;
&lt;br /&gt;
..| FreeBSD | ......10.50.1.3..............................10.50.1.80| Openswan IPsec|&lt;br /&gt;
&lt;br /&gt;
.| Router_A |&amp;lt;========&amp;gt; (“NETWORK”)&amp;lt;=======&amp;gt;| Router_B |&lt;br /&gt;
&lt;br /&gt;
.| 146.64.17.1 |................................................................| 10.1.13.1 |&lt;br /&gt;
&lt;br /&gt;
............ ||.........................................................................||&lt;br /&gt;
&lt;br /&gt;
...Private LAN_A....................................................PPrivate LAN_B&lt;br /&gt;
&lt;br /&gt;
...........|.......................................................................................|...........&lt;br /&gt;
....Client_A (146.64.17.12) ..................................Client_B (10.1.13.130)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: Before running racoon/ipsec and openswan ipsec, ensure that all nodes can successfully reach (ping) each other.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
INSTALLING OPENSWAN ON WRT54G&lt;br /&gt;
&lt;br /&gt;
To install, add the following to /etc/ipkg.conf:&lt;br /&gt;
&lt;br /&gt;
src openswan ftp://ftp.openswan.org/openswan/binaries/openwrt/buildroot-20040509/ipkg/&lt;br /&gt;
&lt;br /&gt;
and then run:&lt;br /&gt;
&lt;br /&gt;
ipkg update&lt;br /&gt;
&lt;br /&gt;
ipkg install gmp mawk openswan-module openswan&lt;br /&gt;
&lt;br /&gt;
NOTE: Since /etc/ipkg.conf would normally be a link to the file in /rom directory; You can simple delete the link, and then copy the file over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CONFIGURATION (Router_A IPsec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are three (3) configuration files on Router_A that needs to be edited: ipsec.conf (found in /etc on FreeBSD), psk.conf.(found in /usr/local/etc/racoon/ on FreeBSD) and racoon.conf.(found in /usr/local/etc/racoon/ on FreeBSD).&lt;br /&gt;
&lt;br /&gt;
Add the following two lines in ipsec.conf: (This file defines the ends points of the tunnel to be established. There’d be two lines for each LAN_B client )&lt;br /&gt;
&lt;br /&gt;
spdadd 146.64.0.0/16 10.1.13.0/24 any -P out ipsec esp/tunnel/10.50.1.3-10.50.1.80/require;&lt;br /&gt;
&lt;br /&gt;
spdadd 10.1.13.0/24 146.64.0.0/16 any -P in ipsec esp/tunnel/10.50.1.80-10.50.1.3/require;&lt;br /&gt;
&lt;br /&gt;
Roughly; the first line says “traffic coming from 146.64.0.0 network destined for 10.1.13.0 network must be transported via an IPsec tunnel with local endpoint 10.50.1.3 and far endpoint 10.50.1.80”.&lt;br /&gt;
&lt;br /&gt;
The second line says “traffic coming from 10.1.13.0 network destined for 146.64.0.0 network must/would use an IPsec tunnel with a far endpoint 10.50.1.80 and local endpoint 10.50.1.3”.&lt;br /&gt;
&lt;br /&gt;
Add the following line to psk.conf (This file defines the pre-shared key to be used between Router_A and Router_B).&lt;br /&gt;
&lt;br /&gt;
10.50.1.80 presharedkey&lt;br /&gt;
&lt;br /&gt;
NOTE: Comments must be on a different line to the pre-shared key entry, otherwise the comments are interpreted as part of the pre-shared key.&lt;br /&gt;
&lt;br /&gt;
Add the following lines to racoon.conf&lt;br /&gt;
&lt;br /&gt;
path pre_shared_key &amp;quot;/usr/local/etc/racoon/psk.txt&amp;quot; ;&lt;br /&gt;
&lt;br /&gt;
remote anonymous&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
# exchange_mode aggressive,main ;&lt;br /&gt;
&lt;br /&gt;
exchange_mode main ;&lt;br /&gt;
&lt;br /&gt;
lifetime time 24 hour ;&lt;br /&gt;
&lt;br /&gt;
proposal {&lt;br /&gt;
&lt;br /&gt;
encryption_algorithm 3des ;&lt;br /&gt;
&lt;br /&gt;
hash_algorithm sha1;&lt;br /&gt;
&lt;br /&gt;
authentication_method pre_shared_key ;&lt;br /&gt;
&lt;br /&gt;
dh_group 2 ;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sainfo anonymous&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
lifetime time 12 hour ;&lt;br /&gt;
&lt;br /&gt;
encryption_algorithm 3des, blowfish, des, rijndael ;&lt;br /&gt;
&lt;br /&gt;
authentication_algorithm hmac_sha1, hmac_md5 ;&lt;br /&gt;
&lt;br /&gt;
compression_algorithm deflate ;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: The IPsec version (2.3.1) used in this example did not seem to support “aggressive” exchange_mode hence “main” is specified. However, it is possible to include more than mode by separating them with comma; i.e.&lt;br /&gt;
&lt;br /&gt;
exchange_mode aggressive, main ;&lt;br /&gt;
&lt;br /&gt;
Both ways (specifying one or more modes) works! Further other lines with more than one values separated by comma may contain only one value as described for exchange_mode above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CONFIGURATION (Openswan IPsec, Router_B)&lt;br /&gt;
&lt;br /&gt;
There are two (2) files on Router_B that needs editing: ipsec.conf (found in /etc on Linux) and ipsec.secrets (found in /etc on Linux).&lt;br /&gt;
&lt;br /&gt;
Add the following line in ipsec.secrets: (This file defines the ends points of the tunnel to be established and also the pre-shared key to be used)&lt;br /&gt;
&lt;br /&gt;
10.50.1.3 10.50.1.80: PSK “presharedkey”&lt;br /&gt;
&lt;br /&gt;
NOTE: 1. Place the string after PSK in quotes if it does not start with 0x (as in a hexadecimal number), otherwise openswan will complain.&lt;br /&gt;
&lt;br /&gt;
2. The string after PSK must be the same as that specified in psk.conf on Router_A.&lt;br /&gt;
&lt;br /&gt;
Add the following lines in ipsec.conf: (This file defines among other things, the network to be protected, authentication methods, type of connection, etc.)&lt;br /&gt;
&lt;br /&gt;
config setup&lt;br /&gt;
&lt;br /&gt;
interfaces=&amp;quot;ipsec0=eth1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
klipsdebug=none&lt;br /&gt;
&lt;br /&gt;
plutodebug=none&lt;br /&gt;
&lt;br /&gt;
uniqueids=yes&lt;br /&gt;
&lt;br /&gt;
conn %default&lt;br /&gt;
&lt;br /&gt;
keyingtries=0&lt;br /&gt;
&lt;br /&gt;
authby=secret #rsasig&lt;br /&gt;
&lt;br /&gt;
conn crypt&lt;br /&gt;
&lt;br /&gt;
left=10.50.1.80&lt;br /&gt;
&lt;br /&gt;
leftid=10.50.1.80&lt;br /&gt;
&lt;br /&gt;
leftsubnet=10.1.13.1/24&lt;br /&gt;
&lt;br /&gt;
right=10.50.1.3&lt;br /&gt;
&lt;br /&gt;
rightid=10.50.1.3&lt;br /&gt;
&lt;br /&gt;
rightsubnet=146.64.8.8/16&lt;br /&gt;
&lt;br /&gt;
auto=start&lt;br /&gt;
&lt;br /&gt;
type=tunnel&lt;br /&gt;
&lt;br /&gt;
NOTE: The name of our connection is called “crypt”. Under “config setup”, the line interfaces=”ipsec0=eth1” must refer to a real interface (ifconfig will show available interfaces) and also must be the interface through which the data to be protected will travel, in case of more than one NIC. The line “auto=start” says, the connection “crypt” must be brought up when openswan ipsec starts up; to bring up the connection manually either comment out the line or specify “auto=ignore”. The explanation given for ipsec.conf on Router_A is pretty much the same as for Router_B.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
STARTING UP IPsec and Racoon (FreeBSD).&lt;br /&gt;
&lt;br /&gt;
At this point all machines are able to reach (ping) each other successfully. Next ensure ipsec and racoon are not running. On my machine I do:&lt;br /&gt;
&lt;br /&gt;
verdi2istc#/etc/rc.d/ipsec stop&lt;br /&gt;
&lt;br /&gt;
Clearing ipsec manual keys/policies.&lt;br /&gt;
&lt;br /&gt;
to stop ipsec if it was already running; and do&lt;br /&gt;
&lt;br /&gt;
verdi2istc# setkey -P -D&lt;br /&gt;
&lt;br /&gt;
No SPD entries.&lt;br /&gt;
&lt;br /&gt;
To ensure there are no IPsec SA/SP database entries; and next do&lt;br /&gt;
&lt;br /&gt;
verdi2istc#killall racoon&lt;br /&gt;
&lt;br /&gt;
to stop racoon.&lt;br /&gt;
&lt;br /&gt;
Next issue&lt;br /&gt;
&lt;br /&gt;
verdi2istc# /etc/rc.d/ipsec restart&lt;br /&gt;
&lt;br /&gt;
to start ipsec, and to verify ipsec started successfully then do&lt;br /&gt;
&lt;br /&gt;
verdi2istd# setkey -P -D&lt;br /&gt;
&lt;br /&gt;
10.1.13.0/24[any] 146.64.0.0/16[any] any&lt;br /&gt;
&lt;br /&gt;
in ipsec&lt;br /&gt;
&lt;br /&gt;
esp/tunnel/10.50.1.80-10.50.1.3/require&lt;br /&gt;
&lt;br /&gt;
created: Aug 30 09:27:39 2005 lastused: Aug 30 09:27:39 2005&lt;br /&gt;
&lt;br /&gt;
lifetime: 0(s) validtime: 0(s)&lt;br /&gt;
&lt;br /&gt;
spid=16531 seq=1 pid=583&lt;br /&gt;
&lt;br /&gt;
refcnt=1&lt;br /&gt;
&lt;br /&gt;
146.64.0.0/16[any] 10.1.13.0/24[any] any&lt;br /&gt;
&lt;br /&gt;
out ipsec&lt;br /&gt;
&lt;br /&gt;
esp/tunnel/10.50.1.3-10.50.1.80/require&lt;br /&gt;
&lt;br /&gt;
created: Aug 30 09:27:39 2005 lastused: Aug 30 09:27:39 2005&lt;br /&gt;
&lt;br /&gt;
lifetime: 0(s) validtime: 0(s)&lt;br /&gt;
&lt;br /&gt;
spid=16530 seq=0 pid=583&lt;br /&gt;
&lt;br /&gt;
refcnt=1&lt;br /&gt;
&lt;br /&gt;
From Router_A, type either racoon (to run in the backgroung) or racoon –F&lt;br /&gt;
&lt;br /&gt;
verdi2istd#racoon&lt;br /&gt;
&lt;br /&gt;
or to fun in foreground type&lt;br /&gt;
&lt;br /&gt;
verdi2istd#racoon -F -d&lt;br /&gt;
&lt;br /&gt;
Foreground mode.&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: INFO: main.c:172:main(): @(#)package version freebsd-20040818a&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: INFO: main.c:174:main(): @(#)internal version 20001216 sakane@kame.net&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: INFO: main.c:175:main(): @(#)This product linked OpenSSL 0.9.7d 17 Mar 2004 (http://www.openssl.org/)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: pfkey.c:434:pfkey_init(): call pfkey_send_register for AH&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: pfkey.c:434:pfkey_init(): call pfkey_send_register for ESP&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: pfkey.c:434:pfkey_init(): call pfkey_send_register for IPCOMP&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: cftoken.l:578:yycf_set_buffer(): reading config file /usr/local/etc/racoon/racoon.conf&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: pfkey.c:2379:pk_checkalg(): compression algorithm can not be checked because sadb message doesn&#039;t support it.&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: 10.50.1.3 (ath0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: fe80::202:6fff:fe21:2e71%ath0 (ath0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: 146.64.8.1 (sis0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: fe80::200:24ff:fec2:b684%sis0 (sis0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: 127.0.0.1 (lo0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: ::1 (lo0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: fe80::1%lo0 (lo0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:474:autoconf_myaddrsport(): configuring default isakmp port.&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: DEBUG: grabmyaddr.c:496:autoconf_myaddrsport(): 7 addrs are configured successfully&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): fe80::1%lo0[500] used as isakmp port (fd=5)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): ::1[500] used as isakmp port (fd=6)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): 127.0.0.1[500] used as isakmp port (fd=7)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): fe80::200:24ff:fec2:b684%sis0[500] used as isakmp port (fd=8)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): 146.64.8.1[500] used as isakmp port (fd=9)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): fe80::202:6fff:fe21:2e71%ath0[500] used as isakmp port (fd=10)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): 10.50.1.3[500] used as isakmp port (fd=11)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: DEBUG: pfkey.c:197:pfkey_handler(): get pfkey X_SPDDUMP message&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: DEBUG: pfkey.c:197:pfkey_handler(): get pfkey X_SPDDUMP message&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: DEBUG: policy.c:184:cmpspidxstrict(): sub:0xbfbfea30: 146.64.0.0/16[0] 10.1.13.0/24[0] proto=any dir=out&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: DEBUG: policy.c:185:cmpspidxstrict(): db :0x809dc08: 10.1.13.0/24[0] 146.64.0.0/16[0] proto=any dir=in&lt;br /&gt;
&lt;br /&gt;
The –d option is for debug, to see more output add extra –d.&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: At this point if all went well Client_A should not be reachable (try ping) from Router_B and Client_B; meaning private LAN_A is now protected. However, Router_A and Router_B should be able reach/see each other. Do not continue until this is accomplished.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
STARTING UP OPENSWAN IPSEC&lt;br /&gt;
&lt;br /&gt;
Now, on Router_B do:&lt;br /&gt;
&lt;br /&gt;
root@Lawrence:/# ipsec setup restart&lt;br /&gt;
&lt;br /&gt;
ipsec_setup: Stopping Openswan IPsec...&lt;br /&gt;
&lt;br /&gt;
ipsec_setup: Starting Openswan IPsec 2.3.1...&lt;br /&gt;
&lt;br /&gt;
verify that the IPsec tunnel has been established correctly by issuing:&lt;br /&gt;
&lt;br /&gt;
root@Lawrence:/# ipsec whack --status&lt;br /&gt;
&lt;br /&gt;
000 interface ipsec0/eth1 10.50.1.80&lt;br /&gt;
&lt;br /&gt;
000 %myid = (none)&lt;br /&gt;
&lt;br /&gt;
000 debug none&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
000 algorithm ESP encrypt: id=3, name=ESP_3DES, ivlen=64, keysizemin=168, keysizemax=168&lt;br /&gt;
&lt;br /&gt;
000 algorithm ESP encrypt: id=12, name=ESP_AES, ivlen=128, keysizemin=128, keysizemax=256&lt;br /&gt;
&lt;br /&gt;
000 algorithm ESP auth attr: id=1, name=AUTH_ALGORITHM_HMAC_MD5, keysizemin=128, keysizemax=128&lt;br /&gt;
&lt;br /&gt;
000 algorithm ESP auth attr: id=2, name=AUTH_ALGORITHM_HMAC_SHA1, keysizemin=160, keysizemax=160&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE encrypt: id=7, name=OAKLEY_AES_CBC, blocksize=16, keydeflen=128&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE encrypt: id=5, name=OAKLEY_3DES_CBC, blocksize=8, keydeflen=192&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE hash: id=2, name=OAKLEY_SHA1, hashsize=20&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE hash: id=1, name=OAKLEY_MD5, hashsize=16&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=2, name=OAKLEY_GROUP_MODP1024, bits=1024&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=5, name=OAKLEY_GROUP_MODP1536, bits=1536&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=14, name=OAKLEY_GROUP_MODP2048, bits=2048&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=15, name=OAKLEY_GROUP_MODP3072, bits=3072&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=16, name=OAKLEY_GROUP_MODP4096, bits=4096&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=17, name=OAKLEY_GROUP_MODP6144, bits=6144&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=18, name=OAKLEY_GROUP_MODP8192, bits=8192&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
000 stats db_ops.c: {curr_cnt, total_cnt, maxsz} :context={0,0,0} trans={0,0,0} attrs={0,0,0}&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: 10.1.13.0/24===10.50.1.80...10.50.1.3===146.64.0.0/16; erouted; eroute owner: #2&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: srcip=unset; dstip=unset&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: ike_life: 3600s; ipsec_life: 28800s; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: policy: PSK+ENCRYPT+TUNNEL+PFS+UP; prio: 24,16; interface: eth1;&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: newest ISAKMP SA: #1; newest IPsec SA: #2;&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: IKE algorithm newest: 3DES_CBC_192-SHA1-MODP1024&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
000 #2: &amp;quot;crypt&amp;quot;:500 STATE_QUICK_I2 (sent QI2, IPsec SA established); EVENT_SA_REPLACE in 27961s; newest IPSEC; eroute owner&lt;br /&gt;
&lt;br /&gt;
000 #2: &amp;quot;crypt&amp;quot; esp.2ec9213@10.50.1.3 esp.aa7dc439@10.50.1.80 tun.1002@10.50.1.3 tun.1001@10.50.1.80&lt;br /&gt;
&lt;br /&gt;
000 #1: &amp;quot;crypt&amp;quot;:500 STATE_MAIN_I4 (ISAKMP SA established); EVENT_SA_REPLACE in 2625s; newest ISAKMP; nodpd&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
root@Lawrence:/#&lt;br /&gt;
&lt;br /&gt;
At this point Client_A should be reachable by Client_B. On each/either Router do a tcpdump; and any packets with ESP indicates that the setup tunnel is currently handling data from the clients.&lt;br /&gt;
&lt;br /&gt;
NOTE: ESP packets will only appear if there are packets from either client to the other client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DEBUGGING (Openswan IPsec)&lt;br /&gt;
&lt;br /&gt;
Earlier I showed how to stop a connection from being started up automatically by openswan. IPsec. So now with ipsec running but our connection “crypt” NOT up, we will debug the starting up of the connection (crypt). To debug the key exchange with racoon, first create a script with following content:&lt;br /&gt;
&lt;br /&gt;
ipsec pluto --debug-all&lt;br /&gt;
&lt;br /&gt;
ipsec whack \&lt;br /&gt;
&lt;br /&gt;
--name crypt \&lt;br /&gt;
&lt;br /&gt;
--tunnel \&lt;br /&gt;
&lt;br /&gt;
--host 10.50.1.80 \&lt;br /&gt;
&lt;br /&gt;
--nexthop 10.50.1.3 \&lt;br /&gt;
&lt;br /&gt;
--client 10.1.13.1/24 \&lt;br /&gt;
&lt;br /&gt;
--updown &#039;ipsec _updown&#039; --id 10.50.1.80 \&lt;br /&gt;
&lt;br /&gt;
--to \&lt;br /&gt;
&lt;br /&gt;
--host 10.50.1.3 \&lt;br /&gt;
&lt;br /&gt;
--client 146.64.8.1/16 \&lt;br /&gt;
&lt;br /&gt;
--updown &#039;ipsec _updown&#039; --id 10.50.1.3 \&lt;br /&gt;
&lt;br /&gt;
--psk \&lt;br /&gt;
&lt;br /&gt;
--esp 3des-md5,3des-sha1 \&lt;br /&gt;
&lt;br /&gt;
--ike 3des-md5,3des-sha1 \&lt;br /&gt;
&lt;br /&gt;
--encrypt&lt;br /&gt;
&lt;br /&gt;
ipsec whack --listen&lt;br /&gt;
&lt;br /&gt;
ipsec whack --route --name crypt&lt;br /&gt;
&lt;br /&gt;
ipsec whack --initiate --name crypt&lt;br /&gt;
&lt;br /&gt;
Running this script will show the various key exchange messages. The messages are pretty much clear to see what it’s happening.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=HowTo stop DHCP client over-writing resolv.conf=&lt;br /&gt;
&lt;br /&gt;
Finally I found out how to do it&lt;br /&gt;
&lt;br /&gt;
Edit the /etc/dhcp3/dhclient.conf file&lt;br /&gt;
Find the line that says request&lt;br /&gt;
&lt;br /&gt;
Comment out the line that requests for domain-name, domain-name-servers and host-name&lt;br /&gt;
&lt;br /&gt;
 request subnet-mask, broadcast-address, time-offset, routers,&lt;br /&gt;
 # domain-name, domain-name-servers, host-name,&lt;br /&gt;
 netbios-name-servers, netbios-scope;&lt;br /&gt;
&lt;br /&gt;
=HowTo setup DHCP with OLSR=&lt;br /&gt;
&lt;br /&gt;
There have been so many misleading postings on this - I will finally set the record straight.&lt;br /&gt;
&lt;br /&gt;
You will need to reserve a block of IP&#039;s for non OLSR wireless clients that want to connect onto the mesh network such as a laptop. Here is an example setup:&lt;br /&gt;
&lt;br /&gt;
Wireless router 1:&lt;br /&gt;
Wireless IP: 10.51.1.13&lt;br /&gt;
LAN IP: 10.3.13.1&lt;br /&gt;
Subnet for Wireless DHCP clients: 10.51.1.64/28 (This would mean that 16 machines could potentially connect to this wireless router. The IP leases will be in the range from 10.51.1.64 to 10.51.1.79)&lt;br /&gt;
&lt;br /&gt;
Wireless router 2:&lt;br /&gt;
Wireless IP: 10.51.1.14&lt;br /&gt;
LAN IP: 10.3.14.1&lt;br /&gt;
Subnet for Wireless DHCP clients : 10.51.1.80/28 (IP leases will be in the range from 10.51.1.80 to 10.51.1.93)&lt;br /&gt;
&lt;br /&gt;
To set this up On Friefunk firmware&lt;br /&gt;
Wireless Router 1:&lt;br /&gt;
OLSR:&lt;br /&gt;
OLSR DHCP: 10.51.1.64/28&lt;br /&gt;
&lt;br /&gt;
Wireless Router 2:&lt;br /&gt;
OLSR:&lt;br /&gt;
OLSR DHCP: 10.51.1.80/28&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Most people gave strange values for OLSR DHCP in their postings the most common one was:&lt;br /&gt;
OLSR DHCP: 10.51.1.80/28, 255.255.255.240&lt;br /&gt;
&lt;br /&gt;
The subnet mask after the comma (255.255.255.240) is an alternative to the slash format /28. Why does everyone have this reduntant subnet mask on their postings???&lt;br /&gt;
&lt;br /&gt;
=Linux HowTos=&lt;br /&gt;
==HowTo setup your own network profiles on a laptop==&lt;br /&gt;
 &lt;br /&gt;
I have always wanted to write some good scripts that configure my laptop for home and work wireless/ethernet automatically in ubuntu and so I set about building up a set of scripts that I can call.&lt;br /&gt;
&lt;br /&gt;
I have four scenarios:&lt;br /&gt;
1. use laptop at home with wireless access point&lt;br /&gt;
2. use laptop at home with ethernet&lt;br /&gt;
3. use laptop at work with wireless access point&lt;br /&gt;
4. use laptop at work with ethernet&lt;br /&gt;
&lt;br /&gt;
I created two files in /etc/network: interfaces.work and interfaces.home with all the ethernet and wireless settings for home and work in this file&lt;br /&gt;
&lt;br /&gt;
/etc/network/interfaces.home&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
address 10.3.13.102&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
gateway 10.3.13.1&lt;br /&gt;
&lt;br /&gt;
#The wireless network interface&lt;br /&gt;
iface eth1 inet dhcp&lt;br /&gt;
wireless-essid pta-mesh&lt;br /&gt;
wireless-mode Ad-Hoc&lt;br /&gt;
wireless-channel 1&lt;br /&gt;
wireless-key off&lt;br /&gt;
&lt;br /&gt;
/etc/network/interfaces.work&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
# The wireless network interface&lt;br /&gt;
iface eth1 inet dhcp&lt;br /&gt;
wireless-essid icomtek&lt;br /&gt;
wireless_mode Managed&lt;br /&gt;
wireless-key off&lt;br /&gt;
&lt;br /&gt;
I also created two files with my dns and domain settings for home and work in /etc/ called resolv.home and resolv.work&lt;br /&gt;
&lt;br /&gt;
resolv.home&lt;br /&gt;
search icomtek.csir.co.za elarduspark.org.za cids.org.za&lt;br /&gt;
nameserver 146.64.28.1 10.3.13.1&lt;br /&gt;
&lt;br /&gt;
resolv.work&lt;br /&gt;
search icomtek.csir.co.za cids.org.za&lt;br /&gt;
nameserver 146.64.28.1&lt;br /&gt;
&lt;br /&gt;
Here are my scripts that configure my interfaces based on the above files&lt;br /&gt;
&lt;br /&gt;
1. Setup for wireless networking at home&lt;br /&gt;
/usr/local/bin/homenet-wireless&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo Setting up network for home wireless network&lt;br /&gt;
sudo cp /etc/network/interfaces.home /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
eth0_status=`ifconfig | grep eth0`&lt;br /&gt;
eth1_status=`ifconfig | grep eth1`&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth0_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth1_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
sudo ifup eth1&lt;br /&gt;
&lt;br /&gt;
sudo cp /etc/resolv.home /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
2. Setup for ethernet networking at home&lt;br /&gt;
/usr/local/bin/homenet-fixed&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo Setting up network for home ethernet&lt;br /&gt;
sudo cp /etc/network/interfaces.home /etc/network/interfaces&lt;br /&gt;
sudo cp /etc/resolv.home /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
eth0_status=`ifconfig | grep eth0`&lt;br /&gt;
eth1_status=`ifconfig | grep eth1`&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth0_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth1_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
sudo ifup eth0&lt;br /&gt;
&lt;br /&gt;
3. Setup for wireless at work&lt;br /&gt;
/usr/local/bin/worknet-wireless&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo Setting up network for work wireless network&lt;br /&gt;
sudo cp /etc/network/interfaces.work /etc/network/interfaces&lt;br /&gt;
sudo cp /etc/resolv.work /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
eth0_status=`ifconfig | grep eth0`&lt;br /&gt;
eth1_status=`ifconfig | grep eth1`&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth0_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth1_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
sudo ifup eth1&lt;br /&gt;
&lt;br /&gt;
4. Setup for ethernet at work&lt;br /&gt;
/usr/local/bin/worknet-fixed&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo Setting up network for work ethernet&lt;br /&gt;
sudo cp /etc/network/interfaces.work /etc/network/interfaces&lt;br /&gt;
sudo cp /etc/resolv.work /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
eth0_status=`ifconfig | grep eth0`&lt;br /&gt;
eth1_status=`ifconfig | grep eth1`&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth0_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth1_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
sudo ifup eth0&lt;br /&gt;
&lt;br /&gt;
==HowTo Setup a Linux machine to become an access point==&lt;br /&gt;
&lt;br /&gt;
1. Make sure you install dhcpd off the Mandrake disks&lt;br /&gt;
&lt;br /&gt;
2. Put the Wireless card into access point mode with the following example script /etc/sysconfig/network-scripts/ifcfg-wifi0&lt;br /&gt;
&lt;br /&gt;
 DEVICE=wifi0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=192.168.0.1&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 NETWORK=192.168.0.0&lt;br /&gt;
 BROADCAST=192.168.0.255&lt;br /&gt;
 DHCP_TIMEOUT=5&lt;br /&gt;
 WIRELESS_MODE=Master&lt;br /&gt;
 WIRELESS_ESSID=mesh&lt;br /&gt;
 WIRELESS_CHANNEL=10&lt;br /&gt;
&lt;br /&gt;
3. run ifup wifi0&lt;br /&gt;
&lt;br /&gt;
4. copy /etc/dhcpd.conf.sample (this file only exisits the first time you install dhcpd) to dhcpd.conf ... Change the IP address allocations in this file to suite your needs&lt;br /&gt;
&lt;br /&gt;
5. start dhcpd with /etc/rc.d/init.d/dhcpd&lt;br /&gt;
&lt;br /&gt;
6. Check the /var/lib/dhcpd/dhcpd.leases to check which IP addresses are being assigned&lt;br /&gt;
&lt;br /&gt;
==HowTo Set up the SENOA card in linux==&lt;br /&gt;
&lt;br /&gt;
1. Download the hostap driver from ftp://edna.icomtek.csir.co.za/pub/drivers ... This driver ensures that the SENOA card can run in Access point mode as well as Ad-Hoc and Infrastructure&lt;br /&gt;
&lt;br /&gt;
2. Unzip using gunzip &amp;lt; hostap-driver-0.2.4.tar.gz | tar xvf -&lt;br /&gt;
&lt;br /&gt;
3. Change Makefile to include KERNEL_PATH ... KERNEL_PATH=/usr/src/linux&lt;br /&gt;
&lt;br /&gt;
4. Run &#039;make&#039;&lt;br /&gt;
&lt;br /&gt;
5. run &#039;make install&#039;&lt;br /&gt;
&lt;br /&gt;
6. Restart card manager using /etc/rc.d/init.d/pcmcia restart&lt;br /&gt;
&lt;br /&gt;
If you are using the PCI to PCMCIA bridge card with the RLSC475 chipset follow these steps&lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/sysconfig/pcmcia to include these lines&lt;br /&gt;
 PCMCIA=yes&lt;br /&gt;
 PCIC=RLSC475&lt;br /&gt;
&lt;br /&gt;
2. Run /etc/rc.d/init.d/pcmcia restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Linux network configurations tips==&lt;br /&gt;
&lt;br /&gt;
1. Setting IP address and modes of interface&lt;br /&gt;
&lt;br /&gt;
The file /etc/sysconfig/network-scripts/ifcfg-eth0 contains all the settingsfor interface eth0 including&lt;br /&gt;
 IP allocation type (static or dynamic)&lt;br /&gt;
 IP Address&lt;br /&gt;
 Subnet mask&lt;br /&gt;
 Broadcast address&lt;br /&gt;
 Wireless mode&lt;br /&gt;
 wireless channel&lt;br /&gt;
&lt;br /&gt;
type&lt;br /&gt;
 # man ifcfg&lt;br /&gt;
to see all the options for this config file&lt;br /&gt;
&lt;br /&gt;
Use&lt;br /&gt;
 # ifup eth0&lt;br /&gt;
to bring eth0 network interface up using the script ifcfg-eth0&lt;br /&gt;
&lt;br /&gt;
 #ifdown eth0&lt;br /&gt;
to pull the eth0 interface down&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. The DNS nameserver&lt;br /&gt;
&lt;br /&gt;
The file /etc/resolve.conf contains the nameserver (dns) to use for the network&lt;br /&gt;
&lt;br /&gt;
3. The gateway and other network routes&lt;br /&gt;
&lt;br /&gt;
To see the current network routes type&lt;br /&gt;
 # route&lt;br /&gt;
This will show you all the routes which the network is currently using&lt;br /&gt;
&lt;br /&gt;
To add a new route for interface eth0 type&lt;br /&gt;
 # route add -net 10.0.0.0 netmask 255.255.255.0 dev eth0&lt;br /&gt;
&lt;br /&gt;
This adds a route to the network 10.0.0.0 using device eth0&lt;br /&gt;
&lt;br /&gt;
 # route add default gw 10.0.0.8&lt;br /&gt;
Adds a default route which will be used if no other route matches.&lt;br /&gt;
&lt;br /&gt;
There should be an existing route, in this case, to 10.0.0.8 through some interface.&lt;br /&gt;
&lt;br /&gt;
=HowTo use the freespace loss equation=&lt;br /&gt;
From: [http://www.swisswireless.org/wlan_calc_en.html Radio theory and link planning for Wireless LAN (WLAN)]&lt;br /&gt;
&lt;br /&gt;
Everyone should know the free space loss equation in their head&lt;br /&gt;
&lt;br /&gt;
Loss [ dB] = 32.44 + 20(Log(distance[km]) + Log(freq[MHz]))&lt;br /&gt;
&lt;br /&gt;
Useful cable losses&lt;br /&gt;
&lt;br /&gt;
RG58 = 1 dB/m&lt;br /&gt;
RG213 = -.6 dB/m&lt;br /&gt;
RG174 = 2 dB/m (often used in pigtails)&lt;br /&gt;
LMR-400 = 0.22 dB/m&lt;br /&gt;
&lt;br /&gt;
Typical WiFi sensitivity for orinoco cards&lt;br /&gt;
&lt;br /&gt;
11Mbps = -82dBm&lt;br /&gt;
5.5Mbps = -87dBm&lt;br /&gt;
2Mbps = -92dBm&lt;br /&gt;
1Mbps = -94dBm&lt;br /&gt;
&lt;br /&gt;
Typical allowed signal to noise ratios for orinoco cards&lt;br /&gt;
&lt;br /&gt;
11Mbps = 16dB&lt;br /&gt;
5.5Mbps = 11dB&lt;br /&gt;
2Mbps = 7dB&lt;br /&gt;
1Mbps = 4dB&lt;br /&gt;
&lt;br /&gt;
Typical Noise level at 2.4GHz = -100dBm. Compute S/N level eg. at 11Mbps = -84dBm but sensitivity is -82dBm so sensitivity is the limiting factor.&lt;br /&gt;
&lt;br /&gt;
Just worked out that with our 2 8dBi omnis, 2dB loss in the RF cable each side of the link and the 200mW SENOA cards it is possible to acheive a theoretical distance of 5km with a 3dB margin (margin probably a bit tight), 4km will give you a 5dB margin - probably more realistic.&lt;/div&gt;</summary>
		<author><name>Acdc</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=HowTos&amp;diff=2157</id>
		<title>HowTos</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=HowTos&amp;diff=2157"/>
		<updated>2006-06-19T18:12:44Z</updated>

		<summary type="html">&lt;p&gt;Acdc: /* HowTo route between WLAN and LAN on a WRT54G with Sveasoft */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Getting started=&lt;br /&gt;
 NEW!&lt;br /&gt;
 The first edition of &amp;quot;Wireless Networking in the Deveolping World&amp;quot; is available as e-book now. Prints can be ordered on demand at lulu.com.&lt;br /&gt;
 The e-book is available at no cost under a creative commons license.&lt;br /&gt;
 Get your copy at [http://wndw.net/ wndw] or [[Media:Wndw-ebook.pdf|locally]] and share it.&lt;br /&gt;
&lt;br /&gt;
==Step 1. Check where you are on the planet:==&lt;br /&gt;
Your very first step is to find your current position on a map and then see what other wireless nodes are nearby. The best way to do this is to get a GPS and find out your coordinates and then to enter these into [http://earth.google.com/ google earth] - you can also use google earth to find your coordinates by identifying your house on the satellite image. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2. Check who else is around that you can connect to ==&lt;br /&gt;
&lt;br /&gt;
Once you have entered your google earth position - have a look at the positions of other wifi installations around you. For the [[Pretoria Mesh]] we have stored all the google earth positions in this [ftp://ftp.icomtek.csir.co.za/pub/in/wiki/wifi%20installations.kmz file]. You can also have a look on sites like [http://http://www.nodedb.com/ NodeDB] to see if there are other wireless installations near you. Once you have identified someone that you want to connect to, the best way to check connectivity is to use a WiFi sniffer such as [http://www.netstumbler.com/ netsumbler] for windows or [http://www.kismetwireless.net/ Kismet] on linux loaded on a laptop with a Wifi card fitted with an external antenna. For people in Pretoria we have a kit like this that can be borrowed from our WiFi tuckshop. Find the highest point at your house such as your roof and slowly rotate the directional antenna around you to see if you can pick up any WiFi access points. You will want to find an access point that is in ad-hoc mode and is mesh enabled - the wifi sniffer will tell you if the wireless node is in ad-hoc mode but you will have to contact the owner to check what mesh protocol, if any, they are running.&lt;br /&gt;
&lt;br /&gt;
==Step 3. Build a mesh node==&lt;br /&gt;
&lt;br /&gt;
Now that you know where you are located and you have hopefully found someone you can connect to, you will need to construct your mesh hardware.&lt;br /&gt;
&lt;br /&gt;
A mesh network node consists of a wireless router, antenna, routing software and settings.&lt;br /&gt;
&lt;br /&gt;
===[[Wireless Router]]===&lt;br /&gt;
Your wireless router can either be a PC with a wireless card, a dedicated [[Wireless Router]] unit or [[SBC]] Single Board Computer with a wireless card. A dedicated [[Wireless Router]] is the most popular choice because it is relatively cheap, easy to configure and low power making it practicle for a device that is meant to be on most of the time. Have a look at  [[Cost Tables]] to get an idea of all the possible types of mesh nodes you can build together with the cost implications&lt;br /&gt;
&lt;br /&gt;
===Antennae:=== &lt;br /&gt;
&lt;br /&gt;
The first step is to select an antenna that suits your situation best. There are several types of Antennae:&lt;br /&gt;
 1) [[Omnidirectional]]&lt;br /&gt;
 2) [[Yagi-Uda]]&lt;br /&gt;
 3) [[Grid]]&lt;br /&gt;
 4) [[Flat-panel]]&lt;br /&gt;
 5) [[Wave-guide]]&lt;br /&gt;
&lt;br /&gt;
The main difference between these antennae is the [[Radiation Pattern]]. Each type is also available with different [[Gain]] specifications.&lt;br /&gt;
Typical [[Wireless Router]]s are sold with 2 omnidirectional antennae and these can be re-used as part of your node, depending on your situation. If you have other nodes in your vicinity that are spread out in all directions but are fairly close (i.e. &amp;lt; 3Km), then an omni-directional antenna should suffice. If the other nodes are concentrated in one direction, for example, if you have a hill on one side of your house and theres no point in radiating the hill, then you may want to choose a more directional antenna, like a 180 degree [[Flat-panel]]. For point-to-point links, a smaller radiation angle is needed and [[Grid]] or [[Yagi-Uda]] type antennae are probably best suited.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Step 4. Install latest mesh networking firmware==&lt;br /&gt;
&lt;br /&gt;
The type of software that needs to be installed will typically be implmentations of mesh routing protocols like [[OLSR]], as well as security software, like VPN clients. On dedicated wireless routers, this is typically implemented on Firmware, while on standard PC&#039;s its implemented in Software.&lt;br /&gt;
&lt;br /&gt;
===[[WRT54G]] Firmware update===&lt;br /&gt;
[[Wireless Router]]s like the [[WRT54G]] are not mesh capable as is. One of the reasons for selecting the Linksys is that the Firmware is upgradeable. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution: &#039;&#039;&#039; Please note, that fiddling with the firmware will void your warranty!!! &lt;br /&gt;
&lt;br /&gt;
The following instructions apply to networks running the OLSR routing protocl, like the [[Pretoria Mesh]].&lt;br /&gt;
&lt;br /&gt;
1. Download freifunk firmware from [http://www.freifunk.net/wiki/FreifunkFirmwareEnglish Freifunk site] or [ftp://comgingsoon Local]&lt;br /&gt;
&lt;br /&gt;
2. Set boot wait on linksys&lt;br /&gt;
&lt;br /&gt;
Web method:&lt;br /&gt;
&lt;br /&gt;
Navigate to web page were you can send pings and type each of these lines one line at a time&lt;br /&gt;
&lt;br /&gt;
 ;cp${IFS}*/*/nvram${IFS}/tmp/n&lt;br /&gt;
 ;*/n${IFS}set${IFS}boot_wait=on&lt;br /&gt;
 ;*/n${IFS}commit&lt;br /&gt;
 ;*/n${IFS}show&amp;gt;tmp/ping.log&lt;br /&gt;
&lt;br /&gt;
NVRAM method:&lt;br /&gt;
&lt;br /&gt;
telnet into box and type the following&lt;br /&gt;
&lt;br /&gt;
nvram set boot_wait=on&lt;br /&gt;
nvram commit&lt;br /&gt;
reboot&lt;br /&gt;
&lt;br /&gt;
3. Upload firmware&lt;br /&gt;
&lt;br /&gt;
Give yourself a fixed IP in the 192.168.1.x range e.g. 192.168.1.100&lt;br /&gt;
&lt;br /&gt;
Use tftp to upload firmware&lt;br /&gt;
&lt;br /&gt;
 tftp 192.168.1.1&lt;br /&gt;
 tftp&amp;gt; binary&lt;br /&gt;
 tftp&amp;gt; rexmt 1&lt;br /&gt;
 tftp&amp;gt; trace&lt;br /&gt;
 Packet tracing on.&lt;br /&gt;
 tftp&amp;gt; put openwrt-g-freifunk-1.0.2-en.bin&lt;br /&gt;
&lt;br /&gt;
Wait for the power light to stop flashing&lt;br /&gt;
Power cycle the box&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 5. Install mesh node==&lt;br /&gt;
&lt;br /&gt;
===HowTo Water-proof your equipment===&lt;br /&gt;
[[Image:Usb-wireless-final.jpg|thumb]]&lt;br /&gt;
[[Image:Wireless-router-outdoor1.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 6. Setup mesh configuration==&lt;br /&gt;
&lt;br /&gt;
1. Check that the web interface is working. Visit the site http://192.168.1.1 on your web browser - you should see the main freifunk web interface appear&lt;br /&gt;
&lt;br /&gt;
2. Set up the wireless interface&lt;br /&gt;
&lt;br /&gt;
 WLAN protocol: Static&lt;br /&gt;
 Ip Address: 192.168.2.5&lt;br /&gt;
 Netmask: 255.255.255.0&lt;br /&gt;
 WLAN Mode: Ad Hoc (Peer to Peer)&lt;br /&gt;
 ESSID: mesh&lt;br /&gt;
 Channel: 6&lt;br /&gt;
 TX Power: 100&lt;br /&gt;
&lt;br /&gt;
3. Set up the LAN interface&lt;br /&gt;
&lt;br /&gt;
 LAN protocol: Static&lt;br /&gt;
 LAN IP: 192.168.4.1&lt;br /&gt;
 LAN Netmask: 255.255.255.0&lt;br /&gt;
 Disable NAT: yes&lt;br /&gt;
 Disable Firewall: yes&lt;br /&gt;
&lt;br /&gt;
4. Set up the WAN interface&lt;br /&gt;
&lt;br /&gt;
 WAN Protocol: DHCP&lt;br /&gt;
 Host name: Lawrence&lt;br /&gt;
&lt;br /&gt;
5. Set up OLSR&lt;br /&gt;
&lt;br /&gt;
 HNA4: 192.168.4.1 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
6. Restart the Linksys&lt;br /&gt;
&lt;br /&gt;
You should now be given an IP address in the 192.168.3.x range&lt;br /&gt;
You should be able to connect to another mesh access point and even get a default gateway to an internet point, if one exists&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 7. Start surfing==&lt;br /&gt;
&lt;br /&gt;
Hopefully you`re now hooked up to the internet and you can start surfing the web or hooking up to other PCś on the mesh&lt;br /&gt;
&lt;br /&gt;
==Step 8. Troubleshoot==&lt;br /&gt;
&lt;br /&gt;
Start with Layer 1:&lt;br /&gt;
 Is everything switched on?&lt;br /&gt;
 Is the LAN plugged in?&lt;br /&gt;
 Is the Antenna connected?&lt;br /&gt;
 Is it facing the right direction?&lt;br /&gt;
 Is it polarised correctly?&lt;br /&gt;
&lt;br /&gt;
Check software settings:&lt;br /&gt;
 Is the correct antenna selected?&lt;br /&gt;
 Is the routing daemon running?&lt;br /&gt;
&lt;br /&gt;
=[[WRT54G]] HowTos=&lt;br /&gt;
&lt;br /&gt;
==HowTo choose which antenna port to use on the WRT54G for an external antenna==&lt;br /&gt;
&lt;br /&gt;
Where to connect the external antenna&lt;br /&gt;
&lt;br /&gt;
 WRT54g v1, v1.1, v2 &lt;br /&gt;
 look at the backside and connect the external antenna to the right antenna connector&lt;br /&gt;
&lt;br /&gt;
 WRT54g v2.2 v3 3.1 v4 and the WRT54GL v1.0&lt;br /&gt;
 look at the backside and connect the external antenna to the left antenna connector&lt;br /&gt;
&lt;br /&gt;
==HowTo create an ipk package==&lt;br /&gt;
&lt;br /&gt;
TOOLS&lt;br /&gt;
&lt;br /&gt;
Get the script rightfully called ipkg-build at, among other places, ftp://ftp.handhelds.org/packages/ipkg-utils, or http://www.mizi.com/download/mz20/ipkg-build.&lt;br /&gt;
&lt;br /&gt;
CREATING THE PACKAGE STRUCTURE&lt;br /&gt;
&lt;br /&gt;
Say you wanna create a package called MyPackage; you further wanna package the project called MyProject. Then do the following:&lt;br /&gt;
&lt;br /&gt;
   1. Create a directory called MyPackage.&lt;br /&gt;
   2. Inside directory MyPackage, create a directory called CONTROL.&lt;br /&gt;
   3. Copy your project (MyProject) to the MyPackage directory.&lt;br /&gt;
   4. Inside directory CONTORL creating a file called control.&lt;br /&gt;
&lt;br /&gt;
NOTE:&lt;br /&gt;
&lt;br /&gt;
When the package is installed on the target, the MyPAckage directory will be created with respect to root. So if you wanted your files to be installed in /usr/bin on the target system, then our project would in this case be “/usr/bin”. That is you create inside directory MyPackage a directory called /usr/bin.&lt;br /&gt;
&lt;br /&gt;
FORMAT AND CONTENTS OF /CONTROL/control&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Package: MyPackage&lt;br /&gt;
&lt;br /&gt;
Priority: optional // default&lt;br /&gt;
&lt;br /&gt;
Version: 1.0 //package version&lt;br /&gt;
&lt;br /&gt;
Architecture: mipsel&lt;br /&gt;
&lt;br /&gt;
Maintainer: I_maintain@you.com&lt;br /&gt;
&lt;br /&gt;
Source: ftp:ftp:122.122.122.122 //See Note below&lt;br /&gt;
&lt;br /&gt;
Section: misc //See Note below&lt;br /&gt;
&lt;br /&gt;
Description: This is an attempt to create ipkg.&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
NOTE:&lt;br /&gt;
&lt;br /&gt;
The fields Section and Source seem rather useless to me in this example and I initially left them out; however the ipkg-build script complained requiring them, so I just put them in as a workaround without knowing/”caring” of their need. There are other fields not included here which you might need for your purposes, check the web for more.&lt;br /&gt;
&lt;br /&gt;
Further the comments are mine for this documentation purposes only and the script MIGHT NOT permit comments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RUNNING THE ipkg-build SCRIPT&lt;br /&gt;
&lt;br /&gt;
Now simply run (of course being outside of the directory MyPackage):&lt;br /&gt;
&lt;br /&gt;
“./ipkg-build –c –o root –g root MyPackage” // as root or non-root, or&lt;br /&gt;
&lt;br /&gt;
“./ipkg-build –c MyPackage” //as root&lt;br /&gt;
&lt;br /&gt;
IF all’s well, a package on the current directory will be created.&lt;br /&gt;
&lt;br /&gt;
NOTE:&lt;br /&gt;
&lt;br /&gt;
Without the “-c” option, I could not get the package installed successfully, you can try with or without and see for yourself.&lt;br /&gt;
&lt;br /&gt;
==HowTo run Kismet on a WRT54G==&lt;br /&gt;
&lt;br /&gt;
*Install either the kismet or kismet_drone package. &lt;br /&gt;
*Edit /etc/kismet_drone.conf and change the source from wrt54g,eth1,wrt45g to wrt54g,prism0,wrt54g.&lt;br /&gt;
*Run kismet from your host, pc and off u go!&lt;br /&gt;
&lt;br /&gt;
==HowTo check your Linksys WRT54G version==&lt;br /&gt;
Finally some good info about finding the version number from outside markings and using NVRAM settings - info from www.openwrt.org&lt;br /&gt;
&lt;br /&gt;
Linksys WRT54G&lt;br /&gt;
&lt;br /&gt;
   1. Hardware versions&lt;br /&gt;
               1. Identification by S/N&lt;br /&gt;
         1. WRT54G v1.0&lt;br /&gt;
         2. WRT54G v1.1&lt;br /&gt;
         3. WRT54G v2.0&lt;br /&gt;
         4. WRT54G v2.2&lt;br /&gt;
         5. WRT54G v3.0 &amp;amp; WRT54G v3.1&lt;br /&gt;
         6. WRT54G v4.00&lt;br /&gt;
   2. Table summary&lt;br /&gt;
   3. Hardware hacking&lt;br /&gt;
&lt;br /&gt;
1. Hardware versions&lt;br /&gt;
&lt;br /&gt;
There are currently seven versions of the WRT54G (v1.0, v1.1, v2.0, v2.2, v3.0, v3.1, v4.00). With the exception of v4.00 devices (it is currently marked as untested for White Russian RC1), the WRT54G units are supported by OpenWrt 1.0 (White Russian) and later. boot_wait is off by default on these routers, so you should turn it on. The version number is found on the label on the bottom of the front part of the case below the Linksys logo.&lt;br /&gt;
1.0.1. Identification by S/N&lt;br /&gt;
&lt;br /&gt;
Useful for identifying shrinkwrapped units. The S/N can be found on the box, below the UPC barcode.&lt;br /&gt;
&lt;br /&gt;
(!) Please contribute to this list. (!)&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:400px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Model&lt;br /&gt;
| S/N&lt;br /&gt;
| CVS&lt;br /&gt;
| EXP&lt;br /&gt;
|- style=&amp;quot;height:100px&amp;quot; &lt;br /&gt;
| WRT54G v1.1&lt;br /&gt;
| CDF20xxxxxxx  CDF30xxxxxxx&lt;br /&gt;
| (./)&lt;br /&gt;
| (./)&lt;br /&gt;
|-&lt;br /&gt;
| WRT54G v2&lt;br /&gt;
| CDF50xxxxxxx&lt;br /&gt;
| (./)&lt;br /&gt;
| (./)&lt;br /&gt;
|-&lt;br /&gt;
| WRT54G v2.2&lt;br /&gt;
| CDF70xxxxxxx&lt;br /&gt;
| {X}&lt;br /&gt;
| (./)&lt;br /&gt;
|-&lt;br /&gt;
| WRT54G v3&lt;br /&gt;
| CDF80xxxxxxx&lt;br /&gt;
| {X}&lt;br /&gt;
| (./)&lt;br /&gt;
|-&lt;br /&gt;
| WRT54G v3.1 (AU?)&lt;br /&gt;
| CDF90xxxxxxx&lt;br /&gt;
| {X}&lt;br /&gt;
| (./)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
1.1. WRT54G v1.0&lt;br /&gt;
&lt;br /&gt;
The WRT54G v1.0 is based on the Broadcom 4710 board. It has a 125MHz CPU, 4Mb flash and 16Mb SDRAM. The wireless NIC is a mini-PCI card. The switch is an ADM6996.&lt;br /&gt;
1.2. WRT54G v1.1&lt;br /&gt;
&lt;br /&gt;
The WRT54G v1.1 is based on the Broadcom 4710 board. It has a 125MHz CPU, 4Mb flash and 16Mb SDRAM. The wireless NIC is soldered to the board. The switch is an ADM6996.&lt;br /&gt;
&lt;br /&gt;
Hardware informations (nvram) :&lt;br /&gt;
&lt;br /&gt;
boardtype=bcm94710dev&lt;br /&gt;
&lt;br /&gt;
1.3. WRT54G v2.0&lt;br /&gt;
&lt;br /&gt;
The WRT54G v2.0 is based on the Broadcom 4712 board. It has a 200MHz CPU, 4Mb flash and 16Mb SDRAM. The wireless NIC is integrated to the board. The switch is an ADM6996.&lt;br /&gt;
&lt;br /&gt;
Hardware informations (nvram) :&lt;br /&gt;
&lt;br /&gt;
boardtype=0x0101&lt;br /&gt;
boardflags=0x0188&lt;br /&gt;
&lt;br /&gt;
1.4. WRT54G v2.2&lt;br /&gt;
&lt;br /&gt;
The WRT54G v2.2 is based on the Broadcom 4712 board. It has a 200MHz CPU, 4Mb flash and 16Mb DDR-SDRAM. The wireless NIC is integrated to the board. The switch is a BCM5325.&lt;br /&gt;
&lt;br /&gt;
Hardware informations (nvram) :&lt;br /&gt;
&lt;br /&gt;
boardtype=0x0708&lt;br /&gt;
boardflags=0x0118&lt;br /&gt;
&lt;br /&gt;
1.5. WRT54G v3.0 &amp;amp; WRT54G v3.1&lt;br /&gt;
&lt;br /&gt;
This unit is just like the V2.2 Except it has an extra reboot button on the left front panel behind a Cisco logo.&lt;br /&gt;
1.6. WRT54G v4.00&lt;br /&gt;
&lt;br /&gt;
Please add information for this revision.&lt;br /&gt;
&lt;br /&gt;
Hardware informations (nvram) :&lt;br /&gt;
&lt;br /&gt;
boardrev=0x10&lt;br /&gt;
boardtype=0x0708&lt;br /&gt;
boardflags2=0&lt;br /&gt;
boardflags=0x0118&lt;br /&gt;
boardnum=42&lt;br /&gt;
&lt;br /&gt;
/!\ To take the front cover off of this unit you must first remove the small screws under the rubber covers of the front feet!&lt;br /&gt;
2. Table summary&lt;br /&gt;
&lt;br /&gt;
how to get info :&lt;br /&gt;
&lt;br /&gt;
* board info: nvram show | grep board | sort&lt;br /&gt;
* cpu model: cat /proc/cpuinfo | grep cpu&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:400px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
|Model&lt;br /&gt;
|boardrev&lt;br /&gt;
|boardtype&lt;br /&gt;
|boardflags&lt;br /&gt;
|boardflags2&lt;br /&gt;
|boardnum&lt;br /&gt;
|wl0_corerev&lt;br /&gt;
|cpu model&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v1.1&lt;br /&gt;
|&lt;br /&gt;
|bcm94710dev&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|42&lt;br /&gt;
|5&lt;br /&gt;
|BCM4710 V0.0&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v2.0&lt;br /&gt;
|&lt;br /&gt;
|0x0101&lt;br /&gt;
|0x0188&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v2.2&lt;br /&gt;
|&lt;br /&gt;
|0x0708&lt;br /&gt;
|0x0118&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v3.0&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0708&lt;br /&gt;
|0x0118&lt;br /&gt;
|0&lt;br /&gt;
|42&lt;br /&gt;
|7&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v3.1 (AU?)&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0708&lt;br /&gt;
|0x0118&lt;br /&gt;
|0&lt;br /&gt;
|42&lt;br /&gt;
|7&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|WRT54G v4.0&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0708&lt;br /&gt;
|0x0118&lt;br /&gt;
|0&lt;br /&gt;
|42&lt;br /&gt;
|7&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|WRT54GS v1.0&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0101&lt;br /&gt;
|0x0388&lt;br /&gt;
|0&lt;br /&gt;
|42&lt;br /&gt;
|7&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|WRT54GS v1.1&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0708&lt;br /&gt;
|0x0318&lt;br /&gt;
|0&lt;br /&gt;
|42&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Buffalo WBR-54G&lt;br /&gt;
|0x10&lt;br /&gt;
|bcm94710ap&lt;br /&gt;
|0x0188&lt;br /&gt;
|2&lt;br /&gt;
|42&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Toshiba WRC1000&lt;br /&gt;
|&lt;br /&gt;
|bcm94710r4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|100&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Buffalo WBR2-G54S&lt;br /&gt;
|0x10&lt;br /&gt;
|0x0101&lt;br /&gt;
|0x0188&lt;br /&gt;
|0&lt;br /&gt;
|00&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Asus WL-500G Deluxe&lt;br /&gt;
|0x10&lt;br /&gt;
|bcm95365r&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|5&lt;br /&gt;
|BCM3302 V0.7&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*other variables (nvram) of interest : boot_ver, pmon_ver, firmware_version, os_version&lt;br /&gt;
&lt;br /&gt;
please complete this table. Look at this thread : [WWW] http://openwrt.org/forum/viewtopic.php?pid=8127#p8127 May be this table should move up to OpenWrtDocs/Hardware.&lt;br /&gt;
3. Hardware hacking&lt;br /&gt;
&lt;br /&gt;
There are revision XH units of the WRT54G v2.0. These units have 32Mb of memory, but they are locked to 16Mb. You can unlock the remaining memory with changing some of the variables. Afterburner (aka. Speedbooster) mode can be enabled with some variables, too.&lt;br /&gt;
&lt;br /&gt;
/!\ However, there are no guaranties, that these will work, and changing the memory configuration on a non-XH unit will give You a brick. Check the forums for more info.&lt;br /&gt;
If you have a look at the WRT54G v2.2 board, you can find on the left corner, near the power LED, an empty place for a 4 pins button. On the board it is printed as SW2. This is the second reset button you can find on WRT54G v3.0, except that it has not been soldered.&lt;br /&gt;
&lt;br /&gt;
==HowTo Stabilise a ver 2.2 [[WRT54G]] running OpenWRT based firmware==&lt;br /&gt;
After a lot of tweaking OLSR running on Linksys has had no &amp;quot;ping down&amp;quot; messages for about 5 days now. Some of the tips to getting OLSR on OpenWRT stable.&lt;br /&gt;
&lt;br /&gt;
1. Lock all the nodes to 802.11B don&#039;t let it auto sense&lt;br /&gt;
2. If there are any v2.2 hardware devices, change the clock speed to 216MHz with the following commands1&lt;br /&gt;
&lt;br /&gt;
# nvram set clkfreq=216&lt;br /&gt;
# nvram commit&lt;br /&gt;
# reboot&lt;br /&gt;
&lt;br /&gt;
3. Lock the RX and TX antenna to the one you connected your external antenna too, don&#039;t use AUTO. TAKE NOTE!!! On Version 2.0 hardware Antenna A is on the left looking from the front of the linksys and and on Version 2.,2 hardware Antenna A is on the right looking from the fron of the linksys. This caught me out a few times.&lt;br /&gt;
&lt;br /&gt;
==HowTo configure netmasks on OLSR/Freifunk==&lt;br /&gt;
I had this problem with the OLSR web interface on the Freifunk openwrt implementation. If entered the following for the HNA4 field&lt;br /&gt;
&lt;br /&gt;
HNA4: 10.3.13.1 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Which should advertise the whole 10.3.13.x net it would advertise the 10.0.0.0 net. I discovered that it needs the subnet mask in this format instead&lt;br /&gt;
&lt;br /&gt;
HNA4: 10.3.13.1/24&lt;br /&gt;
&lt;br /&gt;
A few other things I learnt&lt;br /&gt;
&lt;br /&gt;
1. NVRAM variable ff_hna4 stores the HNA4 setting&lt;br /&gt;
2. /etc/olsr.conf is ignored by freifunk&lt;br /&gt;
3. /rom/etc/olsrd.conf stores a permanent copy of the olsrd setup&lt;br /&gt;
4. /var/etc/olsrd.conf is a symbolic link to /tmp/etc/olsrd.conf ... this file is copied from /rom/etc/olsrd.conf into RAM (ramfs filesystem) and is the one called by olsrd.&lt;br /&gt;
&lt;br /&gt;
ps -A will reveal that olsrd is called as follows&lt;br /&gt;
&lt;br /&gt;
olsrd -f /var/etc/olsrd.conf -d 0&lt;br /&gt;
&lt;br /&gt;
==HowTo Brick and De-Brick a WRT54G==&lt;br /&gt;
Theres nothing like learning the hard way! As a result of my usual &amp;quot;If it ain&#039;t broke, it hasn&#039;t been fixed enough&amp;quot; approach to life, I fiddled with the Linksys until it innevitably went into a coma/ vegetative state. How did I manage this you ask? Simple, I started by doing a firmware upgrade using the wrong sveasoft image, which resulted in a moderately upset linksys which refused to talk to me on the web interface. With the help of our trusted Android (Andrew), I managed to do a reset-hold/ ping / tftp recovery and then flashed the poor bugger with OpenWRT, which according to OpenWRT is still not supported by them for the version 2.2 Linksys, which I subsequently found out I was using! So alas, all that remained was a perfectly dead Linksys, not responding to anything. It was time to go in, screwdrivers a blazing. I shorted out pins 15 and 16 and started up the Linksys, this created a crc error which was detected on boot, this then started up an emergency TFTP server which allowed me to ping and finally tftp the original Linksys firmware back onto it!&lt;br /&gt;
&lt;br /&gt;
More details on the recovery processes can be found here:&lt;br /&gt;
[http://openwrt.org/OpenWrtDocs/Troubleshooting OpenWrtDocs/Troubleshooting - OpenWrt]&lt;br /&gt;
&lt;br /&gt;
Whew!&lt;br /&gt;
&lt;br /&gt;
==How to set up Linksys as a RIP2 router with client mode==&lt;br /&gt;
&lt;br /&gt;
How to set up Linksys as a RIP2 router with client mode&lt;br /&gt;
&lt;br /&gt;
1. Load Alchemy pre-release 5.2.3 onto the linksys&lt;br /&gt;
&lt;br /&gt;
2. Set the Linksys Wireless interface to Client mode and set SSID to &amp;quot;pta-mesh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Using the web interface select Wireless - Basic Settings&lt;br /&gt;
Wireless Mode : Client&lt;br /&gt;
SSID: pta-mesh&lt;br /&gt;
Select Save Settings - continue&lt;br /&gt;
&lt;br /&gt;
3. Choose your IP addresses for the Wireless interface and the LAN interface&lt;br /&gt;
&lt;br /&gt;
I chose the following&lt;br /&gt;
WAN interface: 10.50.1.13&lt;br /&gt;
LAN interface: 10.3.11.1&lt;br /&gt;
&lt;br /&gt;
Using the Web interface select Setup - Basic Setup&lt;br /&gt;
Internet Connection Type: Static IP&lt;br /&gt;
Internet IP Address: 10.50.1.13&lt;br /&gt;
Subnet Mask: 255.255.255.0&lt;br /&gt;
Router Name: Something you like eg. david_home&lt;br /&gt;
Local IP Address: 10.3.11.1&lt;br /&gt;
Subnet Mask: 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Select Save Settings - continue&lt;br /&gt;
&lt;br /&gt;
4. Add router configuration files to the target directory&lt;br /&gt;
&lt;br /&gt;
Enter the router directory ($LINKSYS/src/router)&lt;br /&gt;
# cd /mipsel-uclibc/target&lt;br /&gt;
# mkdir /usr/local&lt;br /&gt;
# mkdir /usr/local/etc&lt;br /&gt;
&lt;br /&gt;
Download my RIP configuration files for linksys&lt;br /&gt;
ripd.conf&lt;br /&gt;
zebra.conf&lt;br /&gt;
&lt;br /&gt;
Copy these files to $LINKSYS/src/router/mipsel-uclibc/target/usr/local/etc&lt;br /&gt;
&lt;br /&gt;
Download my image making script which will build files in the code.bin image&lt;br /&gt;
makeimage.sh&lt;br /&gt;
&lt;br /&gt;
Copy this script to $LINKSYS/src/router&lt;br /&gt;
Run the script&lt;br /&gt;
./makeimage.sh&lt;br /&gt;
&lt;br /&gt;
You should now have a code.bin with the router config files in /usr/local/etc&lt;br /&gt;
Upload this new firmware to the linksys&lt;br /&gt;
&lt;br /&gt;
5. Add commands to rc_startup to startup RIP, Flush iptables (so that RIP messages can arrive on RIP port) and remove NAT&lt;br /&gt;
&lt;br /&gt;
zebra -d -f /usr/local/etc/zebra.conf&lt;br /&gt;
ripd -d -f /usr/local/etc/ripd.conf&lt;br /&gt;
iptables -F&lt;br /&gt;
iptables -F -t nat&lt;br /&gt;
&lt;br /&gt;
8. You should now have a rip enabled linksys client - Try ping the network connected to the wireless interface from a machine connected to the LAN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Things to improve in this recipe&lt;br /&gt;
1. Don&#039;t flush all iptables - just enable the port for RIP routing&lt;br /&gt;
2. Find location in Makefile where the code.bin image is made - don&#039;t need my custom script&lt;br /&gt;
&lt;br /&gt;
==HowTo route between WLAN and LAN on a WRT54G with Sveasoft==&lt;br /&gt;
Make sure you have installed Sveasoft Alchemy 5.2.4&lt;br /&gt;
&lt;br /&gt;
Go to Administration - Diagnostics and enter the following into the command line&lt;br /&gt;
 brctl delif br0 eth1&lt;br /&gt;
 ifconfig eth1 down&lt;br /&gt;
 ifconfig eth1 up&lt;br /&gt;
 if addr add 192.168.2.1/24 dev eth1&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;save startup&amp;quot;&lt;br /&gt;
Reboot linksys&lt;br /&gt;
&lt;br /&gt;
This will create a new subnet for the wireless side of the router on the 192.168.2.0 network&lt;br /&gt;
The LAN side of the router will remain on the 192.168.1.0 network&lt;br /&gt;
&lt;br /&gt;
==HowTo Cross compile for the WRT54G==&lt;br /&gt;
Got a c++ program compiled for linksys&lt;br /&gt;
&lt;br /&gt;
The C++ environment is configured!&lt;br /&gt;
&lt;br /&gt;
1.Download the linksys firmware source&lt;br /&gt;
2. Copy the brcm/ directory from /tools to /opt&lt;br /&gt;
3. add /opt/brcm/hndtools-mipsel-linux/bin to your path&lt;br /&gt;
4. add /opt/brcm/hndtools-mipsel-uclibc/bin to your path&lt;br /&gt;
&lt;br /&gt;
Use mipsel-linux-g++ compiler to compile any c++ code&lt;br /&gt;
Don&#039;t use the mipsel-uclibc-g++ compiler - this was my mistake!&lt;br /&gt;
Now we can try compile mobile mesh for linksys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=HowTo create/be part of a VPN=&lt;br /&gt;
Establishing IPsec tunnel/connection between FreeBSD and Linux (openswan IPsec Cisco WRT54G Router)&lt;br /&gt;
&lt;br /&gt;
Establishing IPsec tunnel/connection between FreeBSD and Linux (openswan IPsec Cisco WRT54G Router)&lt;br /&gt;
&lt;br /&gt;
Below is a simple setup demonstrating steps to establish an IPsec connection/tunnel between two machines one running Ipsec/racoon (on FreeBSD) and the other running openswan Ipsec (on WRT54G running Linux) using pre-shared key: This IPsec setup example shows how to control the Private LAN_A (146.64.0.0) network access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.........(INTERNET)&lt;br /&gt;
&lt;br /&gt;
.........|&lt;br /&gt;
&lt;br /&gt;
.........|&lt;br /&gt;
&lt;br /&gt;
..| FreeBSD | ......10.50.1.3..............................10.50.1.80| Openswan IPsec|&lt;br /&gt;
&lt;br /&gt;
.| Router_A |&amp;lt;========&amp;gt; (“NETWORK”)&amp;lt;=======&amp;gt;| Router_B |&lt;br /&gt;
&lt;br /&gt;
.| 146.64.17.1 |................................................................| 10.1.13.1 |&lt;br /&gt;
&lt;br /&gt;
............ ||.........................................................................||&lt;br /&gt;
&lt;br /&gt;
...Private LAN_A....................................................PPrivate LAN_B&lt;br /&gt;
&lt;br /&gt;
...........|.......................................................................................|...........&lt;br /&gt;
....Client_A (146.64.17.12) ..................................Client_B (10.1.13.130)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: Before running racoon/ipsec and openswan ipsec, ensure that all nodes can successfully reach (ping) each other.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
INSTALLING OPENSWAN ON WRT54G&lt;br /&gt;
&lt;br /&gt;
To install, add the following to /etc/ipkg.conf:&lt;br /&gt;
&lt;br /&gt;
src openswan ftp://ftp.openswan.org/openswan/binaries/openwrt/buildroot-20040509/ipkg/&lt;br /&gt;
&lt;br /&gt;
and then run:&lt;br /&gt;
&lt;br /&gt;
ipkg update&lt;br /&gt;
&lt;br /&gt;
ipkg install gmp mawk openswan-module openswan&lt;br /&gt;
&lt;br /&gt;
NOTE: Since /etc/ipkg.conf would normally be a link to the file in /rom directory; You can simple delete the link, and then copy the file over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CONFIGURATION (Router_A IPsec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are three (3) configuration files on Router_A that needs to be edited: ipsec.conf (found in /etc on FreeBSD), psk.conf.(found in /usr/local/etc/racoon/ on FreeBSD) and racoon.conf.(found in /usr/local/etc/racoon/ on FreeBSD).&lt;br /&gt;
&lt;br /&gt;
Add the following two lines in ipsec.conf: (This file defines the ends points of the tunnel to be established. There’d be two lines for each LAN_B client )&lt;br /&gt;
&lt;br /&gt;
spdadd 146.64.0.0/16 10.1.13.0/24 any -P out ipsec esp/tunnel/10.50.1.3-10.50.1.80/require;&lt;br /&gt;
&lt;br /&gt;
spdadd 10.1.13.0/24 146.64.0.0/16 any -P in ipsec esp/tunnel/10.50.1.80-10.50.1.3/require;&lt;br /&gt;
&lt;br /&gt;
Roughly; the first line says “traffic coming from 146.64.0.0 network destined for 10.1.13.0 network must be transported via an IPsec tunnel with local endpoint 10.50.1.3 and far endpoint 10.50.1.80”.&lt;br /&gt;
&lt;br /&gt;
The second line says “traffic coming from 10.1.13.0 network destined for 146.64.0.0 network must/would use an IPsec tunnel with a far endpoint 10.50.1.80 and local endpoint 10.50.1.3”.&lt;br /&gt;
&lt;br /&gt;
Add the following line to psk.conf (This file defines the pre-shared key to be used between Router_A and Router_B).&lt;br /&gt;
&lt;br /&gt;
10.50.1.80 presharedkey&lt;br /&gt;
&lt;br /&gt;
NOTE: Comments must be on a different line to the pre-shared key entry, otherwise the comments are interpreted as part of the pre-shared key.&lt;br /&gt;
&lt;br /&gt;
Add the following lines to racoon.conf&lt;br /&gt;
&lt;br /&gt;
path pre_shared_key &amp;quot;/usr/local/etc/racoon/psk.txt&amp;quot; ;&lt;br /&gt;
&lt;br /&gt;
remote anonymous&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
# exchange_mode aggressive,main ;&lt;br /&gt;
&lt;br /&gt;
exchange_mode main ;&lt;br /&gt;
&lt;br /&gt;
lifetime time 24 hour ;&lt;br /&gt;
&lt;br /&gt;
proposal {&lt;br /&gt;
&lt;br /&gt;
encryption_algorithm 3des ;&lt;br /&gt;
&lt;br /&gt;
hash_algorithm sha1;&lt;br /&gt;
&lt;br /&gt;
authentication_method pre_shared_key ;&lt;br /&gt;
&lt;br /&gt;
dh_group 2 ;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sainfo anonymous&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
lifetime time 12 hour ;&lt;br /&gt;
&lt;br /&gt;
encryption_algorithm 3des, blowfish, des, rijndael ;&lt;br /&gt;
&lt;br /&gt;
authentication_algorithm hmac_sha1, hmac_md5 ;&lt;br /&gt;
&lt;br /&gt;
compression_algorithm deflate ;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: The IPsec version (2.3.1) used in this example did not seem to support “aggressive” exchange_mode hence “main” is specified. However, it is possible to include more than mode by separating them with comma; i.e.&lt;br /&gt;
&lt;br /&gt;
exchange_mode aggressive, main ;&lt;br /&gt;
&lt;br /&gt;
Both ways (specifying one or more modes) works! Further other lines with more than one values separated by comma may contain only one value as described for exchange_mode above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CONFIGURATION (Openswan IPsec, Router_B)&lt;br /&gt;
&lt;br /&gt;
There are two (2) files on Router_B that needs editing: ipsec.conf (found in /etc on Linux) and ipsec.secrets (found in /etc on Linux).&lt;br /&gt;
&lt;br /&gt;
Add the following line in ipsec.secrets: (This file defines the ends points of the tunnel to be established and also the pre-shared key to be used)&lt;br /&gt;
&lt;br /&gt;
10.50.1.3 10.50.1.80: PSK “presharedkey”&lt;br /&gt;
&lt;br /&gt;
NOTE: 1. Place the string after PSK in quotes if it does not start with 0x (as in a hexadecimal number), otherwise openswan will complain.&lt;br /&gt;
&lt;br /&gt;
2. The string after PSK must be the same as that specified in psk.conf on Router_A.&lt;br /&gt;
&lt;br /&gt;
Add the following lines in ipsec.conf: (This file defines among other things, the network to be protected, authentication methods, type of connection, etc.)&lt;br /&gt;
&lt;br /&gt;
config setup&lt;br /&gt;
&lt;br /&gt;
interfaces=&amp;quot;ipsec0=eth1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
klipsdebug=none&lt;br /&gt;
&lt;br /&gt;
plutodebug=none&lt;br /&gt;
&lt;br /&gt;
uniqueids=yes&lt;br /&gt;
&lt;br /&gt;
conn %default&lt;br /&gt;
&lt;br /&gt;
keyingtries=0&lt;br /&gt;
&lt;br /&gt;
authby=secret #rsasig&lt;br /&gt;
&lt;br /&gt;
conn crypt&lt;br /&gt;
&lt;br /&gt;
left=10.50.1.80&lt;br /&gt;
&lt;br /&gt;
leftid=10.50.1.80&lt;br /&gt;
&lt;br /&gt;
leftsubnet=10.1.13.1/24&lt;br /&gt;
&lt;br /&gt;
right=10.50.1.3&lt;br /&gt;
&lt;br /&gt;
rightid=10.50.1.3&lt;br /&gt;
&lt;br /&gt;
rightsubnet=146.64.8.8/16&lt;br /&gt;
&lt;br /&gt;
auto=start&lt;br /&gt;
&lt;br /&gt;
type=tunnel&lt;br /&gt;
&lt;br /&gt;
NOTE: The name of our connection is called “crypt”. Under “config setup”, the line interfaces=”ipsec0=eth1” must refer to a real interface (ifconfig will show available interfaces) and also must be the interface through which the data to be protected will travel, in case of more than one NIC. The line “auto=start” says, the connection “crypt” must be brought up when openswan ipsec starts up; to bring up the connection manually either comment out the line or specify “auto=ignore”. The explanation given for ipsec.conf on Router_A is pretty much the same as for Router_B.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
STARTING UP IPsec and Racoon (FreeBSD).&lt;br /&gt;
&lt;br /&gt;
At this point all machines are able to reach (ping) each other successfully. Next ensure ipsec and racoon are not running. On my machine I do:&lt;br /&gt;
&lt;br /&gt;
verdi2istc#/etc/rc.d/ipsec stop&lt;br /&gt;
&lt;br /&gt;
Clearing ipsec manual keys/policies.&lt;br /&gt;
&lt;br /&gt;
to stop ipsec if it was already running; and do&lt;br /&gt;
&lt;br /&gt;
verdi2istc# setkey -P -D&lt;br /&gt;
&lt;br /&gt;
No SPD entries.&lt;br /&gt;
&lt;br /&gt;
To ensure there are no IPsec SA/SP database entries; and next do&lt;br /&gt;
&lt;br /&gt;
verdi2istc#killall racoon&lt;br /&gt;
&lt;br /&gt;
to stop racoon.&lt;br /&gt;
&lt;br /&gt;
Next issue&lt;br /&gt;
&lt;br /&gt;
verdi2istc# /etc/rc.d/ipsec restart&lt;br /&gt;
&lt;br /&gt;
to start ipsec, and to verify ipsec started successfully then do&lt;br /&gt;
&lt;br /&gt;
verdi2istd# setkey -P -D&lt;br /&gt;
&lt;br /&gt;
10.1.13.0/24[any] 146.64.0.0/16[any] any&lt;br /&gt;
&lt;br /&gt;
in ipsec&lt;br /&gt;
&lt;br /&gt;
esp/tunnel/10.50.1.80-10.50.1.3/require&lt;br /&gt;
&lt;br /&gt;
created: Aug 30 09:27:39 2005 lastused: Aug 30 09:27:39 2005&lt;br /&gt;
&lt;br /&gt;
lifetime: 0(s) validtime: 0(s)&lt;br /&gt;
&lt;br /&gt;
spid=16531 seq=1 pid=583&lt;br /&gt;
&lt;br /&gt;
refcnt=1&lt;br /&gt;
&lt;br /&gt;
146.64.0.0/16[any] 10.1.13.0/24[any] any&lt;br /&gt;
&lt;br /&gt;
out ipsec&lt;br /&gt;
&lt;br /&gt;
esp/tunnel/10.50.1.3-10.50.1.80/require&lt;br /&gt;
&lt;br /&gt;
created: Aug 30 09:27:39 2005 lastused: Aug 30 09:27:39 2005&lt;br /&gt;
&lt;br /&gt;
lifetime: 0(s) validtime: 0(s)&lt;br /&gt;
&lt;br /&gt;
spid=16530 seq=0 pid=583&lt;br /&gt;
&lt;br /&gt;
refcnt=1&lt;br /&gt;
&lt;br /&gt;
From Router_A, type either racoon (to run in the backgroung) or racoon –F&lt;br /&gt;
&lt;br /&gt;
verdi2istd#racoon&lt;br /&gt;
&lt;br /&gt;
or to fun in foreground type&lt;br /&gt;
&lt;br /&gt;
verdi2istd#racoon -F -d&lt;br /&gt;
&lt;br /&gt;
Foreground mode.&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: INFO: main.c:172:main(): @(#)package version freebsd-20040818a&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: INFO: main.c:174:main(): @(#)internal version 20001216 sakane@kame.net&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: INFO: main.c:175:main(): @(#)This product linked OpenSSL 0.9.7d 17 Mar 2004 (http://www.openssl.org/)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: pfkey.c:434:pfkey_init(): call pfkey_send_register for AH&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: pfkey.c:434:pfkey_init(): call pfkey_send_register for ESP&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: pfkey.c:434:pfkey_init(): call pfkey_send_register for IPCOMP&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: cftoken.l:578:yycf_set_buffer(): reading config file /usr/local/etc/racoon/racoon.conf&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: pfkey.c:2379:pk_checkalg(): compression algorithm can not be checked because sadb message doesn&#039;t support it.&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: 10.50.1.3 (ath0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: fe80::202:6fff:fe21:2e71%ath0 (ath0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: 146.64.8.1 (sis0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: fe80::200:24ff:fec2:b684%sis0 (sis0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: 127.0.0.1 (lo0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: ::1 (lo0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:206:grab_myaddrs(): my interface: fe80::1%lo0 (lo0)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:51:59: DEBUG: grabmyaddr.c:474:autoconf_myaddrsport(): configuring default isakmp port.&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: DEBUG: grabmyaddr.c:496:autoconf_myaddrsport(): 7 addrs are configured successfully&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): fe80::1%lo0[500] used as isakmp port (fd=5)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): ::1[500] used as isakmp port (fd=6)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): 127.0.0.1[500] used as isakmp port (fd=7)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): fe80::200:24ff:fec2:b684%sis0[500] used as isakmp port (fd=8)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): 146.64.8.1[500] used as isakmp port (fd=9)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): fe80::202:6fff:fe21:2e71%ath0[500] used as isakmp port (fd=10)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: INFO: isakmp.c:1368:isakmp_open(): 10.50.1.3[500] used as isakmp port (fd=11)&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: DEBUG: pfkey.c:197:pfkey_handler(): get pfkey X_SPDDUMP message&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: DEBUG: pfkey.c:197:pfkey_handler(): get pfkey X_SPDDUMP message&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: DEBUG: policy.c:184:cmpspidxstrict(): sub:0xbfbfea30: 146.64.0.0/16[0] 10.1.13.0/24[0] proto=any dir=out&lt;br /&gt;
&lt;br /&gt;
2005-08-30 09:52:00: DEBUG: policy.c:185:cmpspidxstrict(): db :0x809dc08: 10.1.13.0/24[0] 146.64.0.0/16[0] proto=any dir=in&lt;br /&gt;
&lt;br /&gt;
The –d option is for debug, to see more output add extra –d.&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: At this point if all went well Client_A should not be reachable (try ping) from Router_B and Client_B; meaning private LAN_A is now protected. However, Router_A and Router_B should be able reach/see each other. Do not continue until this is accomplished.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
STARTING UP OPENSWAN IPSEC&lt;br /&gt;
&lt;br /&gt;
Now, on Router_B do:&lt;br /&gt;
&lt;br /&gt;
root@Lawrence:/# ipsec setup restart&lt;br /&gt;
&lt;br /&gt;
ipsec_setup: Stopping Openswan IPsec...&lt;br /&gt;
&lt;br /&gt;
ipsec_setup: Starting Openswan IPsec 2.3.1...&lt;br /&gt;
&lt;br /&gt;
verify that the IPsec tunnel has been established correctly by issuing:&lt;br /&gt;
&lt;br /&gt;
root@Lawrence:/# ipsec whack --status&lt;br /&gt;
&lt;br /&gt;
000 interface ipsec0/eth1 10.50.1.80&lt;br /&gt;
&lt;br /&gt;
000 %myid = (none)&lt;br /&gt;
&lt;br /&gt;
000 debug none&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
000 algorithm ESP encrypt: id=3, name=ESP_3DES, ivlen=64, keysizemin=168, keysizemax=168&lt;br /&gt;
&lt;br /&gt;
000 algorithm ESP encrypt: id=12, name=ESP_AES, ivlen=128, keysizemin=128, keysizemax=256&lt;br /&gt;
&lt;br /&gt;
000 algorithm ESP auth attr: id=1, name=AUTH_ALGORITHM_HMAC_MD5, keysizemin=128, keysizemax=128&lt;br /&gt;
&lt;br /&gt;
000 algorithm ESP auth attr: id=2, name=AUTH_ALGORITHM_HMAC_SHA1, keysizemin=160, keysizemax=160&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE encrypt: id=7, name=OAKLEY_AES_CBC, blocksize=16, keydeflen=128&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE encrypt: id=5, name=OAKLEY_3DES_CBC, blocksize=8, keydeflen=192&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE hash: id=2, name=OAKLEY_SHA1, hashsize=20&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE hash: id=1, name=OAKLEY_MD5, hashsize=16&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=2, name=OAKLEY_GROUP_MODP1024, bits=1024&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=5, name=OAKLEY_GROUP_MODP1536, bits=1536&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=14, name=OAKLEY_GROUP_MODP2048, bits=2048&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=15, name=OAKLEY_GROUP_MODP3072, bits=3072&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=16, name=OAKLEY_GROUP_MODP4096, bits=4096&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=17, name=OAKLEY_GROUP_MODP6144, bits=6144&lt;br /&gt;
&lt;br /&gt;
000 algorithm IKE dh group: id=18, name=OAKLEY_GROUP_MODP8192, bits=8192&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
000 stats db_ops.c: {curr_cnt, total_cnt, maxsz} :context={0,0,0} trans={0,0,0} attrs={0,0,0}&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: 10.1.13.0/24===10.50.1.80...10.50.1.3===146.64.0.0/16; erouted; eroute owner: #2&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: srcip=unset; dstip=unset&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: ike_life: 3600s; ipsec_life: 28800s; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: policy: PSK+ENCRYPT+TUNNEL+PFS+UP; prio: 24,16; interface: eth1;&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: newest ISAKMP SA: #1; newest IPsec SA: #2;&lt;br /&gt;
&lt;br /&gt;
000 &amp;quot;crypt&amp;quot;: IKE algorithm newest: 3DES_CBC_192-SHA1-MODP1024&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
000 #2: &amp;quot;crypt&amp;quot;:500 STATE_QUICK_I2 (sent QI2, IPsec SA established); EVENT_SA_REPLACE in 27961s; newest IPSEC; eroute owner&lt;br /&gt;
&lt;br /&gt;
000 #2: &amp;quot;crypt&amp;quot; esp.2ec9213@10.50.1.3 esp.aa7dc439@10.50.1.80 tun.1002@10.50.1.3 tun.1001@10.50.1.80&lt;br /&gt;
&lt;br /&gt;
000 #1: &amp;quot;crypt&amp;quot;:500 STATE_MAIN_I4 (ISAKMP SA established); EVENT_SA_REPLACE in 2625s; newest ISAKMP; nodpd&lt;br /&gt;
&lt;br /&gt;
000&lt;br /&gt;
&lt;br /&gt;
root@Lawrence:/#&lt;br /&gt;
&lt;br /&gt;
At this point Client_A should be reachable by Client_B. On each/either Router do a tcpdump; and any packets with ESP indicates that the setup tunnel is currently handling data from the clients.&lt;br /&gt;
&lt;br /&gt;
NOTE: ESP packets will only appear if there are packets from either client to the other client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DEBUGGING (Openswan IPsec)&lt;br /&gt;
&lt;br /&gt;
Earlier I showed how to stop a connection from being started up automatically by openswan. IPsec. So now with ipsec running but our connection “crypt” NOT up, we will debug the starting up of the connection (crypt). To debug the key exchange with racoon, first create a script with following content:&lt;br /&gt;
&lt;br /&gt;
ipsec pluto --debug-all&lt;br /&gt;
&lt;br /&gt;
ipsec whack \&lt;br /&gt;
&lt;br /&gt;
--name crypt \&lt;br /&gt;
&lt;br /&gt;
--tunnel \&lt;br /&gt;
&lt;br /&gt;
--host 10.50.1.80 \&lt;br /&gt;
&lt;br /&gt;
--nexthop 10.50.1.3 \&lt;br /&gt;
&lt;br /&gt;
--client 10.1.13.1/24 \&lt;br /&gt;
&lt;br /&gt;
--updown &#039;ipsec _updown&#039; --id 10.50.1.80 \&lt;br /&gt;
&lt;br /&gt;
--to \&lt;br /&gt;
&lt;br /&gt;
--host 10.50.1.3 \&lt;br /&gt;
&lt;br /&gt;
--client 146.64.8.1/16 \&lt;br /&gt;
&lt;br /&gt;
--updown &#039;ipsec _updown&#039; --id 10.50.1.3 \&lt;br /&gt;
&lt;br /&gt;
--psk \&lt;br /&gt;
&lt;br /&gt;
--esp 3des-md5,3des-sha1 \&lt;br /&gt;
&lt;br /&gt;
--ike 3des-md5,3des-sha1 \&lt;br /&gt;
&lt;br /&gt;
--encrypt&lt;br /&gt;
&lt;br /&gt;
ipsec whack --listen&lt;br /&gt;
&lt;br /&gt;
ipsec whack --route --name crypt&lt;br /&gt;
&lt;br /&gt;
ipsec whack --initiate --name crypt&lt;br /&gt;
&lt;br /&gt;
Running this script will show the various key exchange messages. The messages are pretty much clear to see what it’s happening.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=HowTo stop DHCP client over-writing resolv.conf=&lt;br /&gt;
&lt;br /&gt;
Finally I found out how to do it&lt;br /&gt;
&lt;br /&gt;
Edit the /etc/dhcp3/dhclient.conf file&lt;br /&gt;
Find the line that says request&lt;br /&gt;
&lt;br /&gt;
Comment out the line that requests for domain-name, domain-name-servers and host-name&lt;br /&gt;
&lt;br /&gt;
 request subnet-mask, broadcast-address, time-offset, routers,&lt;br /&gt;
 # domain-name, domain-name-servers, host-name,&lt;br /&gt;
 netbios-name-servers, netbios-scope;&lt;br /&gt;
&lt;br /&gt;
=HowTo setup DHCP with OLSR=&lt;br /&gt;
&lt;br /&gt;
There have been so many misleading postings on this - I will finally set the record straight.&lt;br /&gt;
&lt;br /&gt;
You will need to reserve a block of IP&#039;s for non OLSR wireless clients that want to connect onto the mesh network such as a laptop. Here is an example setup:&lt;br /&gt;
&lt;br /&gt;
Wireless router 1:&lt;br /&gt;
Wireless IP: 10.51.1.13&lt;br /&gt;
LAN IP: 10.3.13.1&lt;br /&gt;
Subnet for Wireless DHCP clients: 10.51.1.64/28 (This would mean that 16 machines could potentially connect to this wireless router. The IP leases will be in the range from 10.51.1.64 to 10.51.1.79)&lt;br /&gt;
&lt;br /&gt;
Wireless router 2:&lt;br /&gt;
Wireless IP: 10.51.1.14&lt;br /&gt;
LAN IP: 10.3.14.1&lt;br /&gt;
Subnet for Wireless DHCP clients : 10.51.1.80/28 (IP leases will be in the range from 10.51.1.80 to 10.51.1.93)&lt;br /&gt;
&lt;br /&gt;
To set this up On Friefunk firmware&lt;br /&gt;
Wireless Router 1:&lt;br /&gt;
OLSR:&lt;br /&gt;
OLSR DHCP: 10.51.1.64/28&lt;br /&gt;
&lt;br /&gt;
Wireless Router 2:&lt;br /&gt;
OLSR:&lt;br /&gt;
OLSR DHCP: 10.51.1.80/28&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Most people gave strange values for OLSR DHCP in their postings the most common one was:&lt;br /&gt;
OLSR DHCP: 10.51.1.80/28, 255.255.255.240&lt;br /&gt;
&lt;br /&gt;
The subnet mask after the comma (255.255.255.240) is an alternative to the slash format /28. Why does everyone have this reduntant subnet mask on their postings???&lt;br /&gt;
&lt;br /&gt;
=Linux HowTos=&lt;br /&gt;
==HowTo setup your own network profiles on a laptop==&lt;br /&gt;
 &lt;br /&gt;
I have always wanted to write some good scripts that configure my laptop for home and work wireless/ethernet automatically in ubuntu and so I set about building up a set of scripts that I can call.&lt;br /&gt;
&lt;br /&gt;
I have four scenarios:&lt;br /&gt;
1. use laptop at home with wireless access point&lt;br /&gt;
2. use laptop at home with ethernet&lt;br /&gt;
3. use laptop at work with wireless access point&lt;br /&gt;
4. use laptop at work with ethernet&lt;br /&gt;
&lt;br /&gt;
I created two files in /etc/network: interfaces.work and interfaces.home with all the ethernet and wireless settings for home and work in this file&lt;br /&gt;
&lt;br /&gt;
/etc/network/interfaces.home&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
address 10.3.13.102&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
gateway 10.3.13.1&lt;br /&gt;
&lt;br /&gt;
#The wireless network interface&lt;br /&gt;
iface eth1 inet dhcp&lt;br /&gt;
wireless-essid pta-mesh&lt;br /&gt;
wireless-mode Ad-Hoc&lt;br /&gt;
wireless-channel 1&lt;br /&gt;
wireless-key off&lt;br /&gt;
&lt;br /&gt;
/etc/network/interfaces.work&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
# The wireless network interface&lt;br /&gt;
iface eth1 inet dhcp&lt;br /&gt;
wireless-essid icomtek&lt;br /&gt;
wireless_mode Managed&lt;br /&gt;
wireless-key off&lt;br /&gt;
&lt;br /&gt;
I also created two files with my dns and domain settings for home and work in /etc/ called resolv.home and resolv.work&lt;br /&gt;
&lt;br /&gt;
resolv.home&lt;br /&gt;
search icomtek.csir.co.za elarduspark.org.za cids.org.za&lt;br /&gt;
nameserver 146.64.28.1 10.3.13.1&lt;br /&gt;
&lt;br /&gt;
resolv.work&lt;br /&gt;
search icomtek.csir.co.za cids.org.za&lt;br /&gt;
nameserver 146.64.28.1&lt;br /&gt;
&lt;br /&gt;
Here are my scripts that configure my interfaces based on the above files&lt;br /&gt;
&lt;br /&gt;
1. Setup for wireless networking at home&lt;br /&gt;
/usr/local/bin/homenet-wireless&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo Setting up network for home wireless network&lt;br /&gt;
sudo cp /etc/network/interfaces.home /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
eth0_status=`ifconfig | grep eth0`&lt;br /&gt;
eth1_status=`ifconfig | grep eth1`&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth0_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth1_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
sudo ifup eth1&lt;br /&gt;
&lt;br /&gt;
sudo cp /etc/resolv.home /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
2. Setup for ethernet networking at home&lt;br /&gt;
/usr/local/bin/homenet-fixed&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo Setting up network for home ethernet&lt;br /&gt;
sudo cp /etc/network/interfaces.home /etc/network/interfaces&lt;br /&gt;
sudo cp /etc/resolv.home /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
eth0_status=`ifconfig | grep eth0`&lt;br /&gt;
eth1_status=`ifconfig | grep eth1`&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth0_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth1_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
sudo ifup eth0&lt;br /&gt;
&lt;br /&gt;
3. Setup for wireless at work&lt;br /&gt;
/usr/local/bin/worknet-wireless&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo Setting up network for work wireless network&lt;br /&gt;
sudo cp /etc/network/interfaces.work /etc/network/interfaces&lt;br /&gt;
sudo cp /etc/resolv.work /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
eth0_status=`ifconfig | grep eth0`&lt;br /&gt;
eth1_status=`ifconfig | grep eth1`&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth0_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth1_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
sudo ifup eth1&lt;br /&gt;
&lt;br /&gt;
4. Setup for ethernet at work&lt;br /&gt;
/usr/local/bin/worknet-fixed&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo Setting up network for work ethernet&lt;br /&gt;
sudo cp /etc/network/interfaces.work /etc/network/interfaces&lt;br /&gt;
sudo cp /etc/resolv.work /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
eth0_status=`ifconfig | grep eth0`&lt;br /&gt;
eth1_status=`ifconfig | grep eth1`&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth0_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$eth1_status&amp;quot; ]; then&lt;br /&gt;
sudo ifdown eth1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
sudo ifup eth0&lt;br /&gt;
&lt;br /&gt;
==HowTo Setup a Linux machine to become an access point==&lt;br /&gt;
&lt;br /&gt;
1. Make sure you install dhcpd off the Mandrake disks&lt;br /&gt;
&lt;br /&gt;
2. Put the Wireless card into access point mode with the following example script /etc/sysconfig/network-scripts/ifcfg-wifi0&lt;br /&gt;
&lt;br /&gt;
 DEVICE=wifi0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=192.168.0.1&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 NETWORK=192.168.0.0&lt;br /&gt;
 BROADCAST=192.168.0.255&lt;br /&gt;
 DHCP_TIMEOUT=5&lt;br /&gt;
 WIRELESS_MODE=Master&lt;br /&gt;
 WIRELESS_ESSID=mesh&lt;br /&gt;
 WIRELESS_CHANNEL=10&lt;br /&gt;
&lt;br /&gt;
3. run ifup wifi0&lt;br /&gt;
&lt;br /&gt;
4. copy /etc/dhcpd.conf.sample (this file only exisits the first time you install dhcpd) to dhcpd.conf ... Change the IP address allocations in this file to suite your needs&lt;br /&gt;
&lt;br /&gt;
5. start dhcpd with /etc/rc.d/init.d/dhcpd&lt;br /&gt;
&lt;br /&gt;
6. Check the /var/lib/dhcpd/dhcpd.leases to check which IP addresses are being assigned&lt;br /&gt;
&lt;br /&gt;
==HowTo Set up the SENOA card in linux==&lt;br /&gt;
&lt;br /&gt;
1. Download the hostap driver from ftp://edna.icomtek.csir.co.za/pub/drivers ... This driver ensures that the SENOA card can run in Access point mode as well as Ad-Hoc and Infrastructure&lt;br /&gt;
&lt;br /&gt;
2. Unzip using gunzip &amp;lt; hostap-driver-0.2.4.tar.gz | tar xvf -&lt;br /&gt;
&lt;br /&gt;
3. Change Makefile to include KERNEL_PATH ... KERNEL_PATH=/usr/src/linux&lt;br /&gt;
&lt;br /&gt;
4. Run &#039;make&#039;&lt;br /&gt;
&lt;br /&gt;
5. run &#039;make install&#039;&lt;br /&gt;
&lt;br /&gt;
6. Restart card manager using /etc/rc.d/init.d/pcmcia restart&lt;br /&gt;
&lt;br /&gt;
If you are using the PCI to PCMCIA bridge card with the RLSC475 chipset follow these steps&lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/sysconfig/pcmcia to include these lines&lt;br /&gt;
 PCMCIA=yes&lt;br /&gt;
 PCIC=RLSC475&lt;br /&gt;
&lt;br /&gt;
2. Run /etc/rc.d/init.d/pcmcia restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Linux network configurations tips==&lt;br /&gt;
&lt;br /&gt;
1. Setting IP address and modes of interface&lt;br /&gt;
&lt;br /&gt;
The file /etc/sysconfig/network-scripts/ifcfg-eth0 contains all the settingsfor interface eth0 including&lt;br /&gt;
 IP allocation type (static or dynamic)&lt;br /&gt;
 IP Address&lt;br /&gt;
 Subnet mask&lt;br /&gt;
 Broadcast address&lt;br /&gt;
 Wireless mode&lt;br /&gt;
 wireless channel&lt;br /&gt;
&lt;br /&gt;
type&lt;br /&gt;
 # man ifcfg&lt;br /&gt;
to see all the options for this config file&lt;br /&gt;
&lt;br /&gt;
Use&lt;br /&gt;
 # ifup eth0&lt;br /&gt;
to bring eth0 network interface up using the script ifcfg-eth0&lt;br /&gt;
&lt;br /&gt;
 #ifdown eth0&lt;br /&gt;
to pull the eth0 interface down&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. The DNS nameserver&lt;br /&gt;
&lt;br /&gt;
The file /etc/resolve.conf contains the nameserver (dns) to use for the network&lt;br /&gt;
&lt;br /&gt;
3. The gateway and other network routes&lt;br /&gt;
&lt;br /&gt;
To see the current network routes type&lt;br /&gt;
 # route&lt;br /&gt;
This will show you all the routes which the network is currently using&lt;br /&gt;
&lt;br /&gt;
To add a new route for interface eth0 type&lt;br /&gt;
 # route add -net 10.0.0.0 netmask 255.255.255.0 dev eth0&lt;br /&gt;
&lt;br /&gt;
This adds a route to the network 10.0.0.0 using device eth0&lt;br /&gt;
&lt;br /&gt;
 # route add default gw 10.0.0.8&lt;br /&gt;
Adds a default route which will be used if no other route matches.&lt;br /&gt;
&lt;br /&gt;
There should be an existing route, in this case, to 10.0.0.8 through some interface.&lt;br /&gt;
&lt;br /&gt;
=HowTo use the freespace loss equation=&lt;br /&gt;
From: [http://www.swisswireless.org/wlan_calc_en.html Radio theory and link planning for Wireless LAN (WLAN)]&lt;br /&gt;
&lt;br /&gt;
Everyone should know the free space loss equation in their head&lt;br /&gt;
&lt;br /&gt;
Loss [ dB] = 32.44 + 20(Log(distance[km]) + Log(freq[MHz]))&lt;br /&gt;
&lt;br /&gt;
Useful cable losses&lt;br /&gt;
&lt;br /&gt;
RG58 = 1 dB/m&lt;br /&gt;
RG213 = -.6 dB/m&lt;br /&gt;
RG174 = 2 dB/m (often used in pigtails)&lt;br /&gt;
LMR-400 = 0.22 dB/m&lt;br /&gt;
&lt;br /&gt;
Typical WiFi sensitivity for orinoco cards&lt;br /&gt;
&lt;br /&gt;
11Mbps = -82dBm&lt;br /&gt;
5.5Mbps = -87dBm&lt;br /&gt;
2Mbps = -92dBm&lt;br /&gt;
1Mbps = -94dBm&lt;br /&gt;
&lt;br /&gt;
Typical allowed signal to noise ratios for orinoco cards&lt;br /&gt;
&lt;br /&gt;
11Mbps = 16dB&lt;br /&gt;
5.5Mbps = 11dB&lt;br /&gt;
2Mbps = 7dB&lt;br /&gt;
1Mbps = 4dB&lt;br /&gt;
&lt;br /&gt;
Typical Noise level at 2.4GHz = -100dBm. Compute S/N level eg. at 11Mbps = -84dBm but sensitivity is -82dBm so sensitivity is the limiting factor.&lt;br /&gt;
&lt;br /&gt;
Just worked out that with our 2 8dBi omnis, 2dB loss in the RF cable each side of the link and the 200mW SENOA cards it is possible to acheive a theoretical distance of 5km with a 3dB margin (margin probably a bit tight), 4km will give you a 5dB margin - probably more realistic.&lt;/div&gt;</summary>
		<author><name>Acdc</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=Andrews_Node&amp;diff=2156</id>
		<title>Andrews Node</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Andrews_Node&amp;diff=2156"/>
		<updated>2006-06-19T18:02:13Z</updated>

		<summary type="html">&lt;p&gt;Acdc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= AP =&lt;br /&gt;
Linksys &lt;br /&gt;
= Antenna =&lt;br /&gt;
A 15dBi grid antenna on a 4m stainless steel pole resting on the ground and attached to a devil&#039;s fork fence for lateral support.&lt;/div&gt;</summary>
		<author><name>Acdc</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2145</id>
		<title>User:Acdc</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2145"/>
		<updated>2006-06-12T21:04:47Z</updated>

		<summary type="html">&lt;p&gt;Acdc: /* European visits 2006 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== European visits 2006 ===&lt;br /&gt;
Schedule&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! Day/Date&lt;br /&gt;
|-&lt;br /&gt;
!Monday 5 June&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Pretoria with AVIS vehicle at 17:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Johannesburg Airport, flight BA56 at 20:15&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 6 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 1, flight BA56 at 06:20&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow, terminal 1, flight BA6036 at 07:30&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 2, flight BA6036 at 12:25&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Helsinki, flight BA6044, 13:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Tampere, flight BA6044, 14:20&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;background:blue&amp;quot; | Update 6 June 2006. Arrived in Tampere, Finland and booked into Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 7 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Thursday 8 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;background:blue&amp;quot; | Update 9 June 2006. Contact made with researchers in tangibles and wearable computing devices.&lt;br /&gt;
|-&lt;br /&gt;
!Friday 9 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|style=&amp;quot;background:blue&amp;quot; | Update 9 June 2006.Conference finished. Will e-mail Jussi and Ilja to confirm pick-up at rail station on Saturday.&lt;br /&gt;
|-&lt;br /&gt;
!Saturday 10 June&lt;br /&gt;
|liaise with Ilja regarding Joesuu visit &lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart per train from Tampere to Joensuu, 1)Express Train 905 + 2)Regional Train 851, at 09:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu station at 13:55, Jussi/Ilja will pick me up.&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |KidsClub meeting in Joensuu at 14:00 tentatively.&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:blue&amp;quot; | Update 10 June 2006. Arrived in Joensuu. Got a room in Erkki&#039;s house. Attended Kids&#039; Club meeting.&lt;br /&gt;
|-&lt;br /&gt;
!Sunday 11 June&lt;br /&gt;
|day of rest/sightseeing with Jussi and Ilja&lt;br /&gt;
|-&lt;br /&gt;
!Monday 12 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |morning meeting with Jarkko and Elina about ViSCos and IMPDET at 09:00, lunch at Science Park.&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Joensuu airport at 11:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu airport at 12:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Helsinki, flight AY3486 at 12:45 &lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 1, flight AY3486 at 13:50&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Copenhagen, , terminal 2, flight SK6635 at 15:55&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen, terminal 3, flight SK6635 at 16:35&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |travel to Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Odense from Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive by train in Odense at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by bus to hotel ?____?, arrive at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Hotel ?____? at ?____?&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:blue&amp;quot; | Update 12 June 2006. Arrived at hotel in Odense, Denmark at approx 21:00. Supper at MacDonalds at 23:00. sms email gateway at CSIR seems to malfunction. &lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 13 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |meeting and presentation at AdapTronics with Thomas Klitbo and Richard Beck at 10:30&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive in Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen airport at?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen airport at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Copenhagen, terminal 2, flight BA819, at 18:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 4, flight BA819, at 19:05&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow airport, terminal 1, flight BA57, at 21:15&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 14 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Johannesburg Airport, terminal A, at 08:55&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by AVIS car to Pretoria&lt;br /&gt;
|}&lt;br /&gt;
Hotel Information&lt;br /&gt;
** Hotel Victoria, URL http://www.hotellivictoria.fi/eng/index.html , Tampere, Finland. e-mail: sales@hotellivictoria.fi Tel: + 358-(0)3 2425&lt;br /&gt;
** Joensuu: I&#039;ll be stying in Erkki&#039;s house.&lt;br /&gt;
** Odense Congress Hotel, Orbaekvej road 350, Odense, Denmark. Tel: 045 655-60100&lt;br /&gt;
Host Information&lt;br /&gt;
* Tampere, Finland&lt;br /&gt;
** Saila Ovaska, IDC 2006 conference admin, e-mail: saila.ovaska@cs.uta.fi&lt;br /&gt;
* Joensuu, Finland&lt;br /&gt;
** Ilja Jetsu, e-mail: ijetsu@cs.joensuu.fi&lt;br /&gt;
** (alternative) Marjo, e-mail: mvirnes@cs.joensuu.fi&lt;br /&gt;
* Odense, Denmark&lt;br /&gt;
** Richard Beck e-mail: richard@becknet.dk  &lt;br /&gt;
** (alternative) Professor Henrik Lund, University of Southern Denmark, e-mail: hhl@mip.sdu.dk , Tel: 045 6550 3574&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IDC 2006 ====&lt;br /&gt;
&lt;br /&gt;
==== AdapTronics (University of Southern Denmark) ====&lt;br /&gt;
* Transport  to/from Copengagen/Odense&lt;br /&gt;
&lt;br /&gt;
[http://www.raileurope.com/us/rail/point_to_point/results.htm?cobrand=public&amp;amp;fn=fsRequest&amp;amp;c=USD&amp;amp;itemId=-1&amp;amp;r=1&amp;amp;F0=copenhagen&amp;amp;T0=Odense&amp;amp;d0=13&amp;amp;m0=6&amp;amp;t0=morning&amp;amp;d1=13&amp;amp;m1=6&amp;amp;t1=afternoon&amp;amp;nA=1&amp;amp;nC=0&amp;amp;nY=0&amp;amp;nS=0&amp;amp;s=Continue  Train schedule]&lt;br /&gt;
**  Most likely option to take  &lt;br /&gt;
*** depart: 7:30AM /13 Jun from Koebenhavn H  &lt;br /&gt;
***  arrive: 9:02AM / 13 Jun Odense &lt;br /&gt;
*** duration: 1hr 32min &lt;br /&gt;
*** train no: 925 &lt;br /&gt;
*** return price: 61.00 USD 2nd class&lt;/div&gt;</summary>
		<author><name>Acdc</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2140</id>
		<title>User:Acdc</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2140"/>
		<updated>2006-06-10T20:58:30Z</updated>

		<summary type="html">&lt;p&gt;Acdc: /* European visits 2006 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== European visits 2006 ===&lt;br /&gt;
Schedule&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! Day/Date&lt;br /&gt;
|-&lt;br /&gt;
!Monday 5 June&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Pretoria with AVIS vehicle at 17:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Johannesburg Airport, flight BA56 at 20:15&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 6 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 1, flight BA56 at 06:20&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow, terminal 1, flight BA6036 at 07:30&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 2, flight BA6036 at 12:25&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Helsinki, flight BA6044, 13:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Tampere, flight BA6044, 14:20&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;background:blue&amp;quot; | Update 6 June 2006. Arrived in Tampere, Finland and booked into Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 7 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Thursday 8 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;background:blue&amp;quot; | Update 9 June 2006. Contact made with researchers in tangibles and wearable computing devices.&lt;br /&gt;
|-&lt;br /&gt;
!Friday 9 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|style=&amp;quot;background:blue&amp;quot; | Update 9 June 2006.Conference finished. Will e-mail Jussi and Ilja to confirm pick-up at rail station on Saturday.&lt;br /&gt;
|-&lt;br /&gt;
!Saturday 10 June&lt;br /&gt;
|liaise with Ilja regarding Joesuu visit &lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart per train from Tampere to Joensuu, 1)Express Train 905 + 2)Regional Train 851, at 09:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu station at 13:55, Jussi/Ilja will pick me up.&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |KidsClub meeting in Joensuu at 14:00 tentatively.&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:blue&amp;quot; | Update 10 June 2006. Arrived in Joensuu. Got a room in Erkki&#039;s house. Attended Kids&#039; Club meeting.&lt;br /&gt;
|-&lt;br /&gt;
!Sunday 11 June&lt;br /&gt;
|day of rest/sightseeing with Jussi and Ilja&lt;br /&gt;
|-&lt;br /&gt;
!Monday 12 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |morning meeting with Jarkko and Elina about ViSCos and IMPDET at 09:00, lunch at Science Park.&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Joensuu airport at 11:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu airport at 12:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Helsinki, flight AY3486 at 12:45 &lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 1, flight AY3486 at 13:50&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Copenhagen, , terminal 2, flight SK6635 at 15:55&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen, terminal 3, flight SK6635 at 16:35&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |travel to Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Odense from Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive by train in Odense at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by bus to hotel ?____?, arrive at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Hotel ?____? at ?____?&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 13 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |meeting and presentation at AdapTronics with Thomas Klitbo and Richard Beck at 10:30&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive in Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen airport at?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen airport at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Copenhagen, terminal 2, flight BA819, at 18:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 4, flight BA819, at 19:05&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow airport, terminal 1, flight BA57, at 21:15&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 14 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Johannesburg Airport, terminal A, at 08:55&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by AVIS car to Pretoria&lt;br /&gt;
|}&lt;br /&gt;
Hotel Information&lt;br /&gt;
** Hotel Victoria, URL http://www.hotellivictoria.fi/eng/index.html , Tampere, Finland. e-mail: sales@hotellivictoria.fi Tel: + 358-(0)3 2425&lt;br /&gt;
** Joensuu: I&#039;ll be stying in Erkki&#039;s house.&lt;br /&gt;
** Odense Congress Hotel, Orbaekvej road 350, Odense, Denmark. Tel: 045 655-60100&lt;br /&gt;
Host Information&lt;br /&gt;
* Tampere, Finland&lt;br /&gt;
** Saila Ovaska, IDC 2006 conference admin, e-mail: saila.ovaska@cs.uta.fi&lt;br /&gt;
* Joensuu, Finland&lt;br /&gt;
** Ilja Jetsu, e-mail: ijetsu@cs.joensuu.fi&lt;br /&gt;
** (alternative) Marjo, e-mail: mvirnes@cs.joensuu.fi&lt;br /&gt;
* Odense, Denmark&lt;br /&gt;
** Richard Beck e-mail: richard@becknet.dk  &lt;br /&gt;
** (alternative) Professor Henrik Lund, University of Southern Denmark, e-mail: hhl@mip.sdu.dk , Tel: 045 6550 3574&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IDC 2006 ====&lt;br /&gt;
&lt;br /&gt;
==== AdapTronics (University of Southern Denmark) ====&lt;br /&gt;
* Transport  to/from Copengagen/Odense&lt;br /&gt;
&lt;br /&gt;
[http://www.raileurope.com/us/rail/point_to_point/results.htm?cobrand=public&amp;amp;fn=fsRequest&amp;amp;c=USD&amp;amp;itemId=-1&amp;amp;r=1&amp;amp;F0=copenhagen&amp;amp;T0=Odense&amp;amp;d0=13&amp;amp;m0=6&amp;amp;t0=morning&amp;amp;d1=13&amp;amp;m1=6&amp;amp;t1=afternoon&amp;amp;nA=1&amp;amp;nC=0&amp;amp;nY=0&amp;amp;nS=0&amp;amp;s=Continue  Train schedule]&lt;br /&gt;
**  Most likely option to take  &lt;br /&gt;
*** depart: 7:30AM /13 Jun from Koebenhavn H  &lt;br /&gt;
***  arrive: 9:02AM / 13 Jun Odense &lt;br /&gt;
*** duration: 1hr 32min &lt;br /&gt;
*** train no: 925 &lt;br /&gt;
*** return price: 61.00 USD 2nd class&lt;/div&gt;</summary>
		<author><name>Acdc</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2137</id>
		<title>User:Acdc</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2137"/>
		<updated>2006-06-09T14:18:36Z</updated>

		<summary type="html">&lt;p&gt;Acdc: /* European visits 2006 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== European visits 2006 ===&lt;br /&gt;
Schedule&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! Day/Date&lt;br /&gt;
|-&lt;br /&gt;
!Monday 5 June&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Pretoria with AVIS vehicle at 17:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Johannesburg Airport, flight BA56 at 20:15&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 6 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 1, flight BA56 at 06:20&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow, terminal 1, flight BA6036 at 07:30&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 2, flight BA6036 at 12:25&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Helsinki, flight BA6044, 13:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Tampere, flight BA6044, 14:20&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;background:blue&amp;quot; | Update 6 June 2006. Arrived in Tampere, Finland and booked into Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 7 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Thursday 8 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;background:blue&amp;quot; | Update 9 June 2006. Contact made with researchers in tangibles and wearable computing devices.&lt;br /&gt;
|-&lt;br /&gt;
!Friday 9 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|style=&amp;quot;background:blue&amp;quot; | Update 9 June 2006.Conference finished. Will e-mail Jussi and Ilja to confirm pick-up at rail station on Saturday.&lt;br /&gt;
|-&lt;br /&gt;
!Saturday 10 June&lt;br /&gt;
|liaise with Ilja regarding Joesuu visit &lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart per train from Tampere to Joensuu, 1)Express Train 905 + 2)Regional Train 851, at 09:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu station at 13:55, Jussi/Ilja will pick me up.&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |KidsClub meeting in Joensuu at 14:00 tentatively.&lt;br /&gt;
|-&lt;br /&gt;
!Sunday 11 June&lt;br /&gt;
|day of rest/sightseeing with Jussi and Ilja&lt;br /&gt;
|-&lt;br /&gt;
!Monday 12 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |morning meeting with Jarkko and Elina about ViSCos and IMPDET at 09:00, lunch at Science Park.&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Joensuu airport at 11:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu airport at 12:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Helsinki, flight AY3486 at 12:45 &lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 1, flight AY3486 at 13:50&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Copenhagen, , terminal 2, flight SK6635 at 15:55&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen, terminal 3, flight SK6635 at 16:35&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |travel to Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Odense from Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive by train in Odense at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by bus to hotel ?____?, arrive at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Hotel ?____? at ?____?&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 13 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |meeting and presentation at AdapTronics with Thomas Klitbo and Richard Beck at 10:30&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive in Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen airport at?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen airport at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Copenhagen, terminal 2, flight BA819, at 18:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 4, flight BA819, at 19:05&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow airport, terminal 1, flight BA57, at 21:15&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 14 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Johannesburg Airport, terminal A, at 08:55&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by AVIS car to Pretoria&lt;br /&gt;
|}&lt;br /&gt;
Hotel Information&lt;br /&gt;
** Hotel Victoria, URL http://www.hotellivictoria.fi/eng/index.html , Tampere, Finland. e-mail: sales@hotellivictoria.fi Tel: + 358-(0)3 2425&lt;br /&gt;
** Joensuu: I&#039;ll be stying in Erkki&#039;s house.&lt;br /&gt;
** Odense Congress Hotel, Orbaekvej road 350, Odense, Denmark. Tel: 045 655-60100&lt;br /&gt;
Host Information&lt;br /&gt;
* Tampere, Finland&lt;br /&gt;
** Saila Ovaska, IDC 2006 conference admin, e-mail: saila.ovaska@cs.uta.fi&lt;br /&gt;
* Joensuu, Finland&lt;br /&gt;
** Ilja Jetsu, e-mail: ijetsu@cs.joensuu.fi&lt;br /&gt;
** (alternative) Marjo, e-mail: mvirnes@cs.joensuu.fi&lt;br /&gt;
* Odense, Denmark&lt;br /&gt;
** Richard Beck e-mail: richard@becknet.dk  &lt;br /&gt;
** (alternative) Professor Henrik Lund, University of Southern Denmark, e-mail: hhl@mip.sdu.dk , Tel: 045 6550 3574&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IDC 2006 ====&lt;br /&gt;
&lt;br /&gt;
==== AdapTronics (University of Southern Denmark) ====&lt;br /&gt;
* Transport  to/from Copengagen/Odense&lt;br /&gt;
&lt;br /&gt;
[http://www.raileurope.com/us/rail/point_to_point/results.htm?cobrand=public&amp;amp;fn=fsRequest&amp;amp;c=USD&amp;amp;itemId=-1&amp;amp;r=1&amp;amp;F0=copenhagen&amp;amp;T0=Odense&amp;amp;d0=13&amp;amp;m0=6&amp;amp;t0=morning&amp;amp;d1=13&amp;amp;m1=6&amp;amp;t1=afternoon&amp;amp;nA=1&amp;amp;nC=0&amp;amp;nY=0&amp;amp;nS=0&amp;amp;s=Continue  Train schedule]&lt;br /&gt;
**  Most likely option to take  &lt;br /&gt;
*** depart: 7:30AM /13 Jun from Koebenhavn H  &lt;br /&gt;
***  arrive: 9:02AM / 13 Jun Odense &lt;br /&gt;
*** duration: 1hr 32min &lt;br /&gt;
*** train no: 925 &lt;br /&gt;
*** return price: 61.00 USD 2nd class&lt;/div&gt;</summary>
		<author><name>Acdc</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2136</id>
		<title>User:Acdc</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2136"/>
		<updated>2006-06-09T05:40:15Z</updated>

		<summary type="html">&lt;p&gt;Acdc: /* European visits 2006 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== European visits 2006 ===&lt;br /&gt;
Schedule&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! Day/Date&lt;br /&gt;
|-&lt;br /&gt;
!Monday 5 June&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Pretoria with AVIS vehicle at 17:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Johannesburg Airport, flight BA56 at 20:15&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 6 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 1, flight BA56 at 06:20&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow, terminal 1, flight BA6036 at 07:30&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 2, flight BA6036 at 12:25&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Helsinki, flight BA6044, 13:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Tampere, flight BA6044, 14:20&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;background:blue&amp;quot; | Update 6 June 2006. Arrived in Tampere, Finland and booked into Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 7 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Thursday 8 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;background:blue&amp;quot; | Update 9 June 2006. Contact made with researchers in tangibles and wearable computing devices.&lt;br /&gt;
|-&lt;br /&gt;
!Friday 9 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Saturday 10 June&lt;br /&gt;
|liaise with Ilja regarding Joesuu visit &lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart per train from Tampere to Joensuu, 1)Express Train 905 + 2)Regional Train 851, at 09:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu station at 13:55, Jussi/Ilja will pick me up.&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |KidsClub meeting in Joensuu at 14:00 tentatively.&lt;br /&gt;
|-&lt;br /&gt;
!Sunday 11 June&lt;br /&gt;
|day of rest/sightseeing with Jussi and Ilja&lt;br /&gt;
|-&lt;br /&gt;
!Monday 12 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |morning meeting with Jarkko and Elina about ViSCos and IMPDET at 09:00, lunch at Science Park.&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Joensuu airport at 11:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu airport at 12:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Helsinki, flight AY3486 at 12:45 &lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 1, flight AY3486 at 13:50&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Copenhagen, , terminal 2, flight SK6635 at 15:55&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen, terminal 3, flight SK6635 at 16:35&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |travel to Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Odense from Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive by train in Odense at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by bus to hotel ?____?, arrive at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Hotel ?____? at ?____?&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 13 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |meeting and presentation at AdapTronics with Thomas Klitbo and Richard Beck at 10:30&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive in Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen airport at?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen airport at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Copenhagen, terminal 2, flight BA819, at 18:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 4, flight BA819, at 19:05&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow airport, terminal 1, flight BA57, at 21:15&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 14 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Johannesburg Airport, terminal A, at 08:55&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by AVIS car to Pretoria&lt;br /&gt;
|}&lt;br /&gt;
Hotel Information&lt;br /&gt;
** Hotel Victoria, URL http://www.hotellivictoria.fi/eng/index.html , Tampere, Finland. e-mail: sales@hotellivictoria.fi Tel: + 358-(0)3 2425&lt;br /&gt;
** Joensuu: I&#039;ll be stying in Erkki&#039;s house.&lt;br /&gt;
** Odense Congress Hotel, Orbaekvej road 350, Odense, Denmark. Tel: 045 655-60100&lt;br /&gt;
Host Information&lt;br /&gt;
* Tampere, Finland&lt;br /&gt;
** Saila Ovaska, IDC 2006 conference admin, e-mail: saila.ovaska@cs.uta.fi&lt;br /&gt;
* Joensuu, Finland&lt;br /&gt;
** Ilja Jetsu, e-mail: ijetsu@cs.joensuu.fi&lt;br /&gt;
** (alternative) Marjo, e-mail: mvirnes@cs.joensuu.fi&lt;br /&gt;
* Odense, Denmark&lt;br /&gt;
** Richard Beck e-mail: richard@becknet.dk  &lt;br /&gt;
** (alternative) Professor Henrik Lund, University of Southern Denmark, e-mail: hhl@mip.sdu.dk , Tel: 045 6550 3574&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IDC 2006 ====&lt;br /&gt;
&lt;br /&gt;
==== AdapTronics (University of Southern Denmark) ====&lt;br /&gt;
* Transport  to/from Copengagen/Odense&lt;br /&gt;
&lt;br /&gt;
[http://www.raileurope.com/us/rail/point_to_point/results.htm?cobrand=public&amp;amp;fn=fsRequest&amp;amp;c=USD&amp;amp;itemId=-1&amp;amp;r=1&amp;amp;F0=copenhagen&amp;amp;T0=Odense&amp;amp;d0=13&amp;amp;m0=6&amp;amp;t0=morning&amp;amp;d1=13&amp;amp;m1=6&amp;amp;t1=afternoon&amp;amp;nA=1&amp;amp;nC=0&amp;amp;nY=0&amp;amp;nS=0&amp;amp;s=Continue  Train schedule]&lt;br /&gt;
**  Most likely option to take  &lt;br /&gt;
*** depart: 7:30AM /13 Jun from Koebenhavn H  &lt;br /&gt;
***  arrive: 9:02AM / 13 Jun Odense &lt;br /&gt;
*** duration: 1hr 32min &lt;br /&gt;
*** train no: 925 &lt;br /&gt;
*** return price: 61.00 USD 2nd class&lt;/div&gt;</summary>
		<author><name>Acdc</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2122</id>
		<title>User:Acdc</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2122"/>
		<updated>2006-06-06T14:38:31Z</updated>

		<summary type="html">&lt;p&gt;Acdc: /* European visits 2006 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== European visits 2006 ===&lt;br /&gt;
Schedule&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! Day/Date&lt;br /&gt;
|-&lt;br /&gt;
!Monday 5 June&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Pretoria with AVIS vehicle at 17:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Johannesburg Airport, flight BA56 at 20:15&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 6 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 1, flight BA56 at 06:20&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow, terminal 1, flight BA6036 at 07:30&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 2, flight BA6036 at 12:25&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Helsinki, flight BA6044, 13:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Tampere, flight BA6044, 14:20&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;background:blue&amp;quot; | Update 6 June 2006. Arrived in Tampere, Finland and booked into Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 7 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Thursday 8 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Friday 9 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Saturday 10 June&lt;br /&gt;
|Joesuu visit liaison with Ilja&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart per train from Tampere to Joensuu, 1)Express Train 905 + 2)Regional Train 851, at 09:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu station at 13:55, Jussi/Ilja will pick me up.&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |KidsClub meeting in Joensuu at 14:00 tentatively.&lt;br /&gt;
|-&lt;br /&gt;
!Sunday 11 June&lt;br /&gt;
|day of rest/sightseeing with Jussi and Ilja&lt;br /&gt;
|-&lt;br /&gt;
!Monday 12 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |morning meeting with Jarkko and Elina about ViSCos and IMPDET at 09:00, lunch at Science Park.&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Joensuu airport at 11:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu airport at 12:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Helsinki, flight AY3486 at 12:45 &lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 1, flight AY3486 at 13:50&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Copenhagen, , terminal 2, flight SK6635 at 15:55&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen, terminal 3, flight SK6635 at 16:35&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |travel to Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Odense from Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive by train in Odense at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by bus to hotel ?____?, arrive at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Hotel ?____? at ?____?&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 13 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |meeting and presentation at AdapTronics with Thomas Klitbo and Richard Beck at 10:30&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive in Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen airport at?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen airport at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Copenhagen, terminal 2, flight BA819, at 18:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 4, flight BA819, at 19:05&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow airport, terminal 1, flight BA57, at 21:15&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 14 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Johannesburg Airport, terminal A, at 08:55&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by AVIS car to Pretoria&lt;br /&gt;
|}&lt;br /&gt;
Hotel Information&lt;br /&gt;
** Hotel Victoria, URL http://www.hotellivictoria.fi/eng/index.html , Tampere, Finland. e-mail: sales@hotellivictoria.fi Tel: + 358-(0)3 2425&lt;br /&gt;
** Joensuu: I&#039;ll be stying in Erkki&#039;s house.&lt;br /&gt;
** Odense Congress Hotel, Orbaekvej road 350, Odense, Denmark. Tel: 045 655-60100&lt;br /&gt;
Host Information&lt;br /&gt;
* Tampere, Finland&lt;br /&gt;
** Saila Ovaska, IDC 2006 conference admin, e-mail: saila.ovaska@cs.uta.fi&lt;br /&gt;
* Joensuu, Finland&lt;br /&gt;
** Ilja Jetsu, e-mail: ijetsu@cs.joensuu.fi&lt;br /&gt;
** (alternative) Marjo, e-mail: mvirnes@cs.joensuu.fi&lt;br /&gt;
* Odense, Denmark&lt;br /&gt;
** Richard Beck e-mail: richard@becknet.dk  &lt;br /&gt;
** (alternative) Professor Henrik Lund, University of Southern Denmark, e-mail: hhl@mip.sdu.dk , Tel: 045 6550 3574&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IDC 2006 ====&lt;br /&gt;
&lt;br /&gt;
==== AdapTronics (University of Southern Denmark) ====&lt;br /&gt;
* Transport  to/from Copengagen/Odense&lt;br /&gt;
&lt;br /&gt;
[http://www.raileurope.com/us/rail/point_to_point/results.htm?cobrand=public&amp;amp;fn=fsRequest&amp;amp;c=USD&amp;amp;itemId=-1&amp;amp;r=1&amp;amp;F0=copenhagen&amp;amp;T0=Odense&amp;amp;d0=13&amp;amp;m0=6&amp;amp;t0=morning&amp;amp;d1=13&amp;amp;m1=6&amp;amp;t1=afternoon&amp;amp;nA=1&amp;amp;nC=0&amp;amp;nY=0&amp;amp;nS=0&amp;amp;s=Continue  Train schedule]&lt;br /&gt;
**  Most likely option to take  &lt;br /&gt;
*** depart: 7:30AM /13 Jun from Koebenhavn H  &lt;br /&gt;
***  arrive: 9:02AM / 13 Jun Odense &lt;br /&gt;
*** duration: 1hr 32min &lt;br /&gt;
*** train no: 925 &lt;br /&gt;
*** return price: 61.00 USD 2nd class&lt;/div&gt;</summary>
		<author><name>Acdc</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2120</id>
		<title>User:Acdc</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2120"/>
		<updated>2006-06-05T10:23:09Z</updated>

		<summary type="html">&lt;p&gt;Acdc: /* European visits 2006 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== European visits 2006 ===&lt;br /&gt;
Schedule&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! Day/Date&lt;br /&gt;
|-&lt;br /&gt;
!Monday 5 June&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Pretoria with AVIS vehicle at 17:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Johannesburg Airport, flight BA56 at 20:15&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 6 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 1, flight BA56 at 06:20&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow, terminal 1, flight BA6036 at 07:30&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 2, flight BA6036 at 12:25&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Helsinki, flight BA6044, 13:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Tampere, flight BA6044, 14:20&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 7 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Thursday 8 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Friday 9 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Saturday 10 June&lt;br /&gt;
|Joesuu visit liaison with Ilja&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart per train from Tampere to Joensuu, 1)Express Train 905 + 2)Regional Train 851, at 09:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu station at 13:55, Jussi/Ilja will pick me up.&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |KidsClub meeting in Joensuu at 14:00 tentatively.&lt;br /&gt;
|-&lt;br /&gt;
!Sunday 11 June&lt;br /&gt;
|day of rest/sightseeing with Jussi and Ilja&lt;br /&gt;
|-&lt;br /&gt;
!Monday 12 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |morning meeting with Jarkko and Elina about ViSCos and IMPDET at 09:00, lunch at Science Park.&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Joensuu airport at 11:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu airport at 12:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Helsinki, flight AY3486 at 12:45 &lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 1, flight AY3486 at 13:50&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Copenhagen, , terminal 2, flight SK6635 at 15:55&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen, terminal 3, flight SK6635 at 16:35&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |travel to Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Odense from Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive by train in Odense at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by bus to hotel ?____?, arrive at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Hotel ?____? at ?____?&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 13 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |meeting and presentation at AdapTronics with Thomas Klitbo and Richard Beck at 10:30&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive in Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen airport at?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen airport at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Copenhagen, terminal 2, flight BA819, at 18:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 4, flight BA819, at 19:05&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow airport, terminal 1, flight BA57, at 21:15&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 14 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Johannesburg Airport, terminal A, at 08:55&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by AVIS car to Pretoria&lt;br /&gt;
|}&lt;br /&gt;
Hotel Information&lt;br /&gt;
** Hotel Victoria, URL http://www.hotellivictoria.fi/eng/index.html , Tampere, Finland. e-mail: sales@hotellivictoria.fi Tel: + 358-(0)3 2425&lt;br /&gt;
** Joensuu: I&#039;ll be stying in Erkki&#039;s house.&lt;br /&gt;
** Odense Congress Hotel, Orbaekvej road 350, Odense, Denmark. Tel: 045 655-60100&lt;br /&gt;
Host Information&lt;br /&gt;
* Tampere, Finland&lt;br /&gt;
** Saila Ovaska, IDC 2006 conference admin, e-mail: saila.ovaska@cs.uta.fi&lt;br /&gt;
* Joensuu, Finland&lt;br /&gt;
** Ilja Jetsu, e-mail: ijetsu@cs.joensuu.fi&lt;br /&gt;
** (alternative) Marjo, e-mail: mvirnes@cs.joensuu.fi&lt;br /&gt;
* Odense, Denmark&lt;br /&gt;
** Richard Beck e-mail: richard@becknet.dk  &lt;br /&gt;
** (alternative) Professor Henrik Lund, University of Southern Denmark, e-mail: hhl@mip.sdu.dk , Tel: 045 6550 3574&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IDC 2006 ====&lt;br /&gt;
&lt;br /&gt;
==== AdapTronics (University of Southern Denmark) ====&lt;br /&gt;
* Transport  to/from Copengagen/Odense&lt;br /&gt;
&lt;br /&gt;
[http://www.raileurope.com/us/rail/point_to_point/results.htm?cobrand=public&amp;amp;fn=fsRequest&amp;amp;c=USD&amp;amp;itemId=-1&amp;amp;r=1&amp;amp;F0=copenhagen&amp;amp;T0=Odense&amp;amp;d0=13&amp;amp;m0=6&amp;amp;t0=morning&amp;amp;d1=13&amp;amp;m1=6&amp;amp;t1=afternoon&amp;amp;nA=1&amp;amp;nC=0&amp;amp;nY=0&amp;amp;nS=0&amp;amp;s=Continue  Train schedule]&lt;br /&gt;
**  Most likely option to take  &lt;br /&gt;
*** depart: 7:30AM /13 Jun from Koebenhavn H  &lt;br /&gt;
***  arrive: 9:02AM / 13 Jun Odense &lt;br /&gt;
*** duration: 1hr 32min &lt;br /&gt;
*** train no: 925 &lt;br /&gt;
*** return price: 61.00 USD 2nd class&lt;/div&gt;</summary>
		<author><name>Acdc</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2119</id>
		<title>User:Acdc</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Acdc&amp;diff=2119"/>
		<updated>2006-06-01T14:04:35Z</updated>

		<summary type="html">&lt;p&gt;Acdc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== European visits 2006 ===&lt;br /&gt;
Schedule&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! Day/Date&lt;br /&gt;
|-&lt;br /&gt;
!Monday 5 June&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Pretoria with AVIS vehicle at 17:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Johannesburg Airport, flight BA56 at 20:15&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 6 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 1, flight BA56 at 06:20&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow, terminal 1, flight BA6036 at 07:30&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 2, flight BA6036 at 12:25&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Helsinki, flight BA6044, 13:40&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Tampere, flight BA6044, 14:20&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 7 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Thursday 8 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Friday 9 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |IDC2006&lt;br /&gt;
|Hotel Villa&lt;br /&gt;
|-&lt;br /&gt;
!Saturday 10 June&lt;br /&gt;
|Joesuu visit liaison with Ilja&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart per train from Tampere to Joensuu, 1)Express Train 905 + 2)Regional Train 851, at 09:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu station at 13:55, Jussi/Ilja will pick me up.&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |KidsClub meeting in Joensuu (check with Ilja for time) at ?____?&lt;br /&gt;
|-&lt;br /&gt;
!Sunday 11 June&lt;br /&gt;
|day of rest/sightseeing with Jussi and Ilja&lt;br /&gt;
|-&lt;br /&gt;
!Monday 12 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |morning meeting with Jarkko and Elina about ViSCos and IMPDET at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Joensuu airport at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Joensuu airport at 11:00&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Helsinki, flight AY3486 at 12:45 &lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Helsinki, terminal 1, flight AY3486 at 13:50&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart for Copenhagen, , terminal 2, flight SK6635 at 15:55&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen, terminal 3, flight SK6635 at 16:35&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |travel to Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Odense from Copenhagen Central Station at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive by train in Odense at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by bus to hotel ?____?, arrive at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Hotel ?____? at ?____?&lt;br /&gt;
|-&lt;br /&gt;
!Tuesday 13 June&lt;br /&gt;
|style=&amp;quot;background:yellow&amp;quot; |meeting and presentation at AdapTronics with Thomas Klitbo and Richard Beck at 10:30&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive in Copenhagen at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by train to Copenhagen airport at?____?&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Copenhagen airport at ?____?&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Copenhagen, terminal 2, flight BA819, at 18:05&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Heathrow, terminal 4, flight BA819, at 19:05&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart from Heathrow airport, terminal 1, flight BA57, at 21:15&lt;br /&gt;
|-&lt;br /&gt;
!Wednesday 14 June&lt;br /&gt;
|style=&amp;quot;background:green&amp;quot; |arrive at Johannesburg Airport, terminal A, at 08:55&lt;br /&gt;
|style=&amp;quot;background:red&amp;quot; |depart by AVIS car to Pretoria&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== IDC 2006 ====&lt;br /&gt;
&lt;br /&gt;
==== AdapTronics (University of Southern Denmark) ====&lt;br /&gt;
* Transport  to/from Copengagen/Odense&lt;br /&gt;
&lt;br /&gt;
[http://www.raileurope.com/us/rail/point_to_point/results.htm?cobrand=public&amp;amp;fn=fsRequest&amp;amp;c=USD&amp;amp;itemId=-1&amp;amp;r=1&amp;amp;F0=copenhagen&amp;amp;T0=Odense&amp;amp;d0=13&amp;amp;m0=6&amp;amp;t0=morning&amp;amp;d1=13&amp;amp;m1=6&amp;amp;t1=afternoon&amp;amp;nA=1&amp;amp;nC=0&amp;amp;nY=0&amp;amp;nS=0&amp;amp;s=Continue  Train schedule]&lt;br /&gt;
**  Most likely option to take  &lt;br /&gt;
*** depart: 7:30AM /13 Jun from Koebenhavn H  &lt;br /&gt;
***  arrive: 9:02AM / 13 Jun Odense &lt;br /&gt;
*** duration: 1hr 32min &lt;br /&gt;
*** train no: 925 &lt;br /&gt;
*** return price: 61.00 USD 2nd class&lt;/div&gt;</summary>
		<author><name>Acdc</name></author>
	</entry>
</feed>