<?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=Kroux</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=Kroux"/>
	<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php/Special:Contributions/Kroux"/>
	<updated>2026-04-18T13:57:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=VO_Requirements_%26_Functionality_Questions&amp;diff=4798</id>
		<title>VO Requirements &amp; Functionality Questions</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=VO_Requirements_%26_Functionality_Questions&amp;diff=4798"/>
		<updated>2009-10-15T09:30:47Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Understanding the bigger picture ==&lt;br /&gt;
&lt;br /&gt;
The development on this project is done in phases. New functionalities/features are added with each phase until we reach our target system. All development work of every phase should be aligned with our end system in mind. In order for developers to make the right design choices that will not limit future functionality, they need to have a clear end target that they are working towards.&lt;br /&gt;
&lt;br /&gt;
This page is here to help the developers to get a better understanding of the bigger picture and to make sure the target we design for is clearly defined and does not move around. &lt;br /&gt;
&lt;br /&gt;
Please add any project related questions/thoughts on this page so that we can sort them and see what information is still missing.&lt;br /&gt;
&lt;br /&gt;
=== VO (village operator) in action ===&lt;br /&gt;
&lt;br /&gt;
Lets assume the the new VO has all the kit installed. The gateway (WISP) box is connected to the Internet and he is now ready to commission his new business. His first customers are three schools, the local Municipality and two owners of a local Spaza shop who wants a network connection at the shop and at both their homes. The two shop owners are very excited and they want to put a web server at their shop and they are thinking about opening a little Internet cafe very soon.&lt;br /&gt;
&lt;br /&gt;
=== Definitions ===&lt;br /&gt;
* User - An accounting entity with a user name and password. Typically represents an individual or an organisation.&lt;br /&gt;
* Edge device - A device that is part of the local wireless network (e.g. talk mesh protocol) and allows other devices to connect through the wireless network. HPNs and &#039;Basic Nodes&#039; are edge devices.&lt;br /&gt;
* HPN - High Performance Node&lt;br /&gt;
* BN - Basic Node&lt;br /&gt;
&lt;br /&gt;
=== Random questions / thoughts ===&lt;br /&gt;
&lt;br /&gt;
* What Internet contract packages are available from the VO - prepaid, contract, local, gov sites only ???&lt;br /&gt;
* Is data traffic contained on the local wireless network free / flat fee / pay per usage&lt;br /&gt;
* must a user do some login before he can use the local network&lt;br /&gt;
* must the network be able to log all user traffic between local users&lt;br /&gt;
* can a user use the local network without buying prepaid/account from the VO&lt;br /&gt;
* How must a prepaid package be activated / deactivated&lt;br /&gt;
* Are there any bandwidth limits tied to a Internet package&lt;br /&gt;
* Are there any data caps associated with the different package&lt;br /&gt;
* Must a prepaid user login before he can use the Internet&lt;br /&gt;
* Must a prepaid user login before he can send data on the local network (no Internet)&lt;br /&gt;
* How about a gaming server on the local network, does it need to login some where&lt;br /&gt;
* Can more than one user share the same prepaid account, and at the same time&lt;br /&gt;
* If a school uses prepaid, do they share the same account, or each user in school&lt;br /&gt;
* How will someone running an Internet cafe resell his prepaid bandwidth&lt;br /&gt;
* Is a prepaid account tied to certain time duration&lt;br /&gt;
* How does a person get onto the network?&lt;br /&gt;
* If login is necessary, how do peripherals like printers and ATAs authenticate?&lt;br /&gt;
* What devices should be &#039;approved&#039; for use on the network&lt;br /&gt;
&lt;br /&gt;
=== The VO ===&lt;br /&gt;
A VO is a person or an entity whose primary objective is running (at a profit) a wireless network. To this end, the following describes the needs or requirements of the VO to meet his objective.&lt;br /&gt;
&lt;br /&gt;
The VO needs:&lt;br /&gt;
&lt;br /&gt;
1. A healthy and working network&lt;br /&gt;
&lt;br /&gt;
2. Diagnostic tools for the network&lt;br /&gt;
&lt;br /&gt;
3. To manage users or subscribers to the network&lt;br /&gt;
&lt;br /&gt;
4. Service management of the network&lt;br /&gt;
&lt;br /&gt;
5. A view of the usage of the network&lt;br /&gt;
&lt;br /&gt;
6. To manage (activate/deactivate) edge devices on the network&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. A healthy and working network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Each network element MUST handle all routing and communications other network elements. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Each network element MUST require of the VO as minimum as possible configuration without compromising its usability or effectiveness.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Diagnostic tools for the network&lt;br /&gt;
&lt;br /&gt;
At a minimum, the VO is provided with a web based diagnostic tools. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The diagnostic tools are enough for the VO to establish any problem that may be there. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The diagnostic tools can interface with other systems, e.g SMS, email.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. To manage users or subscribers to the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO will be able create and modify user accounts&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO provides a number of service options for different users&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can monitor usage of the internet connection&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can monitor usage of the local network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can block access to the network for certain users&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Service management of the network &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to prioritise certain services within the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to block or enable certain services&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. A view of the usage of the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to see the usage of the whole network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to see the usage of each network element&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. To manage (activate/deactivate) edge devices in the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can allow (new) edge devices to join the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can block edge devices from accessing the local network&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=VO_Requirements_%26_Functionality_Questions&amp;diff=4797</id>
		<title>VO Requirements &amp; Functionality Questions</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=VO_Requirements_%26_Functionality_Questions&amp;diff=4797"/>
		<updated>2009-10-15T09:30:13Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Understanding the bigger picture ==&lt;br /&gt;
&lt;br /&gt;
The development on this project is done in phases. New functionalities/features are added with each phase until we reach our target system. All development work of every phase should be aligned with our end system in mind. In order for developers to make the right design choices that will not limit future functionality, they need to have a clear end target that they are working towards.&lt;br /&gt;
&lt;br /&gt;
This page is here to help the developers to get a better understanding of the bigger picture and to make sure the target we design for is clearly defined and does not move around. &lt;br /&gt;
&lt;br /&gt;
Please add any project related questions/thoughts on this page so that we can sort them and see what information is still missing.&lt;br /&gt;
&lt;br /&gt;
=== VO (village operator) in action ===&lt;br /&gt;
&lt;br /&gt;
Lets assume the the new VO has all the kit installed. The gateway (WISP) box is connected to the Internet and he is now ready to commission his new business. His first customers are three schools, the local Municipality and two owners of a local Spaza shop who wants a mesh connection at the shop and at both their homes. The two shop owners are very excited and they want to put a web server at their shop and they are thinking about opening a little Internet cafe very soon.&lt;br /&gt;
&lt;br /&gt;
=== Definitions ===&lt;br /&gt;
* User - An accounting entity with a user name and password. Typically represents an individual or an organisation.&lt;br /&gt;
* Edge device - A device that is part of the local wireless network (e.g. talk mesh protocol) and allows other devices to connect through the wireless network. HPNs and &#039;Basic Nodes&#039; are edge devices.&lt;br /&gt;
* HPN - High Performance Node&lt;br /&gt;
* BN - Basic Node&lt;br /&gt;
&lt;br /&gt;
=== Random questions / thoughts ===&lt;br /&gt;
&lt;br /&gt;
* What Internet contract packages are available from the VO - prepaid, contract, local, gov sites only ???&lt;br /&gt;
* Is data traffic contained on the local wireless network free / flat fee / pay per usage&lt;br /&gt;
* must a user do some login before he can use the local network&lt;br /&gt;
* must the network be able to log all user traffic between local users&lt;br /&gt;
* can a user use the local network without buying prepaid/account from the VO&lt;br /&gt;
* How must a prepaid package be activated / deactivated&lt;br /&gt;
* Are there any bandwidth limits tied to a Internet package&lt;br /&gt;
* Are there any data caps associated with the different package&lt;br /&gt;
* Must a prepaid user login before he can use the Internet&lt;br /&gt;
* Must a prepaid user login before he can send data on the local network (no Internet)&lt;br /&gt;
* How about a gaming server on the local network, does it need to login some where&lt;br /&gt;
* Can more than one user share the same prepaid account, and at the same time&lt;br /&gt;
* If a school uses prepaid, do they share the same account, or each user in school&lt;br /&gt;
* How will someone running an Internet cafe resell his prepaid bandwidth&lt;br /&gt;
* Is a prepaid account tied to certain time duration&lt;br /&gt;
* How does a person get onto the network?&lt;br /&gt;
* If login is necessary, how do peripherals like printers and ATAs authenticate?&lt;br /&gt;
* What devices should be &#039;approved&#039; for use on the network&lt;br /&gt;
&lt;br /&gt;
=== The VO ===&lt;br /&gt;
A VO is a person or an entity whose primary objective is running (at a profit) a wireless network. To this end, the following describes the needs or requirements of the VO to meet his objective.&lt;br /&gt;
&lt;br /&gt;
The VO needs:&lt;br /&gt;
&lt;br /&gt;
1. A healthy and working network&lt;br /&gt;
&lt;br /&gt;
2. Diagnostic tools for the network&lt;br /&gt;
&lt;br /&gt;
3. To manage users or subscribers to the network&lt;br /&gt;
&lt;br /&gt;
4. Service management of the network&lt;br /&gt;
&lt;br /&gt;
5. A view of the usage of the network&lt;br /&gt;
&lt;br /&gt;
6. To manage (activate/deactivate) edge devices on the network&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. A healthy and working network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Each network element MUST handle all routing and communications other network elements. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Each network element MUST require of the VO as minimum as possible configuration without compromising its usability or effectiveness.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Diagnostic tools for the network&lt;br /&gt;
&lt;br /&gt;
At a minimum, the VO is provided with a web based diagnostic tools. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The diagnostic tools are enough for the VO to establish any problem that may be there. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The diagnostic tools can interface with other systems, e.g SMS, email.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. To manage users or subscribers to the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO will be able create and modify user accounts&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO provides a number of service options for different users&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can monitor usage of the internet connection&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can monitor usage of the local network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can block access to the network for certain users&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Service management of the network &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to prioritise certain services within the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to block or enable certain services&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. A view of the usage of the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to see the usage of the whole network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to see the usage of each network element&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. To manage (activate/deactivate) edge devices in the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can allow (new) edge devices to join the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can block edge devices from accessing the local network&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=VO_Requirements_%26_Functionality_Questions&amp;diff=4796</id>
		<title>VO Requirements &amp; Functionality Questions</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=VO_Requirements_%26_Functionality_Questions&amp;diff=4796"/>
		<updated>2009-10-15T09:26:58Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Understanding the bigger picture ==&lt;br /&gt;
&lt;br /&gt;
The development on this project is done in phases. New functionalities/features are added with each phase until we reach our target system. All development work of every phase should be aligned with our end system in mind. In order for developers to make the right design choices that will not limit future functionality, they need to have a clear end target that they are working towards.&lt;br /&gt;
&lt;br /&gt;
This page is here to help the developers to get a better understanding of the bigger picture and to make sure the target we design for is clearly defined and does not move around. &lt;br /&gt;
&lt;br /&gt;
Please add any project related questions/thoughts on this page so that we can sort them and see what information is still missing.&lt;br /&gt;
&lt;br /&gt;
=== VO (village operator) in action ===&lt;br /&gt;
&lt;br /&gt;
Lets assume the the new VO has all the kit installed. The gateway (WISP) box is connected to the Internet and he is now ready to commission his new business. His first customers are three schools, the local Municipality and two owners of a local Spaza shop who wants a mesh connection at the shop and at both their homes. The two shop owners are very excited and they want to put a web server at their shop and they are thinking about opening a little Internet cafe very soon.&lt;br /&gt;
&lt;br /&gt;
=== Definitions ===&lt;br /&gt;
* User - An accounting entity with a user name and password. Typically represents an individual or an organisation.&lt;br /&gt;
* Edge device - A device that is part of the mesh network (talk mesh protocol) and allows other devices to connect through the mesh. HPNs and Basic Mesh Nodes are edge devices.&lt;br /&gt;
* HPN - High Performance Node&lt;br /&gt;
* BN - Basic Node&lt;br /&gt;
&lt;br /&gt;
=== Random questions / thoughts ===&lt;br /&gt;
&lt;br /&gt;
* What Internet contract packages are available from the VO - prepaid, contract, local, gov sites only ???&lt;br /&gt;
* Is data traffic on the mesh free / flat fee / pay per usage&lt;br /&gt;
* must a user do some login before he can use the mesh&lt;br /&gt;
* must the mesh be able to log all user traffic between mesh users&lt;br /&gt;
* can a user use the mesh without buying prepaid/account from the VO&lt;br /&gt;
* How must a prepaid package be activated / deactivated&lt;br /&gt;
* Are there any bandwidth limits tied to a Internet package&lt;br /&gt;
* Are there any data caps associated with the different package&lt;br /&gt;
* Must a prepaid user login before he can use the Internet&lt;br /&gt;
* Must a prepaid user login before he can send data on the mesh (no Internet)&lt;br /&gt;
* How about a gaming server on the mesh, does it need to login some where&lt;br /&gt;
* Can more than one user share the same prepaid account, and at the same time&lt;br /&gt;
* If a school uses prepaid, do they share the same account, or each user in school&lt;br /&gt;
* How will someone running an Internet cafe resell his prepaid bandwidth&lt;br /&gt;
* Is a prepaid account tied to certain time duration&lt;br /&gt;
* How does a person get onto the network?&lt;br /&gt;
* If login is necessary, how do peripherals like printers and ATAs authenticate?&lt;br /&gt;
* What devices should be &#039;approved&#039; for use on the network&lt;br /&gt;
&lt;br /&gt;
=== The VO ===&lt;br /&gt;
A VO is a person or an entity whose primary objective is running (at a profit) a wireless network. To this end, the following describes the needs or requirements of the VO to meet his objective.&lt;br /&gt;
&lt;br /&gt;
The VO needs:&lt;br /&gt;
&lt;br /&gt;
1. A healthy and working network&lt;br /&gt;
&lt;br /&gt;
2. Diagnostic tools for the network&lt;br /&gt;
&lt;br /&gt;
3. To manage users or subscribers to the network&lt;br /&gt;
&lt;br /&gt;
4. Service management of the network&lt;br /&gt;
&lt;br /&gt;
5. A view of the usage of the network&lt;br /&gt;
&lt;br /&gt;
6. To manage (activate/deactivate) edge devices on the network&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. A healthy and working network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Each network element MUST handle all routing and communications other network elements. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Each network element MUST require of the VO as minimum as possible configuration without compromising its usability or effectiveness.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Diagnostic tools for the network&lt;br /&gt;
&lt;br /&gt;
At a minimum, the VO is provided with a web based diagnostic tools. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The diagnostic tools are enough for the VO to establish any problem that may be there. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The diagnostic tools can interface with other systems, e.g SMS, email.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. To manage users or subscribers to the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO will be able create and modify user accounts&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO provides a number of service options for different users&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can monitor usage of the internet connection&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can monitor usage of the local network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can block access to the network for certain users&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Service management of the network &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to prioritise certain services within the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to block or enable certain services&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. A view of the usage of the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to see the usage of the whole network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; The VO is able to see the usage of each network element&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. To manage (activate/deactivate) edge devices in the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can allow (new) edge devices to join the network&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; VO can block edge devices from accessing the mesh network&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Ajay&amp;diff=4784</id>
		<title>User:Ajay</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Ajay&amp;diff=4784"/>
		<updated>2009-09-28T04:37:51Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==DIY Mesh Guide==&lt;br /&gt;
[[DIY_Mesh_Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==WISP in a box project==&lt;br /&gt;
&lt;br /&gt;
[[WISP_in_a_Box_Development]]&lt;br /&gt;
&lt;br /&gt;
[[The_WISP-in-a-box_project]]&lt;br /&gt;
&lt;br /&gt;
[[WISP-in-a-box_Way_Forward]]&lt;br /&gt;
&lt;br /&gt;
[[WISP_Coova_phpMyPrepaid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==High Performance Node ==&lt;br /&gt;
&lt;br /&gt;
[[High_performance_node_page]] - migrated&lt;br /&gt;
&lt;br /&gt;
[[High_Performance_Node_-_Setup]] Setup for bokkie routers at Ndlovu&lt;br /&gt;
&lt;br /&gt;
[[High_Performance_Node_-_Specification]] - migrated&lt;br /&gt;
&lt;br /&gt;
[[High_Performance_Node_-_Dev_and_Test_Network]] - migrated&lt;br /&gt;
&lt;br /&gt;
[[High_Performance_Node_-_Software]] Software related - migrated&lt;br /&gt;
&lt;br /&gt;
==VoIP==&lt;br /&gt;
&lt;br /&gt;
[[VoIP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Development Team Research Pages ==&lt;br /&gt;
&#039;&#039;&#039;George: &#039;&#039;&#039; [[George%27s_Research]] - migrated&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Johann: &#039;&#039;&#039; [[Johann%27s_Research]] - migrated&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lawrence: &#039;&#039;&#039; [[Lawrence%27s_Research]] - migrated&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ntuthuko: &#039;&#039;&#039; [[Ntuthuko%27s_Research]] - migrated&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tom: &#039;&#039;&#039; [[Tom%27s_research]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ajay: &#039;&#039;&#039; [[Ajay%27s_research]] - migrated&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gerhard: &#039;&#039;&#039; [[Gerhard%27s_research]] - migrated&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;John: &#039;&#039;&#039; [[John%27s_research]] - migrated&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antoine:&#039;&#039;&#039; [[Antoine%27s_Research]]&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=Lawrence%27s_Research&amp;diff=4614</id>
		<title>Lawrence&#039;s Research</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Lawrence%27s_Research&amp;diff=4614"/>
		<updated>2009-04-16T10:18:28Z</updated>

		<summary type="html">&lt;p&gt;Kroux: /* Features of the High Performance Node (HPN) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Development Team Research Pages]]&lt;br /&gt;
= Avila board development [ Avila GW2348-4 Intel XScale IXP425] =&lt;br /&gt;
The intention of this exercise is to get the board to run Linux. There are number of ways to do this and will consider as many as feasible. &lt;br /&gt;
== Running OpenWRT on Avila board ==&lt;br /&gt;
The following steps were performed to get the board to run OpenWRT&lt;br /&gt;
===Requirements===&lt;br /&gt;
A. Installing and setting up tftp server (Ubuntu, hardy)&lt;br /&gt;
&lt;br /&gt;
B. Download two files &#039;openwrt-ixp4xx-squashfs.img&#039; and &#039;openwrt-ixp4xx-zImage&#039;&lt;br /&gt;
&lt;br /&gt;
C. Upload OpenWRT onto the board&lt;br /&gt;
==== A. Installing and setting up tftp server (Ubuntu, hardy)====&lt;br /&gt;
The diagram below shows the setup we will be using to setup and test the tftp server. The tftp server machine, sun, will be given IP address 192.168.3.1 and the client machine, moon, will be given IP address 192.168.3.2.&lt;br /&gt;
[[Image:Tftp.jpg|left|Tftp server (sun) to be tested using client PC(moon)]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 miguel@sun:~ sudo apt-get install xinetd tftpd tftp&lt;br /&gt;
 miguel@sun:~ vi /etc/xinetd.d/tftp &lt;br /&gt;
;Add the following lines in /etc/xinetd.d/tftp&lt;br /&gt;
 service tftp&lt;br /&gt;
 {&lt;br /&gt;
 protocol        = udp&lt;br /&gt;
 port            = 69&lt;br /&gt;
 socket_type     = dgram&lt;br /&gt;
 wait            = yes&lt;br /&gt;
 user            = nobody               //Please note if you have trouble with running tftpd, change &amp;quot;nobody&amp;quot; to &amp;quot;root&amp;quot;&lt;br /&gt;
 server          = /usr/sbin/in.tftpd&lt;br /&gt;
 server_args     = /tftpboot&lt;br /&gt;
 disable         = no&lt;br /&gt;
 }&lt;br /&gt;
;Create /tftpboot directory&lt;br /&gt;
 miguel@sun:~ sudo mkdir /tftpboot&lt;br /&gt;
 miguel@sun:~ sudo chmod -R 777 /tftpboot //Please note the permissions need not be 777 but should be at least 444 (i.e readable by all) &lt;br /&gt;
 miguel@sun:~ sudo chown -R nobody /tftpboot //Please change &amp;quot;nobody&amp;quot; to &amp;quot;root&amp;quot; if in file /etc/xinetd.d/tftp you have specified &amp;quot;root&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;Start tftpd using xinetd&lt;br /&gt;
&lt;br /&gt;
 miguel@sun:~ sudo /etc/init.d/xinetd start&lt;br /&gt;
&lt;br /&gt;
;Testing tftp server &lt;br /&gt;
We test tftp server by transfering a file from a client called &#039;moon&#039; with IP address 192.168.3.2) to tftp server called &#039;sun&#039; with IP address 192.168.3.1. Assuming you have file testTFTP.txt in your home directory on the client machine:&lt;br /&gt;
 miguel@moon:~ ls -l testTFTP.txt&lt;br /&gt;
 -rw-r--r-- 1 miguel miguel   3551088 2008-04-19 15:52 testTFTP.txt&lt;br /&gt;
 miguel@moon:~ tftp 192.168.3.1&lt;br /&gt;
 miguel@moon:~ trace&lt;br /&gt;
 miguel@moon:~ put testTFTP.txt&lt;br /&gt;
 sent WRQ &amp;lt;file=testTFTP.txt, mode=netascii&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block=0&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block=1, 512 bytes&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block=1&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block=2, 512 bytes&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block=2&amp;gt;&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 received]] ACK &amp;lt;block=6933&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block=6934, 512 bytes&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block=6934&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block=6935, 512 bytes&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block=6935&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block=6936, 368 bytes&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block=6936&amp;gt;&lt;br /&gt;
 Sent 3551088 bytes in 5.8 seconds&lt;br /&gt;
Now logon to the &#039;sun&#039; machine (the tftp server) and run &#039;ls&#039; and your uploaded file should be there(hopefully).&lt;br /&gt;
 miguel@sun:~ ls - -l /tftpboot/&lt;br /&gt;
 -rw-r--r-- 1 root root   3551088 2008-04-19 15:52 testTFTP.txt&lt;br /&gt;
;We now have a working tftp server!!&lt;br /&gt;
&lt;br /&gt;
====  B. &#039;&#039;&#039;Download&#039;&#039;&#039;  two files, &#039;&#039;&#039;openwrt-ixp4xx-squashfs.img&#039;&#039;&#039; and &#039;&#039;&#039;openwrt-ixp4xx-zImage&#039;&#039;&#039; on to tftp server====&lt;br /&gt;
&lt;br /&gt;
Visit http://ftp.iasi.roedu.net/mirrors/openwrt.org/snapshots/ixp4xx/ and download files &#039;&#039;openwrt-ixp4xx-squashfs.img&#039;&#039; and &#039;&#039;openwrt-ixp4xx-zImage&#039;&#039; and save these files to /tftpboot directory of the tftp server. Make sure the files are readable &lt;br /&gt;
 miguel@sun:~ ls - -l /tftpboot/&lt;br /&gt;
 -rw-r--r-- 1 root   root    3551088 2008-04-19 15:52 testTFTP.txt&lt;br /&gt;
 -rw-r--r-- 1 root   root    1179648 2008-08-06 18:32 openwrt-ixp4xx-squashfs.img&lt;br /&gt;
 -rw-r--r-- 1 root   root    1034156 2008-08-06 18:32 openwrt-ixp4xx-zImage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====  C. Upload OpenWRT onto the board====&lt;br /&gt;
Make sure you have a terminal emulation program, like minicom(*nix) or HyperTerminal(Windows). &lt;br /&gt;
&lt;br /&gt;
Setting up the serial interface on your Laptop/PC. Startup minicom and then Type &amp;quot;Ctrl+a o&amp;quot; or &amp;quot;Ctrl+A O&amp;quot; &lt;br /&gt;
&lt;br /&gt;
 +-----[configuration]------+ &lt;br /&gt;
 | Filenames and paths      |&lt;br /&gt;
 | File transfer protocols  |&lt;br /&gt;
 | Serial port setup        |&lt;br /&gt;
 | Modem and dialing        |&lt;br /&gt;
 | Screen and keyboard      |&lt;br /&gt;
 | Save setup as dfl        |&lt;br /&gt;
 | Save setup as..          |&lt;br /&gt;
 | Exit                     |&lt;br /&gt;
 +--------------------------+&lt;br /&gt;
&lt;br /&gt;
Scroll down to option &#039;&#039;Serial port setup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 +-----------------------------------------------------------------------+&lt;br /&gt;
 | A -    Serial Device      : /dev/ttyS0                                |&lt;br /&gt;
 | B - Lockfile Location     : /var/lock                                 |&lt;br /&gt;
 | C -   Callin Program      :                                           |&lt;br /&gt;
 | D -  Callout Program      :                                           |&lt;br /&gt;
 | E -    Bps/Par/Bits       : 115200 8N1                                |&lt;br /&gt;
 | F - Hardware Flow Control : No                                        |&lt;br /&gt;
 | G - Software Flow Control : No                                        |&lt;br /&gt;
 |                                                                       |&lt;br /&gt;
 |    Change which setting?                                              |&lt;br /&gt;
 +-----------------------------------------------------------------------+&lt;br /&gt;
&lt;br /&gt;
Select the letters A-G to change the settings and press the &amp;quot;enter&amp;quot; key to get out of the menu back to the main menu. The final settings should be as shown above.&lt;br /&gt;
&lt;br /&gt;
Connect the Avila board to your PC/laptop using a serial cable. Power-up the Avila and repeatedly press Ctrl+C until the board displays Redboot. This is what I see on my board:&lt;br /&gt;
 +No devices on IDE controller 0&lt;br /&gt;
 Trying NPE-B...success. Using NPE-B with PHY 0.&lt;br /&gt;
 Ethernet eth0: MAC address 00:d0:12:03:24:67&lt;br /&gt;
 IP: 192.168.3.2/255.255.255.0, Gateway: 0.0.0.0&lt;br /&gt;
 Default server: 192.168.3.1&lt;br /&gt;
 &lt;br /&gt;
 RedBoot(tm) bootstrap and debug environment [ROM]&lt;br /&gt;
 Gateworks certified release, version 2.02 - built 05:22:19, Mar  3 2006&lt;br /&gt;
 &lt;br /&gt;
 Platform: Gateworks Avila GW234X (IXP42X 533MHz) BE&lt;br /&gt;
 Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.&lt;br /&gt;
 Copyright (C) 2004, 2005 Gateworks Corporation&lt;br /&gt;
 &lt;br /&gt;
 RAM: 0x00000000-0x04000000, [0x000298b0-0x03fc1000] available&lt;br /&gt;
 FLASH: 0x50000000 - 0x51000000, 128 blocks of 0x00020000 bytes each.&lt;br /&gt;
 == Executing boot script in 2.500 seconds - enter ^C to abort&lt;br /&gt;
 ^C&lt;br /&gt;
 RedBoot&amp;gt; ^C&lt;br /&gt;
 RedBoot&amp;gt; ^C&lt;br /&gt;
&lt;br /&gt;
As shown, my board has the follwoing IP settings:&lt;br /&gt;
&lt;br /&gt;
 Local IP address: 192.168.3.2&lt;br /&gt;
 Local IP address mask: 255.255.255.0&lt;br /&gt;
 Default server IP address: 192.168.3.1&lt;br /&gt;
&lt;br /&gt;
If after pressing Ctrl+C your board didn&#039;t not display the same information as above, then to see your IP settings do this &lt;br /&gt;
 RedBoot&amp;gt; ip_address&lt;br /&gt;
 IP: 192.168.3.2/255.255.255.0, Gateway: 0.0.0.0&lt;br /&gt;
 Default server: 192.168.3.1&lt;br /&gt;
Use the &amp;quot;ip_address&amp;quot; command to change the IP settings if you need to. Remember in our case we have the tftp server set to 192.168.3.1 so the line &amp;quot;Default server: 192.168.3.1&amp;quot; above is correct. Change yours if it&#039;s not correct.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we need to initialize the FLASH&lt;br /&gt;
 RedBoot&amp;gt;fis init&lt;br /&gt;
Answer yes by typing Y or y to the question below&lt;br /&gt;
 About to initialize [format] FLASH image system - continue (y/n)?&lt;br /&gt;
You should see the following output:&lt;br /&gt;
 *** Initialize FLASH Image System&lt;br /&gt;
 ... Erase from 0x50080000-0x50fe0000: ...............................&lt;br /&gt;
 .....................................................................&lt;br /&gt;
 .......................&lt;br /&gt;
 ... Unlock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Erase from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .&lt;br /&gt;
 ... Lock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 RedBoot&amp;gt;&lt;br /&gt;
Next we check to see free available space&lt;br /&gt;
 RedBoot&amp;gt; fis free&lt;br /&gt;
   0x50080000 .. 0x50FE0000&lt;br /&gt;
Therefore we have 0x00f60000 (16MB) available space&lt;br /&gt;
We now copy the linux file from the ftp server as raw data (option -r) to memory address 0x0080000 (option -b) and want a progress indicator (option -v).&lt;br /&gt;
 RedBoot&amp;gt; load -r -v -b 0x00800000 openwrt-ixp4xx-zImage&lt;br /&gt;
This process should take about 5 seconds,if you get any errors then make sure you have the tftp server running correctly and that the file you are copying is there, and further that the IP addresses are correct. From the above command you should see:&lt;br /&gt;
 Using default protocol (TFTP)&lt;br /&gt;
 /&lt;br /&gt;
 Raw file loaded 0x00800000-0x00967c93, assumed entry at 0x00800000&lt;br /&gt;
 RedBoot&amp;gt;&lt;br /&gt;
We proceed to create a flash image which we call &#039;linux&#039; from the the file we&#039;ve just loaded from the tftp server.&lt;br /&gt;
 RedBoot&amp;gt; fis create linux&lt;br /&gt;
The output should be&lt;br /&gt;
 ... Erase from 0x50080000-0x50280000: ................&lt;br /&gt;
 ... Program from 0x00800000-0x00a00000 at 0x50080000: ................&lt;br /&gt;
 ... Unlock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Erase from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .&lt;br /&gt;
 ... Lock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 RedBoot&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then need to &lt;br /&gt;
We now need to copy the root filesystem from the tftp server as raw data (option -r) to memory address 0x0080000 (option -b) and want a progress indicator (option -v). Type the following command;&lt;br /&gt;
 RedBoot&amp;gt; load -r -v -b 0x00800000 openwrt-ixp4xx-squashfs.img&lt;br /&gt;
The output is:&lt;br /&gt;
 Using default protocol (TFTP)&lt;br /&gt;
 /&lt;br /&gt;
 Raw file loaded 0x00800000-0x00d13fff, assumed entry at 0x00800000 &lt;br /&gt;
 RedBoot&amp;gt;&lt;br /&gt;
We once again check to see the available flash space&lt;br /&gt;
 RedBoot&amp;gt; fis free&lt;br /&gt;
   0x50180000 .. 0x50FE0000&lt;br /&gt;
Therefore we have 0x00EF0000(about 14.7MB) of flash available.&lt;br /&gt;
&lt;br /&gt;
We then proceed to create an root filesystem image onto the FLASH using the entire available space.&lt;br /&gt;
 RedBoot&amp;gt; fis create -l 0xe60000 rootfs&lt;br /&gt;
&lt;br /&gt;
The output should be:&lt;br /&gt;
 ... Erase from 0x50180000-0x50fe0000: ...................................................................................................................&lt;br /&gt;
 ... Program from 0x00800000-0x00920000 at 0x50180000: .........&lt;br /&gt;
 ... Unlock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Erase from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .&lt;br /&gt;
 ... Lock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 RedBoot&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Finally, we run the &#039;&#039;fconfig&#039;&#039; command to write the boot script and also make any changes we may need.&lt;br /&gt;
 RedBoot&amp;gt; fconfig&lt;br /&gt;
For our purposes we will only specify the boot script and leave the other settings unchanged by entering the &amp;quot;Enter&amp;quot; key. The boot script we will enter is:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt; fis load linux&lt;br /&gt;
 &amp;gt;&amp;gt; exec&lt;br /&gt;
Hit the &amp;quot;enter&amp;quot; key twice after the &amp;quot;exec&amp;quot; word. &lt;br /&gt;
Enter Y or y when prompted with &lt;br /&gt;
 Update RedBoot non-volatile configuration - continue (y/n)? y &lt;br /&gt;
The complete output should be:&lt;br /&gt;
 RedBoot&amp;gt; fconfig&lt;br /&gt;
 Run script at boot: true&lt;br /&gt;
 Boot script: &lt;br /&gt;
 Enter script, terminate with empty line&lt;br /&gt;
 &amp;gt;&amp;gt; fis load linux&lt;br /&gt;
 &amp;gt;&amp;gt; exec&lt;br /&gt;
 &amp;gt;&amp;gt; &lt;br /&gt;
 Boot script timeout (100ms resolution): 25&lt;br /&gt;
 Use BOOTP for network configuration: false&lt;br /&gt;
 Gateway IP address: &lt;br /&gt;
 Local IP address: 192.168.3.2&lt;br /&gt;
 Local IP address mask: 255.255.255.0&lt;br /&gt;
 Default server IP address: 192.168.3.1&lt;br /&gt;
 Console baud rate: 115200&lt;br /&gt;
 GDB connection port: 9000&lt;br /&gt;
 Force console for special debug messages: false&lt;br /&gt;
 Network debug at boot time: false&lt;br /&gt;
 Default network device: npe_eth0&lt;br /&gt;
 Update RedBoot non-volatile configuration - continue (y/n)? y&lt;br /&gt;
 ... Unlock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Erase from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .&lt;br /&gt;
 ... Lock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 RedBoot&amp;gt; &lt;br /&gt;
Now we reset the Avila board&lt;br /&gt;
 RedBoot&amp;gt; reset&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux should now be booting. After a long display of messages you should see the message:&lt;br /&gt;
 mini_fo: using storage directory: /jffs&lt;br /&gt;
 - init -&lt;br /&gt;
After which it prints&lt;br /&gt;
 Please press Enter to activate this console.&lt;br /&gt;
If you happened to have missed these above messages and it appears as though the board has &amp;quot;hanged&amp;quot; you need to hit the &amp;quot;Enter&amp;quot; key to see the prompt.&lt;br /&gt;
 BusyBox v1.8.2 (2008-08-06 07:33:12 PDT) built-in shell (ash)&lt;br /&gt;
 Enter &#039;help&#039; for a list of built-in commands. &lt;br /&gt;
 &lt;br /&gt;
   _______                     ________        __&lt;br /&gt;
  |       |.-----.-----.-----.|  |  |  |.----.|  |_&lt;br /&gt;
  |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|&lt;br /&gt;
  |_______||   __|_____|__|__||________||__|  |____|&lt;br /&gt;
           |__| W I R E L E S S   F R E E D O M&lt;br /&gt;
  KAMIKAZE (bleeding edge, r12194) -------------------&lt;br /&gt;
   * 10 oz Vodka       Shake well with ice and strain&lt;br /&gt;
   * 10 oz Triple sec  mixture into 10 shot glasses.&lt;br /&gt;
   * 10 oz lime juice  Salute!&lt;br /&gt;
  ---------------------------------------------------&lt;br /&gt;
 root@OpenWrt:/#&lt;br /&gt;
&lt;br /&gt;
End!!&lt;br /&gt;
===NOTES===&lt;br /&gt;
In the above the steps, the root filesystem and the kernel were two different files. In the section on downloading and making our own customized images, we&#039;ll show how to combine the two files into one, so that from Redboot we only load one file instead of two.&lt;br /&gt;
&lt;br /&gt;
== Configuring the Avila board ==&lt;br /&gt;
===Configuring the Ethernet ports ===&lt;br /&gt;
By default(from the downloaded images), the two Ethernet ports (eth0 and eth1) are not configurable since their hardware addresses are 00:00:00:00:00:00&lt;br /&gt;
 root@OpenWrt:~# ifconfig -a&lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  &lt;br /&gt;
          BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:100 &lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
 &lt;br /&gt;
 eth1      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  &lt;br /&gt;
          BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:100 &lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
On further inspection, I found that the reason why the hardware addresses are 00:00:00:00:00:00 is because the network drivers for the LAN interfaces were neither loaded (as modules) nor created during compilation!  A solution to the above problem is to download (svn) the source (either the trunk or kamikaze) and then make sure that the LAN network driver modules created/loaded.&lt;br /&gt;
&lt;br /&gt;
===Working from the source code===&lt;br /&gt;
Create a working space from which you run:&lt;br /&gt;
 svn co https://svn.openwrt.org/openwrt/trunk/     ///To download the trunk&lt;br /&gt;
OR!!!&lt;br /&gt;
 svn co https://svn.openwrt.org/openwrt/tags/kamikaze_7.09   ///To download the kamikaze release&lt;br /&gt;
&lt;br /&gt;
The following steps apply to either the trunk or Kamikaze. After the above commands are done the run:&lt;br /&gt;
 $make&lt;br /&gt;
OR!!&lt;br /&gt;
 $make menuconfig&lt;br /&gt;
&lt;br /&gt;
====To merge the kernel and root filesystem into one image====&lt;br /&gt;
During menuconfig, select &#039;&#039;&#039;ramdisk&#039;&#039;&#039; under option &#039;&#039;&#039;Target Images&#039;&#039;&#039;. Save the configuration, exit the menu and type &#039;&#039;&#039;make&#039;&#039;&#039; again.&lt;br /&gt;
 $make&lt;br /&gt;
The build process will take a few hours since it has to download the sources and only then it build the images.&lt;br /&gt;
&lt;br /&gt;
After the build process, in the &#039;&#039;&#039;bin&#039;&#039;&#039; directory you will have either two files &#039;&#039;&#039;openwrt-ixp4xx-squashfs.img&#039;&#039;&#039; and &#039;&#039;&#039;openwrt-ixp4xx-zImage&#039;&#039;&#039; or only one file &#039;&#039;&#039;openwrt-ixp4xx-zImage&#039;&#039;&#039; (provided your selected &#039;&#039;&#039;ramdisk&#039;&#039;&#039; as you &#039;&#039;&#039;Target Image&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: Ramdisk means all changes, you make on the filesystem, will be lost on reboot.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Load the image(s)====&lt;br /&gt;
Follow the steps described above in section &#039;&#039;&#039;C. Upload OpenWRT onto the board&#039;&#039;&#039;  to load the images. Check the LAN addresses&lt;br /&gt;
 root@OpenWrt:~# ifconfig -a&lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  &lt;br /&gt;
          BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:100 &lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
 &lt;br /&gt;
 eth1      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  &lt;br /&gt;
          BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:100 &lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
Alas, the LAN hardware addresses are still 00:00:00:00:00:00!!!&lt;br /&gt;
====Diagnostics====&lt;br /&gt;
When the system starts up, look at the following messages&lt;br /&gt;
 Using base address 0x00800000 and length 0x0031d030&lt;br /&gt;
 Uncompressing Linux.......................................................................................................................................... done, booting the kernel.&lt;br /&gt;
 Linux version 2.6.26.2 (lawrence@bluesky) (gcc version 4.1.2) #1 Fri Aug 22 12:44:15 SAST 2008&lt;br /&gt;
 CPU: XScale-IXP42x Family [690541c1] revision 1 (ARMv5TE), cr=000039ff&lt;br /&gt;
 Machine: Intel IXDP425 Development Platform&lt;br /&gt;
And in particular the line &lt;br /&gt;
 Machine: Intel IXDP425 Development Platform&lt;br /&gt;
It should instead say&lt;br /&gt;
 Machine: Gateworks Avila Network Platform&lt;br /&gt;
&lt;br /&gt;
Check Redboot&#039;s version &lt;br /&gt;
 RedBoot&amp;gt; version&lt;br /&gt;
 &lt;br /&gt;
 RedBoot(tm) bootstrap and debug environment [ROM]&lt;br /&gt;
 Gateworks certified release, version 2.02 - built 05:22:19, Mar  3 2006&lt;br /&gt;
 &lt;br /&gt;
 Platform: Gateworks Avila GW234X (IXP42X 533MHz) BE&lt;br /&gt;
 Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.&lt;br /&gt;
 Copyright (C) 2004, 2005 Gateworks Corporation&lt;br /&gt;
 &lt;br /&gt;
 RAM: 0x00000000-0x04000000, [0x000298b0-0x03fc1000] available&lt;br /&gt;
 FLASH: 0x50000000 - 0x51000000, 128 blocks of 0x00020000 bytes each.&lt;br /&gt;
Apparently this version of Redboot is old which causes it to pass a wrong machine id to the linux kernel; So instead of using openwrt-ixp4xx-zImage as the kernel use the kernel named openwrt-avila-zImage, and everything should be fine.&lt;br /&gt;
&lt;br /&gt;
Pheeew!!!&lt;br /&gt;
====Final Solution====&lt;br /&gt;
So here&#039;s the short of story of the above&lt;br /&gt;
 RedBoot&amp;gt; ^C&lt;br /&gt;
 RedBoot&amp;gt; fis init&lt;br /&gt;
&lt;br /&gt;
 About to initialize [format] FLASH image system - continue (y/n)? y&lt;br /&gt;
 *** Initialize FLASH Image System&lt;br /&gt;
 ... Unlock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Erase from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .&lt;br /&gt;
 ... Lock from 0x50fe0000-0x51000000: .&lt;br /&gt;
&lt;br /&gt;
 RedBoot&amp;gt; load -r -v -b 0x00800000 openwrt-avila-zImage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Using default protocol (TFTP)&lt;br /&gt;
 \&lt;br /&gt;
 Raw file loaded 0x00800000-0x008f211f, assumed entry at 0x00800000&lt;br /&gt;
&lt;br /&gt;
 RedBoot&amp;gt; fis create linux&lt;br /&gt;
&lt;br /&gt;
 ... Erase from 0x50080000-0x50180000: ........&lt;br /&gt;
 ... Program from 0x00800000-0x008f2120 at 0x50080000: ........&lt;br /&gt;
 ... Unlock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Erase from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .&lt;br /&gt;
 ... Lock from 0x50fe0000-0x51000000: .&lt;br /&gt;
&lt;br /&gt;
 RedBoot&amp;gt; load -r -v -b 0x00800000 openwrt-ixp4xx-squashfs.img&lt;br /&gt;
&lt;br /&gt;
 Using default protocol (TFTP)&lt;br /&gt;
 \&lt;br /&gt;
 Raw file loaded 0x00800000-0x0093ffff, assumed entry at 0x00800000&lt;br /&gt;
&lt;br /&gt;
 RedBoot&amp;gt; fis create -l 0xe60000 rootfs&lt;br /&gt;
&lt;br /&gt;
 ... Erase from 0x50180000-0x50fe0000: ...................................................................................................................&lt;br /&gt;
 ... Program from 0x00800000-0x00940000 at 0x50180000: ..........&lt;br /&gt;
 ... Unlock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Erase from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .&lt;br /&gt;
 ... Lock from 0x50fe0000-0x51000000: .&lt;br /&gt;
&lt;br /&gt;
 RedBoot&amp;gt; fconfig&lt;br /&gt;
&lt;br /&gt;
 Run script at boot: true&lt;br /&gt;
 Boot script: &lt;br /&gt;
 .. fis load linux&lt;br /&gt;
 .. exec&lt;br /&gt;
 Enter script, terminate with empty line&lt;br /&gt;
 &amp;gt;&amp;gt; fis load linux&lt;br /&gt;
 &amp;gt;&amp;gt; exec&lt;br /&gt;
 &amp;gt;&amp;gt; &lt;br /&gt;
 Boot script timeout (100ms resolution): 25&lt;br /&gt;
 Use BOOTP for network configuration: false&lt;br /&gt;
 Gateway IP address: &lt;br /&gt;
 Local IP address: 192.168.3.2&lt;br /&gt;
 Local IP address mask: 255.255.255.0&lt;br /&gt;
 Default server IP address: 192.168.3.1&lt;br /&gt;
 Console baud rate: 115200&lt;br /&gt;
 GDB connection port: 9000&lt;br /&gt;
 Force console for special debug messages: false&lt;br /&gt;
 Network debug at boot time: false&lt;br /&gt;
 Default network device: npe_eth0&lt;br /&gt;
 Update RedBoot non-volatile configuration - continue (y/n)? y&lt;br /&gt;
 ... Unlock from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Erase from 0x50fe0000-0x51000000: .&lt;br /&gt;
 ... Program from 0x03fe0000-0x04000000 at 0x50fe0000: .&lt;br /&gt;
 ... Lock from 0x50fe0000-0x51000000: .&lt;br /&gt;
&lt;br /&gt;
  RedBoot&amp;gt; reset&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing the firmware===&lt;br /&gt;
To include your startup scripts do:&lt;br /&gt;
&lt;br /&gt;
1) Create a directory called &#039;&#039;&#039;files&#039;&#039;&#039; in the trunk/top directory&lt;br /&gt;
&lt;br /&gt;
2) From within the &#039;&#039;&#039;files&#039;&#039;&#039; directory create the subdirectory(ies) and store the file in the appropriate directory&lt;br /&gt;
&lt;br /&gt;
3) Rebuild the firmware&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples, to have a passwd file in the /etc/ directory do:&lt;br /&gt;
 mkdir $(TOPDIR)/files/etc/&lt;br /&gt;
 cp passwd $(TOPDIR)/files/etc/passwd&lt;br /&gt;
To have your startup script called &#039;&#039;&#039;myinit&#039;&#039;&#039; do:&lt;br /&gt;
 mkdir $(TOPDIR)/files/etc/&lt;br /&gt;
 cp myinit $(TOPDIR)/files/etc/init.d/myinit&lt;br /&gt;
Please note, for startup scripts you MUST at the beginning of the file define the line START $NUMBER&lt;br /&gt;
&lt;br /&gt;
e.g.&lt;br /&gt;
 START 40&lt;br /&gt;
This will cause a file &#039;&#039;&#039;S40myinit&#039;&#039;&#039; to be created in directory /etc/rc.d/&lt;br /&gt;
&lt;br /&gt;
====Passing kernel commands at boot time====&lt;br /&gt;
By default the kernel is passed the following commands:&lt;br /&gt;
 root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit&lt;br /&gt;
The above parameters are specified in the &#039;&#039;&#039;kernel_menuconfig&amp;quot; option of make, so do:&lt;br /&gt;
 $make kernel_menuconfig //then select the &#039;&#039;&#039;Boot options&#039;&#039;&#039; option&lt;br /&gt;
&lt;br /&gt;
===Network connection===&lt;br /&gt;
I&#039;ve compiled in the firewall, which by default blocks all incoming connections. For now simply switch off the firewall&lt;br /&gt;
 root@OpenWrt:/# chmod 666 /etc/init.d/firewall&lt;br /&gt;
 root@OpenWrt:/# reboot&lt;br /&gt;
====Kernel error when loading linux kernel====&lt;br /&gt;
I now enable wireless interface wifi0 from file &#039;&#039;&#039;&#039;/etc/config/wireless&#039;&#039;&#039;.&lt;br /&gt;
 config wifi-device  wifi0&lt;br /&gt;
         option type     atheros&lt;br /&gt;
         option channel  11     &lt;br /&gt;
 &lt;br /&gt;
         # REMOVE THIS LINE TO ENABLE WIFI:&lt;br /&gt;
 #       option disabled 1&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface&lt;br /&gt;
         option device   wifi0&lt;br /&gt;
         option mode     sta&lt;br /&gt;
         option ssid     avilabatman       &lt;br /&gt;
         option encryption none &lt;br /&gt;
Now I reboot the board..&lt;br /&gt;
 root@OpenWrt:/# reboot&lt;br /&gt;
Below is what happens&lt;br /&gt;
&lt;br /&gt;
 Trying NPE-B...success. Using NPE-B with PHY 0.&lt;br /&gt;
 Ethernet eth0: MAC address 00:d0:12:03:24:67&lt;br /&gt;
 IP: 192.168.3.2/255.255.255.0, Gateway: 0.0.0.0&lt;br /&gt;
 Default server: 192.168.3.1&lt;br /&gt;
 &lt;br /&gt;
 RedBoot(tm) bootstrap and debug environment [ROM]&lt;br /&gt;
 Gateworks certified release, version 2.02 - built 05:22:19, Mar  3 2006 &lt;br /&gt;
 &lt;br /&gt;
 Platform: Gateworks Avila GW234X (IXP42X 533MHz) BE&lt;br /&gt;
 Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.&lt;br /&gt;
 Copyright (C) 2004, 2005 Gateworks Corporation &lt;br /&gt;
 &lt;br /&gt;
 RAM: 0x00000000-0x04000000, [0x000298b0-0x03fc1000] available&lt;br /&gt;
 FLASH: 0x50000000 - 0x51000000, 128 blocks of 0x00020000 bytes each.&lt;br /&gt;
 == Executing boot script in 2.500 seconds - enter ^C to abort&lt;br /&gt;
 RedBoot&amp;gt; fis load linux&lt;br /&gt;
 RedBoot&amp;gt; exec&lt;br /&gt;
 Using base address 0x00800000 and length 0x000f9378&lt;br /&gt;
 Uncompressing Linux..................................................................... done, booting the kernel.&lt;br /&gt;
 Linux version 2.6.26.2 (lawrence@bluesky) (gcc version 4.1.2) #3 Mon Aug 25 15:15:49 SAST 2008&lt;br /&gt;
 CPU: XScale-IXP42x Family [690541c1] revision 1 (ARMv5TE), cr=000039ff&lt;br /&gt;
 Machine: Gateworks Avila Network Platform&lt;br /&gt;
 Memory policy: ECC disabled, Data cache writeback&lt;br /&gt;
 CPU0: D VIVT undefined 5 cache&lt;br /&gt;
 CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets&lt;br /&gt;
 CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets&lt;br /&gt;
 Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256&lt;br /&gt;
 Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit&lt;br /&gt;
 PID hash table entries: 256 (order: 8, 1024 bytes)&lt;br /&gt;
 Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)&lt;br /&gt;
 Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)&lt;br /&gt;
 Memory: 64MB = 64MB total&lt;br /&gt;
 Memory: 62720KB available (1892K code, 180K data, 100K init)&lt;br /&gt;
 SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1&lt;br /&gt;
 Mount-cache hash table entries: 512&lt;br /&gt;
 CPU: Testing write buffer coherency: ok&lt;br /&gt;
 net_namespace: 640 bytes&lt;br /&gt;
 NET: Registered protocol family 16&lt;br /&gt;
 IXP4xx: Using 16MiB expansion bus window size&lt;br /&gt;
 PCI: IXP4xx is host&lt;br /&gt;
 PCI: IXP4xx Using direct access for memory space&lt;br /&gt;
 PCI: bus0: Fast back to back transfers enabled&lt;br /&gt;
 dmabounce: registered device 0000:00:04.0 on pci bus&lt;br /&gt;
 NET: Registered protocol family 2&lt;br /&gt;
 IP route cache hash table entries: 1024 (order: 0, 4096 bytes)&lt;br /&gt;
 TCP established hash table entries: 2048 (order: 2, 16384 bytes)&lt;br /&gt;
 TCP bind hash table entries: 2048 (order: 1, 8192 bytes)&lt;br /&gt;
 TCP: Hash tables configured (established 2048 bind 2048)&lt;br /&gt;
 TCP reno registered&lt;br /&gt;
 NET: Registered protocol family 1&lt;br /&gt;
 IXP4xx Queue Manager initialized.&lt;br /&gt;
 squashfs: version 3.0 (2006/03/15) Phillip Lougher&lt;br /&gt;
 Registering mini_fo version $Id$&lt;br /&gt;
 JFFS2 version 2.2. (NAND) (SUMMARY)  �© 2001-2006 Red Hat, Inc.&lt;br /&gt;
 msgmni has been set to 122&lt;br /&gt;
 io scheduler noop registered&lt;br /&gt;
 io scheduler deadline registered (default)&lt;br /&gt;
 gpiodev: gpio device registered with major 253&lt;br /&gt;
 gpiodev: gpio platform device registered with access mask 000002AA&lt;br /&gt;
 Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled&lt;br /&gt;
 serial8250.0: ttyS0 at MMIO 0xc8000000 (irq = 15) is a XScale&lt;br /&gt;
 console [ttyS0] enabled&lt;br /&gt;
 serial8250.0: ttyS1 at MMIO 0xc8001000 (irq = 13) is a XScale&lt;br /&gt;
 IXP4XX-Flash.0: Found 1 x16 devices at 0x0 in 16-bit bank&lt;br /&gt;
  Intel/Sharp Extended Query Table at 0x0031&lt;br /&gt;
 Using buffer write method&lt;br /&gt;
 cfi_cmdset_0001: Erase suspend on write enabled&lt;br /&gt;
 Searching for RedBoot partition table in IXP4XX-Flash.0 at offset 0xfe0000&lt;br /&gt;
 5 RedBoot partitions found on MTD device IXP4XX-Flash.0&lt;br /&gt;
 Creating 5 MTD partitions on &amp;quot;IXP4XX-Flash.0&amp;quot;:&lt;br /&gt;
 0x00000000-0x00080000 : &amp;quot;RedBoot&amp;quot;&lt;br /&gt;
 0x00080000-0x00180000 : &amp;quot;linux&amp;quot;&lt;br /&gt;
 0x00180000-0x00fe0000 : &amp;quot;rootfs&amp;quot;&lt;br /&gt;
 mtd: partition &amp;quot;rootfs&amp;quot; set to be root filesystem&lt;br /&gt;
 mtd: partition &amp;quot;rootfs_data&amp;quot; created automatically, ofs=2E0000, len=D00000 &lt;br /&gt;
 0x002e0000-0x00fe0000 : &amp;quot;rootfs_data&amp;quot;&lt;br /&gt;
 0x00fe0000-0x00fff000 : &amp;quot;FIS directory&amp;quot;&lt;br /&gt;
 0x00fff000-0x01000000 : &amp;quot;RedBoot config&amp;quot;&lt;br /&gt;
 i2c /dev entries driver&lt;br /&gt;
 ds1672 0-0068: chip found, driver version 0.4&lt;br /&gt;
 ds1672 0-0068: rtc core: registered ds1672 as rtc0&lt;br /&gt;
 i2c-gpio i2c-gpio.0: using pins 7 (SDA) and 6 (SCL)&lt;br /&gt;
 ad7418 0-0028: ad7418 chip found&lt;br /&gt;
 ad7418 0-0028: configuring for mode 1&lt;br /&gt;
 IXP4xx Watchdog Timer: heartbeat 60 sec&lt;br /&gt;
 nf_conntrack version 0.5.0 (1024 buckets, 4096 max)&lt;br /&gt;
 ip_tables: (C) 2000-2006 Netfilter Core Team&lt;br /&gt;
 TCP westwood registered&lt;br /&gt;
 NET: Registered protocol family 17&lt;br /&gt;
 802.1Q VLAN Support v1.8 Ben Greear &amp;lt;greearb@candelatech.com&amp;gt;&lt;br /&gt;
 All bugs added by David S. Miller &amp;lt;davem@redhat.com&amp;gt;&lt;br /&gt;
 XScale DSP coprocessor detected.&lt;br /&gt;
 Unknown/missing Avila model number -- defaults will be used&lt;br /&gt;
 eth0: MII PHY 0 on NPE-B&lt;br /&gt;
 eth1: MII PHY 1 on NPE-C&lt;br /&gt;
 Registered led device: user&lt;br /&gt;
 ds1672 0-0068: setting system clock to 2009-08-26 12:35:01 UTC (1251290101)&lt;br /&gt;
 VFS: Mounted root (squashfs filesystem) readonly.&lt;br /&gt;
 Freeing init memory: 100K&lt;br /&gt;
 Please be patient, while OpenWrt loads ...&lt;br /&gt;
 - preinit -&lt;br /&gt;
 Press CTRL-C for failsafe&lt;br /&gt;
 switching to jffs2&lt;br /&gt;
 mini_fo: using base directory: /&lt;br /&gt;
 mini_fo: using storage directory: /jffs&lt;br /&gt;
 - init -   &lt;br /&gt;
 &lt;br /&gt;
 Please press Enter to activate this console. firmware: requesting NPE-B&lt;br /&gt;
 NPE-B: firmware&#039;s license can be found in /usr/share/doc/LICENSE.IPL&lt;br /&gt;
 NPE-B: firmware functionality 0x2, revision 0x2:1&lt;br /&gt;
 eth0: link down&lt;br /&gt;
 NET: Registered protocol family 10&lt;br /&gt;
 lo: Disabled Privacy Extensions&lt;br /&gt;
 ADDRCONF(NETDEV_UP): eth0: link is not ready&lt;br /&gt;
 PPP generic driver version 2.4.2&lt;br /&gt;
 ip6_tables: (C) 2000-2006 Netfilter Core Team&lt;br /&gt;
 ipt_time loading&lt;br /&gt;
 wlan: trunk&lt;br /&gt;
 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1&lt;br /&gt;
 ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready&lt;br /&gt;
 ath_hal: module license &#039;Proprietary&#039; taints kernel.&lt;br /&gt;
 ath_hal: 0.10.5.6 (AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, RF2413, RF5413, RF2133, RF2425, RF2417, REGOPS_FUNC)&lt;br /&gt;
 ath_rate_minstrel: Minstrel automatic rate control algorithm 1.2 (trunk)&lt;br /&gt;
 ath_rate_minstrel: look around rate set to 10%&lt;br /&gt;
 ath_rate_minstrel: EWMA rolloff level set to 75%&lt;br /&gt;
 ath_rate_minstrel: max segment size in the mrr set to 6000 us&lt;br /&gt;
 wlan: mac acl policy registered&lt;br /&gt;
 ath_pci: trunk&lt;br /&gt;
 PCI: enabling device 0000:00:04.0 (0340 -&amp;gt; 0342)&lt;br /&gt;
 wifi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps&lt;br /&gt;
 wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps&lt;br /&gt;
 wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps&lt;br /&gt;
 wifi0: H/W encryption support: WEP AES AES_CCM TKIP&lt;br /&gt;
 ath_pci: wifi0: Atheros 5413: mem=0x48000000, irq=25&lt;br /&gt;
 skb_under_panic: text:bf0ba140 len:28 put:24 head:c300c61e data:c300c5f8 tail:0xc300c614 end:0xc300c680 dev:&amp;lt;NULL&amp;gt;&lt;br /&gt;
 Unable to handle kernel NULL pointer dereference at virtual address 00000000&lt;br /&gt;
 pgd = c3f1c000&lt;br /&gt;
 [00000000] *pgd=03f4d031, *pte=00000000, *ppte=00000000&lt;br /&gt;
 Internal error: Oops: 817 [#1]&lt;br /&gt;
 Modules linked in: ath_pci wlan_xauth wlan_wep wlan_tkip wlan_ccmp wlan_acl ath_rate_minstrel ath_hal(P) wlan_scan_sta wlan_scan_ap wlan nf_nat_tftp nf_conntrack_tftp nf_nat_irc nf_conntrack_irc  nf_nat_ftp nf_conntrack_ftp ipt_TTL xt_MAi&lt;br /&gt;
 CPU: 0    Tainted: P           (2.6.26.2 #3)&lt;br /&gt;
 pc : [&amp;lt;c01376b0&amp;gt;]    lr : [&amp;lt;c002d4f8&amp;gt;]    psr: 60000013&lt;br /&gt;
 sp : c3039d4c  ip : c020630c  fp : c3039d7c&lt;br /&gt;
 r10: c3e7815c  r9 : c3e7a000  r8 : c3e7815c&lt;br /&gt;
 r7 : c300c680  r6 : c300c614  r5 : c300c5f8  r4 : c300c61e&lt;br /&gt;
 r3 : 00000000  r2 : 60000013  r1 : 00000001  r0 : 00000076&lt;br /&gt;
 Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user&lt;br /&gt;
 Control: 000039ff  Table: 03f1c000  DAC: 00000015&lt;br /&gt;
 Process wifi (pid: 2227, stack limit = 0xc3038260)&lt;br /&gt;
 Stack: (0xc3039d4c to 0xc303a000)&lt;br /&gt;
 9d40:                            c300c61e c300c5f8 c300c614 c300c680 c01dadb0 &lt;br /&gt;
 9d60: c300c61e c3e380c0 00000040 c3e78360 c3039d94 c3039d80 c0138548 c0137668 &lt;br /&gt;
 9d80: c3f903f0 c3e78360 c3039dc0 c3039d98 bf0ba140 c0138518 c3f903f0 c3e78360 &lt;br /&gt;
 9da0: c3e7a000 c3e380c0 c3f90360 00000000 00000000 c3039e08 c3039dc4 bf0ba804 &lt;br /&gt;
 9dc0: bf0b9fa8 c3e785a4 c3e7815c c3e7815c c3e7815c c3e7815c c3e785a4 c300c622 &lt;br /&gt;
 9de0: c3c3b000 00000000 c3e78360 c3f90494 c3e7815c 00000014 c3c1b700 c3039e48 &lt;br /&gt;
 9e00: c3039e0c bf0bfacc bf0ba6d8 bf0cc8d0 00000000 00000000 00000000 c3e785a4 &lt;br /&gt;
 9e20: 00000100 bf0bf98c c0219200 00000000 c3038000 c3eac5c0 c3c1b700 c3039e74 &lt;br /&gt;
 9e40: c3039e4c c003b13c bf0bf998 c3039e4c c3039e4c 00000081 c021900c 0000000a &lt;br /&gt;
 9e60: 00000000 00000011 c3039e90 c3039e78 c0036ff4 c003b000 00000005 c0207c8c &lt;br /&gt;
 9e80: 00000000 c3039ea0 c3039e94 c0037380 c0036fa4 c3039ebc c3039ea4 c0021048 &lt;br /&gt;
 9ea0: c0037348 ffffffff 0000001f 00000020 c3039f48 c3039ec0 c0021664 c002100c &lt;br /&gt;
 9ec0: c3eac5c0 00000004 000008cc 60000013 c3038000 c3e0d1e0 c3eac5c0 00000000 &lt;br /&gt;
 9ee0: 00000011 c3eac5c0 c3c1b700 c3039f48 000000fc c3039f08 00000000 c003122c &lt;br /&gt;
 9f00: 60000013 ffffffff c3eac5c0 c3039fb0 00000000 c3039fb0 be803308 00000000 &lt;br /&gt;
 9f20: 000a18c0 00000011 00000000 00000000 00000000 00000000 c3039fb0 c3039f8c &lt;br /&gt;
 9f40: c3039f4c c00315a4 c0030680 00000000 c3f0de80 c3039f60 c007c004 c0073e00 &lt;br /&gt;
 9f60: 00000000 000a18c0 0009a238 000abccc 00000002 c0021be4 c3038000 000af22f &lt;br /&gt;
 9f80: c3039fa4 c3039f90 c0024b84 c00314b4 00000000 00000000 00000000 c3039fa8 &lt;br /&gt;
 9fa0: c0021a40 c0024b5c 000a18c0 0009a238 000a18c0 000abccc 00000002 00000010 &lt;br /&gt;
 9fc0: 000a18c0 0009a238 000abccc 00000002 00000008 00000044 000af22f 000a18c0 &lt;br /&gt;
 9fe0: 000993f8 be803308 0002ecec 400630f8 60000010 000a18c0 00000000 00000000 &lt;br /&gt;
 Backtrace: &lt;br /&gt;
 Function entered at [&amp;lt;c013765c&amp;gt;] from [&amp;lt;c0138548&amp;gt;]&lt;br /&gt;
  r7:c3e78360 r6:00000040 r5:c3e380c0 r4:c300c61e&lt;br /&gt;
 Function entered at [&amp;lt;c013850c&amp;gt;] from [&amp;lt;bf0ba140&amp;gt;]&lt;br /&gt;
  r5:c3e78360 r4:c3f903f0&lt;br /&gt;
 Function entered at [&amp;lt;bf0b9f9c&amp;gt;] from [&amp;lt;bf0ba804&amp;gt;]&lt;br /&gt;
 Function entered at [&amp;lt;bf0ba6cc&amp;gt;] from [&amp;lt;bf0bfacc&amp;gt;]&lt;br /&gt;
 Function entered at [&amp;lt;bf0bf98c&amp;gt;] from [&amp;lt;c003b13c&amp;gt;]&lt;br /&gt;
 Function entered at [&amp;lt;c003aff4&amp;gt;] from [&amp;lt;c0036ff4&amp;gt;]&lt;br /&gt;
  r8:00000011 r7:00000000 r6:0000000a r5:c021900c r4:00000081&lt;br /&gt;
 Function entered at [&amp;lt;c0036f98&amp;gt;] from [&amp;lt;c0037380&amp;gt;]&lt;br /&gt;
  r6:00000000 r5:c0207c8c r4:00000005&lt;br /&gt;
 Function entered at [&amp;lt;c003733c&amp;gt;] from [&amp;lt;c0021048&amp;gt;]&lt;br /&gt;
 Function entered at [&amp;lt;c0021000&amp;gt;] from [&amp;lt;c0021664&amp;gt;]&lt;br /&gt;
 Exception stack(0xc3039ec0 to 0xc3039f08)&lt;br /&gt;
 9ec0: c3eac5c0 00000004 000008cc 60000013 c3038000 c3e0d1e0 c3eac5c0 00000000 &lt;br /&gt;
 9ee0: 00000011 c3eac5c0 c3c1b700 c3039f48 000000fc c3039f08 00000000 c003122c &lt;br /&gt;
 9f00: 60000013 ffffffff                                                       &lt;br /&gt;
  r6:00000020 r5:0000001f r4:ffffffff&lt;br /&gt;
 Function entered at [&amp;lt;c0030674&amp;gt;] from [&amp;lt;c00315a4&amp;gt;]&lt;br /&gt;
 Function entered at [&amp;lt;c00314a8&amp;gt;] from [&amp;lt;c0024b84&amp;gt;]&lt;br /&gt;
 Function entered at [&amp;lt;c0024b50&amp;gt;] from [&amp;lt;c0021a40&amp;gt;]&lt;br /&gt;
 Code: e88d00f0 e58dc010 ebfbee2d e3a03000 (e5833000) &lt;br /&gt;
 Kernel panic - not syncing: Fatal exception in interrupt&lt;br /&gt;
&lt;br /&gt;
Now recompiled the images, first without the madwidi drivers but then the wireless interfaces were not configurable. Then rebuilt the images with madwifi back in; and so far the kernel panic has not occurred. I will need to investigate further as to what causes the kernel panic.&lt;br /&gt;
====Current configuration of the board at startup====&lt;br /&gt;
1) Switch off the firewall&lt;br /&gt;
 root@OpenWrt:~# chmod 666 /etc/init.d/firewall&lt;br /&gt;
2) Configuration of the interfaces &#039;&#039;&#039;/etc/config/network&#039;&#039;&#039;&lt;br /&gt;
  # Copyright (C) 2006 OpenWrt.org&lt;br /&gt;
  &lt;br /&gt;
 config interface loopback&lt;br /&gt;
         option ifname   lo&lt;br /&gt;
         option proto    static&lt;br /&gt;
         option ipaddr   127.0.0.1&lt;br /&gt;
         option netmask  255.0.0.0&lt;br /&gt;
 &lt;br /&gt;
 config interface lan&lt;br /&gt;
         option ifname   eth0&lt;br /&gt;
 #       option type     bridge&lt;br /&gt;
         option proto    static&lt;br /&gt;
         option ipaddr   192.168.1.1&lt;br /&gt;
         option netmask  255.255.255.0&lt;br /&gt;
 &lt;br /&gt;
 config interface eth1&lt;br /&gt;
         option ifname   eth1&lt;br /&gt;
         option proto    dhcp&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 config interface ath0&lt;br /&gt;
         option ifname   ath0&lt;br /&gt;
         option proto    static&lt;br /&gt;
         option ipaddr   172.16.1.1&lt;br /&gt;
         option netmask  255.255.255.0&lt;br /&gt;
2) Configguration of the wireless devices &#039;&#039;&#039;/etc/config/wireless&#039;&#039;&#039;&lt;br /&gt;
 config wifi-device  wifi0&lt;br /&gt;
         option disabled 0&lt;br /&gt;
         option type     atheros&lt;br /&gt;
         option channel  149&lt;br /&gt;
         option agmode 11a&lt;br /&gt;
         option country za&lt;br /&gt;
   &lt;br /&gt;
 config wifi-iface                              &lt;br /&gt;
         option device   wifi0                  &lt;br /&gt;
         option mode     adhoc                     &lt;br /&gt;
         option ssid     apex_wifi0   &lt;br /&gt;
 &lt;br /&gt;
 config wifi-device  wifi1                     &lt;br /&gt;
         option disabled 0                     &lt;br /&gt;
         option type     atheros               &lt;br /&gt;
         option channel  157    &lt;br /&gt;
         option agmode 11a      &lt;br /&gt;
         option country za&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface              &lt;br /&gt;
         option device   wifi1  &lt;br /&gt;
         option mode     adhoc&lt;br /&gt;
         option ssid     apex_wifi1&lt;br /&gt;
 &lt;br /&gt;
 config wifi-device  wifi2                      &lt;br /&gt;
         option disabled 0                      &lt;br /&gt;
         option type     atheros                &lt;br /&gt;
         option channel  11                     &lt;br /&gt;
         option agmode 11bg                     &lt;br /&gt;
         option country za&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface                              &lt;br /&gt;
         option device   wifi2                  &lt;br /&gt;
         option network  lan                    &lt;br /&gt;
         option mode     ap                     &lt;br /&gt;
         option ssid     apex_hotspot   &lt;br /&gt;
         option encryption none                 &lt;br /&gt;
&lt;br /&gt;
3) Web server configuration &lt;br /&gt;
&lt;br /&gt;
Either by hand or within the startup script of udhcpd, do this:&lt;br /&gt;
 mkdir -p /var/lib/misc&lt;br /&gt;
 touch /var/lib/misc/udhcpd.leases&lt;br /&gt;
Otherwise udhcpd will fail to start.&lt;br /&gt;
 root@OpenWrt:/# udhcpd -f /etc/udhcpd.conf &lt;br /&gt;
&lt;br /&gt;
 udhcpd (v1.8.2) started&lt;br /&gt;
 udhcpd: can&#039;t open &#039;/var/lib/misc/udhcpd.leases&#039;: No such file or directory&lt;br /&gt;
 udhcpd: bind: Address already in use&lt;br /&gt;
&lt;br /&gt;
If you see this error message &lt;br /&gt;
 udhcpd (v1.8.2) started&lt;br /&gt;
 udhcpd: bind: Address already in use&lt;br /&gt;
Then do this &lt;br /&gt;
root@OpenWrt:/etc# netstat -l&lt;br /&gt;
and if it shows &lt;br /&gt;
udp        0      0 0.0.0.0:67              0.0.0.0:* &lt;br /&gt;
Then most likely you need to stop dnsmasq&lt;br /&gt;
 root@OpenWrt:/etc/rc.d# sh S60dnsmasq stop&lt;br /&gt;
Here&#039;s the configuration file &#039;&#039;&#039;/etc/udhcpd.conf&#039;&#039;&#039; stub&lt;br /&gt;
 # replace these with your own ip address range as appropriate&lt;br /&gt;
 &lt;br /&gt;
 start 192.168.1.2&lt;br /&gt;
 end 192.168.1.250&lt;br /&gt;
 &lt;br /&gt;
 interface eth0 # replace this if your network runs on eth1, eth2, ath0, etc.&lt;br /&gt;
                # Make sure the IP address specified in &amp;quot;start&amp;quot; and &amp;quot;end&amp;quot;&lt;br /&gt;
                # match the IP address of the interface specified here&lt;br /&gt;
 &lt;br /&gt;
 # these options are for bootp.. PXE uses this to figure out which server to&lt;br /&gt;
 # go to for tftp.  This will be the ip address of your dhcp/tftp server&lt;br /&gt;
 #siaddr 10.1.1.254&lt;br /&gt;
 #sname dhcp_server_name # the name of your dhcp server&lt;br /&gt;
 #boot_file /tftpboot/pxelinux.0&lt;br /&gt;
 &lt;br /&gt;
 #set up dns, routes and other info&lt;br /&gt;
 opt dns 192.168.1.1 # (replace with your DNS servers)&lt;br /&gt;
 opt subnet 255.255.255.0 # replace with your subnet if it&#039;s different&lt;br /&gt;
 opt router 192.168.1.1 # replace with your gateway&lt;br /&gt;
 option domain local&lt;br /&gt;
 option lease 864000 # 10 days of seconds&lt;br /&gt;
 #opt tftp 10.1.1.254 # the IP address of your tftp/dhcp server&lt;br /&gt;
&lt;br /&gt;
4) Wireless interfaces auto configuration at startup &#039;&#039;&#039;/etc/init.d/netinit&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note this script is included in the firmware at build time. See section &#039;&#039;&#039;Customizing firmware&#039;&#039;&#039;&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2008&lt;br /&gt;
 &lt;br /&gt;
 START=39&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # This scheme of calculating IP addresses is based on two observed patterns:&lt;br /&gt;
 #   1. The Ethernet addresses for first Ethernet port(eth0) of the Avila boards differ on the 6th byte.&lt;br /&gt;
 #   2. The Ethernet addresses for Atheros cards (we have, so far) differ on the 6th byte&lt;br /&gt;
 #&lt;br /&gt;
 #   So, for the IPv4 IP address,A.B.C.D,&lt;br /&gt;
 #&lt;br /&gt;
 #   A -- is fixed, currently set to 10&lt;br /&gt;
 #   B -- is the 6th byte of eth0&#039;s MAC address&lt;br /&gt;
 #   C -- is the lowest nibble of the 6th byte of eth0&#039;s MAC address, for interface eth0 only&lt;br /&gt;
 #     -- is the 6th byte of the wifi card&#039;s MAC address, for wifi interfaces only&lt;br /&gt;
 #   D -- is fixed to 1&lt;br /&gt;
 #&lt;br /&gt;
 #  E.g. For eth0 with MAC address 00:D0:12:03:24:67,&lt;br /&gt;
 #       Interface ath0(wifi) with MAC address 00:80:48:4F:24:DA&lt;br /&gt;
 #       Therefore,&lt;br /&gt;
 #            the 6th byte is &#039;67&#039;&lt;br /&gt;
 #       Implies;&lt;br /&gt;
 #               eth0&#039;s IP address is 10.103.3.1&lt;br /&gt;
 #               ath0&#039;s IP address is 10.103.218.1&lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 #  Returns A (which is always fixed) in IP address A.B.C.D&lt;br /&gt;
 #&lt;br /&gt;
 get_a_class()&lt;br /&gt;
 {&lt;br /&gt;
    a_class=10;&lt;br /&gt;
    echo &amp;quot;$a_class&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 #  Returns B in IP address A.B.C.D&lt;br /&gt;
 #&lt;br /&gt;
 get_b_class()&lt;br /&gt;
 {&lt;br /&gt;
    b_class=$(ifconfig eth0 | grep HW | sed  &#039;s/^.*HWaddr //&#039; | awk &#039; {split($1,e,&amp;quot;:&amp;quot;); \&lt;br /&gt;
       b = &amp;quot;0x&amp;quot; e[6]; \&lt;br /&gt;
       printf(&amp;quot;%01d\n&amp;quot;, b); }&#039;)&lt;br /&gt;
    echo $b_class&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 #  Input   : interface name&lt;br /&gt;
 #  Returns : C in IP address A.B.C.D&lt;br /&gt;
 #&lt;br /&gt;
 get_c_class()&lt;br /&gt;
 {&lt;br /&gt;
    case $1 in&lt;br /&gt;
 #   wifi*) c_class=$(ifconfig $1 | grep HW | sed  &#039;s/^.*HWaddr //&#039; | awk &#039; {split($1,e,&amp;quot;-&amp;quot;); \&lt;br /&gt;
 #     c = &amp;quot;0x&amp;quot; e[6]; \&lt;br /&gt;
 #&lt;br /&gt;
 #     printf(&amp;quot;%01d\n&amp;quot;, c); }&#039;)&lt;br /&gt;
    wifi0) c_class=0&lt;br /&gt;
    ;;&lt;br /&gt;
   wifi1) c_class=1&lt;br /&gt;
    ;;&lt;br /&gt;
   wifi2) c_class=2&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    eth*) c_class=$(ifconfig $1 | grep HW | sed  &#039;s/^.*HWaddr //&#039; | awk &#039; {split($1,e,&amp;quot;:&amp;quot;); \&lt;br /&gt;
       c = &amp;quot;0x&amp;quot; e[6]; c = and (c,0x0f); \&lt;br /&gt;
       printf(&amp;quot;%01d\n&amp;quot;, c); }&#039;)&lt;br /&gt;
    ;;&lt;br /&gt;
    *)  c_class=10&lt;br /&gt;
       ;;&lt;br /&gt;
    esac&lt;br /&gt;
 &lt;br /&gt;
    echo $c_class&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 #  Input  : Ethernet interface name&lt;br /&gt;
 #  Output : A.B.C.D&lt;br /&gt;
 #&lt;br /&gt;
 get_ipaddr()&lt;br /&gt;
 {&lt;br /&gt;
    cc=$1&lt;br /&gt;
    echo $(get_a_class).$(get_b_class).$(get_c_class $1).1&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 create_dnsmasq_conf()&lt;br /&gt;
 {&lt;br /&gt;
 cat &amp;gt;/etc/dnsmasq.conf &amp;lt;&amp;lt;-EOF&lt;br /&gt;
 # filter what we send upstream&lt;br /&gt;
 domain-needed&lt;br /&gt;
 #&lt;br /&gt;
 bogus-priv&lt;br /&gt;
 filterwin2k&lt;br /&gt;
 localise-queries&lt;br /&gt;
 #&lt;br /&gt;
 # allow /etc/hosts and dhcp lookups via *.lan&lt;br /&gt;
 local=/lan/&lt;br /&gt;
 domain=lan&lt;br /&gt;
 expand-hosts&lt;br /&gt;
 no-negcache&lt;br /&gt;
 resolv-file=/etc/resolv.conf&lt;br /&gt;
 #&lt;br /&gt;
 # enable dhcp (start,end,netmask,leasetime)&lt;br /&gt;
 dhcp-authoritative&lt;br /&gt;
 dhcp-range=eth0,$(get_a_class).$(get_b_class).$(get_c_class eth0).100,$(get_a_class).$(get_b_class).$(get_c_class eth0).150,255.255.255.0,12h&lt;br /&gt;
 dhcp-range=ath2,$(get_a_class).$(get_b_class).$(get_c_class ath2).100,$(get_a_class).$(get_b_class).$(get_c_class ath2).150,255.255.255.0,12h&lt;br /&gt;
 dhcp-leasefile=/tmp/dhcp.leases&lt;br /&gt;
 #&lt;br /&gt;
 # use /etc/ethers for static hosts; same format as --dhcp-host&lt;br /&gt;
 # &amp;lt;hwaddr&amp;gt; &amp;lt;ipaddr&amp;gt;&lt;br /&gt;
 read-ethers&lt;br /&gt;
 #&lt;br /&gt;
 # other useful options:&lt;br /&gt;
 # default route(s): dhcp-option=3,192.168.1.1,192.168.1.2&lt;br /&gt;
 #    dns server(s): dhcp-option=6,192.168.1.1,192.168.1.2&lt;br /&gt;
 dhcp-option=15,&amp;quot;cids.org.za meraka.csir.co.za&amp;quot;&lt;br /&gt;
 EOF&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 create_network()&lt;br /&gt;
 {&lt;br /&gt;
 cat &amp;gt;/etc/config/network &amp;lt;&amp;lt;-EOF&lt;br /&gt;
 # Copyright 2008&lt;br /&gt;
 &lt;br /&gt;
 config interface loopback&lt;br /&gt;
    option ifname  lo&lt;br /&gt;
    option proto   static&lt;br /&gt;
    option ipaddr  127.0.0.1&lt;br /&gt;
    option netmask 255.0.0.0&lt;br /&gt;
 &lt;br /&gt;
 config interface eth0&lt;br /&gt;
    option ifname  eth0&lt;br /&gt;
    option proto    static&lt;br /&gt;
    option ipaddr  $(get_ipaddr eth0)&lt;br /&gt;
    option netmask  255.255.255.0&lt;br /&gt;
 &lt;br /&gt;
 config interface eth1&lt;br /&gt;
    option ifname  eth1&lt;br /&gt;
    option proto   dhcp&lt;br /&gt;
 &lt;br /&gt;
 config interface ath0&lt;br /&gt;
    option ifname  ath0&lt;br /&gt;
    option proto   static&lt;br /&gt;
    option ipaddr  $(get_ipaddr wifi0)&lt;br /&gt;
    option netmask 255.255.255.0&lt;br /&gt;
 &lt;br /&gt;
 config interface ath1&lt;br /&gt;
    option ifname  ath1&lt;br /&gt;
    option proto   static&lt;br /&gt;
    option ipaddr  $(get_ipaddr wifi1)&lt;br /&gt;
    option netmask 255.255.255.0&lt;br /&gt;
 &lt;br /&gt;
 config interface ath2&lt;br /&gt;
    option ifname  ath2&lt;br /&gt;
    option proto   static&lt;br /&gt;
    option ipaddr  $(get_ipaddr wifi2)&lt;br /&gt;
    option netmask 255.255.255.0&lt;br /&gt;
 EOF&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 create_wireless()&lt;br /&gt;
 {&lt;br /&gt;
 cat &amp;gt;/etc/config/wireless &amp;lt;&amp;lt;-EOF&lt;br /&gt;
 # Copyright 2008&lt;br /&gt;
 &lt;br /&gt;
 config wifi-device  wifi0&lt;br /&gt;
    option disabled 0&lt;br /&gt;
    option type     atheros&lt;br /&gt;
    option channel  110&lt;br /&gt;
    option agmode 11a&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface&lt;br /&gt;
    option device  wifi0&lt;br /&gt;
    option mode adhoc&lt;br /&gt;
    option ssid avila_batman_backhaul0&lt;br /&gt;
    option encryption none&lt;br /&gt;
 &lt;br /&gt;
 config wifi-device  wifi1&lt;br /&gt;
    option disabled 0&lt;br /&gt;
    option type     atheros&lt;br /&gt;
    option channel  111&lt;br /&gt;
    option agmode 11a&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface&lt;br /&gt;
    option device   wifi1&lt;br /&gt;
    option mode     adhoc&lt;br /&gt;
    option ssid     availa_batman_backhaul1&lt;br /&gt;
    option encryption none&lt;br /&gt;
 &lt;br /&gt;
 config wifi-device  wifi2&lt;br /&gt;
    option disabled 0&lt;br /&gt;
    option type     atheros&lt;br /&gt;
    option channel  11&lt;br /&gt;
    option agmode 11bg&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface&lt;br /&gt;
    option device   wifi2&lt;br /&gt;
    option mode     ap&lt;br /&gt;
    option ssid     avila_batman_hotspot&lt;br /&gt;
    option encryption none&lt;br /&gt;
 &lt;br /&gt;
 EOF&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 start() {&lt;br /&gt;
    setup_switch() { return 0; }&lt;br /&gt;
 &lt;br /&gt;
    include /lib/network&lt;br /&gt;
    setup_switch&lt;br /&gt;
    [ -s /etc/config/wireless ] || \&lt;br /&gt;
       /sbin/wifi detect &amp;gt; /etc/config/wireless&lt;br /&gt;
         /sbin/wifi up&lt;br /&gt;
    chmod -x /etc/init.d/firewall&lt;br /&gt;
    sleep 1&lt;br /&gt;
         create_wireless&lt;br /&gt;
    create_dnsmasq_conf&lt;br /&gt;
    create_network&lt;br /&gt;
    /sbin/wifi up&lt;br /&gt;
    ifup -a&lt;br /&gt;
 ### main logic ###&lt;br /&gt;
 #case &amp;quot;$1&amp;quot; in&lt;br /&gt;
 #  start)&lt;br /&gt;
 #     start&lt;br /&gt;
 #     ;;&lt;br /&gt;
 #esac&lt;br /&gt;
&lt;br /&gt;
===Booting from Compact Flash===&lt;br /&gt;
Kamikaze doesn&#039;t support Compact flash. So I got the latest source code branch (8.09) from Openwrt:&lt;br /&gt;
 svn co https://svn.openwrt.org/openwrt/branches/8.09&lt;br /&gt;
&lt;br /&gt;
I&#039;ve created (using cfdisk /dev/sdb) four partitions on the 128MB of 32MB each. &lt;br /&gt;
  cfdisk /dev/sdb&lt;br /&gt;
Then I created I ext2 file systems for all the the paritions using (mke2fs /dev/sdb1,2,3,4).&lt;br /&gt;
 mke2fs /dev/sdb1&lt;br /&gt;
I copied the Linux kernel into the first partition (cp linux /dev/sdb1) and copied the root file system into the second partions (cp rootfs /dev/sdb2)&lt;br /&gt;
 $cp linux /dev/sdb1&lt;br /&gt;
 $cp rootfs /dev/sdb2&lt;br /&gt;
&lt;br /&gt;
Redboot script used so far:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt; load -r -m disk -b 0x01600000 hda1:linux&lt;br /&gt;
 &amp;gt;&amp;gt; load -r -m disk -b 0x00800000 hda2:rootfs&lt;br /&gt;
 &amp;gt;&amp;gt; exec -c &amp;quot;rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit&amp;quot; 0x01600000&lt;br /&gt;
&lt;br /&gt;
Default kernel command as set in kamikaze (make kenerl_menuconfig) is:&lt;br /&gt;
 root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DEFAULT BOOT SCRIPT ON AVILA BOARD&lt;br /&gt;
 RedBoot&amp;gt; fconfig&lt;br /&gt;
 Run script at boot: true&lt;br /&gt;
 Boot script: &lt;br /&gt;
 .. fis load ramdisk&lt;br /&gt;
 .. fis load zimage&lt;br /&gt;
 .. exec&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
USING RAMDISK&lt;br /&gt;
 RedBoot&amp;gt; load -r -m disk -b 0x01600000 hda1:linux&lt;br /&gt;
 Raw file loaded 0x01600000-0x018f662f, assumed entry at 0x01600000&lt;br /&gt;
 RedBoot&amp;gt; exec -c &amp;quot;rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit&amp;quot; 0x01600000&lt;br /&gt;
&lt;br /&gt;
===Things to do===&lt;br /&gt;
* Find out how the kernel scans for Mini-PCI slots. That is, how does it determine which slot to name/assign interface &#039;&#039;&#039;ath0&#039;&#039;&#039;, &#039;&#039;&#039;ath1&#039;&#039;&#039;, etc.&lt;br /&gt;
* Configure udhcpd. &#039;&#039;&#039;Done!!!!&#039;&#039;&#039;&lt;br /&gt;
* Ensure &#039;&#039;&#039;eth0&#039;&#039;&#039; does not accept DHCP-offered addresses when plugged to a network. At the moment it accepts IPv6 address.&lt;br /&gt;
* Ensure &#039;&#039;&#039;eth1&#039;&#039;&#039; doesn&#039;t respond to DHCP requests. Although &#039;&#039;&#039;udhcpd.conf&#039;&#039;&#039; should do this!!!&lt;br /&gt;
* Submit to OpenWRT that&lt;br /&gt;
 root@OpenWrt:~# hostid &lt;br /&gt;
 Segmentation fault&lt;br /&gt;
*Create startup scripts for all services needed, batman, udhcpd, etc.&lt;br /&gt;
*Find out if dnsmasq is needed, if so then resolve conflict with udhcpd.They both seem to use port 67!!!&lt;br /&gt;
&lt;br /&gt;
===NOTES===&lt;br /&gt;
====Identifying the Mini-PCI slots to interface names====&lt;br /&gt;
With the board facing up and the Ethernet ports facing away from you, the slot on your left (Top Left) is  scanned first, followed by the slot on the right (Top Right), followed by the slot below the first slot (Bottom Left) and lastly the slot below the second one (Bottom Right).&lt;br /&gt;
&lt;br /&gt;
So if all slots are filled with cards you will have:&lt;br /&gt;
&lt;br /&gt;
 Slot 1 (Top Left)     -- ath0&lt;br /&gt;
 Slot 2 (Top Right)    -- ath1&lt;br /&gt;
 Slot 3 (Bottom left)  -- ath2&lt;br /&gt;
 Slot 4 (Bottom right) -- ath3&lt;br /&gt;
&lt;br /&gt;
However, please note that the assignment of interface names ( i.e ath0, 1, 2,...) depends on which device is found/detected first. I.e. if slot 1 is empty, then ath0 will be on slot 2, ath1 on slot 3, etc.&lt;br /&gt;
&lt;br /&gt;
==Features of the High Performance Node (HPN)==&lt;br /&gt;
===Network configuration===&lt;br /&gt;
====Ethernet Network====&lt;br /&gt;
*&#039;&#039;&#039;eth0&#039;&#039;&#039;&lt;br /&gt;
**Identification: This is the port closest to the power injector. &lt;br /&gt;
**Function(s)   : It provides power over Ethernet. It is used to respond to DHCP requests. &lt;br /&gt;
**IP address    : IP address is fixed.&lt;br /&gt;
*&#039;&#039;&#039;eth1&#039;&#039;&#039;&lt;br /&gt;
**Identification: It is the second port on the board&lt;br /&gt;
**Function(s)   : It receives DHCP offered IP addresses when plugged to a network&lt;br /&gt;
**IP address    : It has no fixed IP address. (Apropos!!)&lt;br /&gt;
&lt;br /&gt;
====Wireless network====&lt;br /&gt;
*&#039;&#039;&#039;ath0&#039;&#039;&#039;&lt;br /&gt;
**Identification: It&#039;s connected to a first 5GHz antenna&lt;br /&gt;
**Function(s)   : Provides backhaul&lt;br /&gt;
**IP address    : IP address is fixed and is determined/calculated based on the MAC address of the interface.&lt;br /&gt;
**Channel       : TBD&lt;br /&gt;
**SSID          : TBD&lt;br /&gt;
**Mode          : Ad-Hoc, 11a&lt;br /&gt;
**Security      : None(??)&lt;br /&gt;
*&#039;&#039;&#039;ath1&#039;&#039;&#039;&lt;br /&gt;
**Identification: It&#039;s connected to a second 5GHz antenna&lt;br /&gt;
**Function(s)   : Provides backhaul&lt;br /&gt;
**IP address    : IP address is fixed and is determined/calculated based on the MAC address of the interface.&lt;br /&gt;
**Channel       : TBD&lt;br /&gt;
**SSID          : TBD&lt;br /&gt;
**Mode          : Ad-Hoc, 11a&lt;br /&gt;
**Security      : None(??)&lt;br /&gt;
*&#039;&#039;&#039;ath2&#039;&#039;&#039;&lt;br /&gt;
**Identification: It&#039;s connected to a 2.4GHz antenna&lt;br /&gt;
**Function(s)   : Provides hotspot&lt;br /&gt;
**IP address    : IP address is fixed and is determined/calculated based on the MAC address of the interface.&lt;br /&gt;
**Channel       : TBD&lt;br /&gt;
**SSID          : TBD&lt;br /&gt;
**Mode          : Ad-Hoc, 11b/g&lt;br /&gt;
**Security      : None(??)&lt;br /&gt;
**Other         : .&lt;br /&gt;
&lt;br /&gt;
===Services running on the HPN===&lt;br /&gt;
*DHCP server - udhcpd&lt;br /&gt;
*Routing protocol - Batman(batmand)&lt;br /&gt;
*Web server - mini_httpd&lt;br /&gt;
*Web security - HTTPS and authentication&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
===Compiling user applications for mips/LinkSys===&lt;br /&gt;
Go to the top directory of your openwrt tree and run: &lt;br /&gt;
 make menuconfig&lt;br /&gt;
Select Broadcom for the &amp;quot;Target System&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Select LinkSys for the &amp;quot;Target Profile&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
Then run&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Then to compile the helllo.c use&lt;br /&gt;
 staging_dir_mipsel/mipsel-linux-uclibc/bin/gcc -static -o hello hello.c&lt;br /&gt;
Note &amp;quot;-static&amp;quot; is VERY important!!!&lt;br /&gt;
&lt;br /&gt;
=Linksys Development=&lt;br /&gt;
==Upgrading LinkSys to Mesh Node==&lt;br /&gt;
Using your novell account logon to &#039;&#039;&#039;tera2&#039;&#039;&#039;; go to directory &#039;&#039;&#039;/home/lmboweni/&#039;&#039;&#039; and copy file &#039;&#039;&#039;freifunk-ipv6-en-1.6.22-11March2009.bin&#039;&#039;&#039; and upgrade your Linksys.&lt;br /&gt;
&lt;br /&gt;
Features in this version of the firmware:&lt;br /&gt;
 --Router will only work in an IPv6 backbone(d) network.&lt;br /&gt;
 --Peer-to-peer applications are handled by an 4over6 application&lt;br /&gt;
 --OLSR running is set to version 6&lt;br /&gt;
&lt;br /&gt;
===Making changes to the running system===&lt;br /&gt;
&lt;br /&gt;
Changes to the running system can be made through &#039;&#039;&#039;nvram&#039;&#039;&#039; settings or directing editing of the configuration files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Switching off the 4-over-6 application&#039;&#039;&#039;&lt;br /&gt;
 $vi /etc/olsrd.conf.temp&lt;br /&gt;
remove or comment out the line &#039;&#039;&#039;&#039;&#039;@@hna6ip46address@@&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $cd /etc/init.d&lt;br /&gt;
 $sh -x S74over6&lt;br /&gt;
 $reboot&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=WISP-in-a-box_Way_Forward&amp;diff=3832</id>
		<title>WISP-in-a-box Way Forward</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=WISP-in-a-box_Way_Forward&amp;diff=3832"/>
		<updated>2008-08-04T19:55:55Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document remains very much a draft, but is the evolving specification for the WISP-in-a-box project.&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Grafic_(Modified).png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Grafic-telco_(Modified).png|thumb|400px|Icon sources: http://villagetelco.org/, http://www.ubnt.com/products/ns2.php]]&lt;br /&gt;
&lt;br /&gt;
The entire WISP-in-a-box system consists of:&lt;br /&gt;
&lt;br /&gt;
* A central dashboard, running on the gateway server, from which: &lt;br /&gt;
** the network can be monitored and all nodes can be configured &lt;br /&gt;
** prepaid vouchers can be administered &lt;br /&gt;
** software running on the server (web &amp;amp; mail services, upstream connection QoS software, etc) can be administered&lt;br /&gt;
** all functionality will work without upstream Internet access&lt;br /&gt;
* Mesh nodes which:&lt;br /&gt;
** receive configuration updates from the central dashboard&lt;br /&gt;
** run a captive portal that interacts with clients and authenticates against the gateway server&lt;br /&gt;
** run intra-mesh QoS software&lt;br /&gt;
** route themselves intelligently using BATMAN&lt;br /&gt;
&lt;br /&gt;
=== Component Diagram ===&lt;br /&gt;
&lt;br /&gt;
The basic setup looks like the digram to the right. For the Village Telco project, many components are the same. There is some additional functionality that&#039;s desired, however, that can reside on top of the base WISP-in-a-box system.&lt;br /&gt;
&lt;br /&gt;
This document is going to mainly focus on specifying the needs of the mesh &amp;amp; networking side of things, with an eye towards exactly how voice-related services will be integrated (but not an elaborate discussion of the technologies themselves).&lt;br /&gt;
&lt;br /&gt;
=== Dashboard &amp;amp; Server ===&lt;br /&gt;
==== Existing Dashboard Projects ====&lt;br /&gt;
The OrangeMesh and Open-Mesh dashboards provide almost exactly the functionality we require. However, they have a number of problems: &lt;br /&gt;
&lt;br /&gt;
* Both dashboards require the nodes to be running ROBIN firmware to receive configuration updates. ROBIN, as it is now, only runs on Atheros-based devices, not Broadcom devices (like the Linksys WRT). Some semi-serious hacking will be required to add support for Broadcom devices into ROBIN, since right now it assumes the use of the Atheros-only MadWifi drivers.&lt;br /&gt;
* With an eye towards localization &amp;amp; modularity, the OrangeMesh sources aren&#039;t quite what we&#039;d like them to be.&lt;br /&gt;
&lt;br /&gt;
Because of these limitations, we may not want to use the OrangeMesh/Open-Mesh dashboard. We still want to imitate the same basic style of system, however, while adding some functionality to meet the additional needs of our dashboard (e.g. ability to administer vouchers and server services, things that the OrangeMesh/Open-Mesh dashboards don&#039;t cover).&lt;br /&gt;
&lt;br /&gt;
==== Our Approach ====&lt;br /&gt;
We will start essentially from scratch on the dashboard, with the OrangeMesh dashboard as an example to work off of and borrow heavily from.&lt;br /&gt;
&lt;br /&gt;
The dashboard we will design will be highly modular, with a high-level menu in which the user can select a module to work with. A module might be an existing software component or a new one we&#039;ve written. In the case of Network Status and Network Configuration, we can use the Orangemesh-Openmesh/ROBIN setup as a reference, and where appropriate can adapt their code to suit our needs. Other tools to borrow from include Zeroshell for network QoS configuration. Essential modules include:&lt;br /&gt;
&lt;br /&gt;
* Server Administration -- brings up Webmin&lt;br /&gt;
** This will not only allow us to configure the server, but also execute arbitrary commands on all the mesh nodes using Webmin&#039;s cluster functionality. We will strip down a version of Webmin to run on the client nodes and use Webmin&#039;s cluster modules on the server to communicate with them.&lt;br /&gt;
* Vouchers -- brings up phpMyPrepaid, our data billing control system&lt;br /&gt;
** phpMyPrepaid additionally controls the CoovaChilli instances running on all routers, including the ability to restrict or permit free access to the rest of the mesh network&lt;br /&gt;
** We need to also design in some way of dumping the user usage data that FreeRADIUS stores so that researchers can do usage studies on it. The local user needs to be able to easily dump this data and send it back to the CSIR for study.&lt;br /&gt;
* Network Status -- new custom dashboard component with following features:&lt;br /&gt;
** A semi-detailed list of all the nodes in the mesh, including:&lt;br /&gt;
*** the node&#039;s IP and MAC addresses&lt;br /&gt;
*** the node&#039;s current status (simple up or down)&lt;br /&gt;
*** when they were last heard from (when an update from that node was last received)&lt;br /&gt;
*** how many hops and/or what route the node currently has to the gateway&lt;br /&gt;
** Basic network usage statistics, data taken from RADIUS:&lt;br /&gt;
*** Total bandwidth going out of the gateway in the last X amount of time&lt;br /&gt;
*** Heaviest users of the network to monitor abuse (further information on individual users is available already in phpMyPrepaid)&lt;br /&gt;
** Ability to test network throughput, either through:&lt;br /&gt;
*** Simple interface to run iperf between any two nodes, or:&lt;br /&gt;
*** Visual display of metrics &amp;amp; signal strengths of every link, data reported from clients&#039; BATMAN daemons and network tools&lt;br /&gt;
&lt;br /&gt;
* Mesh Network Configuration -- new custom dashboard component with following features (note this is designed to be minimal for ease of use):&lt;br /&gt;
** Change SSID of mesh network&lt;br /&gt;
** Change channel of mesh network&lt;br /&gt;
** Other features? Open to discussion.&lt;br /&gt;
** Note - It might be necessary to have multiple classes of mesh devices on the network, to accommodate a combination of different hardwares, different channels, etc.&lt;br /&gt;
* QoS Network Configuration – new custom dashboard component for adjusting QoS settings both:&lt;br /&gt;
** On the server, for outgoing traffic going to the upstream connection&lt;br /&gt;
** On the various nodes in the mesh, for intra-mesh network bandwidth management.&lt;br /&gt;
* AP-only node configuration – new custom dashboard component that configures node that are only AP&#039;s, not part of the mesh. Configures:&lt;br /&gt;
** SSID of AP&lt;br /&gt;
** Channel of AP&lt;br /&gt;
** Any kind of WPA authentication a user might want to run on the AP&lt;br /&gt;
&lt;br /&gt;
Possible other voice-related modules include Asterisk and A2billing modules or pages.&lt;br /&gt;
&lt;br /&gt;
The dashboard will send out all configuration updates using a standardized API; any mesh node in the network will have to run a client implementing this API that receives configuration messages from the dashboard and makes the necessary changes to files on its system. The API will be just as modular as the dashboard, so if a user wants to only implement certain features (say, add billing to an existing network) she would only need to implement a client for the platform her nodes are running (or, ideally, there will already be a client for that platform). Through the dashboard the user could then disable the unwanted modules. The dashboard will only send out updates for the components that are enabled, and the client will only modify configuration files for the components it receives. &lt;br /&gt;
&lt;br /&gt;
All of the components of the larger dashboard will be skinned in a unified CSS style, with the potential for branding built in.&lt;br /&gt;
&lt;br /&gt;
=== Mesh Nodes ===&lt;br /&gt;
The mesh nodes themselves will run OpenWRT. Node software includes:&lt;br /&gt;
&lt;br /&gt;
* Batman for routing&lt;br /&gt;
* CoovaChilli as a local captive portal&lt;br /&gt;
* Intra-mesh QoS software, configurable from the dashboard. Uncertain as to what tools exactly to use here, however borrowing from Zeroshell it may be possible to simply use netfilter/iptables &amp;amp; l7-filter. Using an existing tool here would be very nice, as this is a complex task.&lt;br /&gt;
* A client daemon modeled on the ROBIN scripts that receives updates from the dashboard and sends any necessary information back to the dashboard. The client daemon will have to be co-developed with the dashboard.&lt;br /&gt;
* Stripped-down Webmin server component so we can run remote Webmin commands on the node through the server&#039;s Webmin installation.&lt;br /&gt;
* In addition to configuration through the dashboard, we will include a minimal web interface for configuring each individual node. This interface will run on the nodes, and can be a stripped-down version of X-WRT&#039;s webif^2 or FFLuCI. It would be useful if the interface could be designed such that it would run on any device regardless of that device&#039;s platform. This may be easy to do with existing abstractions in OpenWRT, but an alternative method would be for this interface to change the configuration of the local node via the update API, which is guaranteed to be fully abstracted, and let the update client for that device take care of making the actual changes.&lt;br /&gt;
&lt;br /&gt;
=== AP-only Nodes ===&lt;br /&gt;
The mesh nodes will use their radios exclusively for the mesh network (&#039;backhaul&#039;). Clients can be attached directly to the Ethernet ports of these nodes, however it may be useful to have wireless client access as well. In this case, a second device can be attached to the mesh node to act as an access point. These devices can also be Linksys WRTs or similar, running OpenWRT with:&lt;br /&gt;
&lt;br /&gt;
* CoovaChilli&lt;br /&gt;
* Dashboard Client with:&lt;br /&gt;
** AP-only node configuration module&lt;br /&gt;
** CoovaChilli configuration module&lt;br /&gt;
&lt;br /&gt;
=== Task Breakdown ===&lt;br /&gt;
Once the specification is agreed upon work can begin. At that time further task breakdowns may be useful, but at a high level the expectation currently is as follows (refer to above for details on what individual software piece entail):&lt;br /&gt;
&lt;br /&gt;
# Dashboard &amp;amp; first client development: Meraka&lt;br /&gt;
## Further examination of ROBIN to see which parts of it can be modified for our purposes&lt;br /&gt;
## Adaptation of Webmin&#039;s cluster tools for use on the mesh&lt;br /&gt;
## Determine appropriate tools for QoS [starting point: Zeroshell]&lt;br /&gt;
## Update API design &amp;amp; specification&lt;br /&gt;
## Dashboard framework design and implementation&lt;br /&gt;
## Mesh update client framework design and implementation&lt;br /&gt;
## Dashboard module implementation&lt;br /&gt;
### Network Monitoring&lt;br /&gt;
### Network Configuration – basics (Channel, SSID, etc)&lt;br /&gt;
### Network Configuration – QoS settings&lt;br /&gt;
### Network Configuration – AP-only settings&lt;br /&gt;
### Adapt phpMyPrepaid&#039;s CoovaChilli configuration to send out updates via standardized API rather than only changing local configuration file.&lt;br /&gt;
## Co-development with dashboard modules: mesh client update modules for each dashboard component, designed initially for the WRT but as portable as possible (for most modules portability should be trivial, as the software on the node the update client is configuring will be the same).&lt;br /&gt;
## CSS skinning for all dashboard components (including pre-existing ones such as Webmin and phpMyPrepaid).&lt;br /&gt;
&lt;br /&gt;
# Minimal interface development for starter devices (at least the WRT, Mesh Potato, and Ubiquity nodes): Inveneo&lt;br /&gt;
# Porting of mesh client to Ubiquity and Mesh Potato (most modules should be identical, but basic network configuration settings may be device-specific): Inveneo&lt;br /&gt;
&lt;br /&gt;
[[Category:WISP in a box]]&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=IP04&amp;diff=3750</id>
		<title>IP04</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=IP04&amp;diff=3750"/>
		<updated>2008-07-28T20:56:13Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IP04 - Four Port IP-PBX =&lt;br /&gt;
Collaborating with David Rowe on deploying the IP04 - http://www.rowetel.com/ucasterisk/ip04.html&lt;br /&gt;
= Assumptions = &lt;br /&gt;
The IP04 can be configured with a combination of four FXO and/or FXS ports. This page describes how I started using one with 3 FXS (handset) and 1 FXO (linked to our corporate PABX). Assuming the IP04 is also linked on the local LAN.&lt;br /&gt;
= Setup procedure =&lt;br /&gt;
# Set IP address of your PC host ethernet interface temporarily to 192.168.1.99 (or anything you think think is available on 192.168.1.xx subnet, not 192.168.1.30).&lt;br /&gt;
## myPC&amp;gt; ifconfig eth0 192.168.1.99/24&lt;br /&gt;
# Check that the address 192.168.1.30 is not used&lt;br /&gt;
## myPC&amp;gt; Ping 192.168.1.30 ... no replies. This is the factory default IP address of the IP04.&lt;br /&gt;
# Unpack IPO4, plug into the LAN, telephone plug, and add 3 x telephone handsets&lt;br /&gt;
## Check if IP04 work by dialing 6001, 6002, 6003 or 6004 on any one of the handsets&lt;br /&gt;
# myPC&amp;gt; Telnet 192.168.1.30&lt;br /&gt;
# Change network parameters to valid settings for your lan in /etc/rc.d/S10network-static&lt;br /&gt;
## root~&amp;gt; vi /etc/rc.d/S10network-static&lt;br /&gt;
## ... set the parameters and save&lt;br /&gt;
## root~&amp;gt; reboot&lt;br /&gt;
# Remember to set the IP address on your PC host back to the default for use on your lan&lt;br /&gt;
&lt;br /&gt;
== Try SIP to client ==&lt;br /&gt;
# In SIP client (e.g. Ekiga), set SIP account with Registrar=IP address of IP04, user=sipguest, passwd=sipguest&lt;br /&gt;
&lt;br /&gt;
== Remove defunct public AIX demo account ==&lt;br /&gt;
# Comment out [trunk_2] section of /etc/asterisk/users.conf as iaxtel.com is not accepting connections.&lt;br /&gt;
&lt;br /&gt;
== View configuration ==&lt;br /&gt;
# asterisk -r&lt;br /&gt;
# ip04*CLI&amp;gt; zap show channels&lt;br /&gt;
# ip04*CLI&amp;gt; zap show channel 1&lt;br /&gt;
For FXS modules (taking handsets), zaptel will show FXO, and for FXO modules (connect to exchange), zaptel will show FXS&lt;br /&gt;
&lt;br /&gt;
== Configure location ==&lt;br /&gt;
For setting the appropriate frequency and pause set the region code in /etc/zaptel.conf&lt;br /&gt;
# &lt;br /&gt;
A list of tone specifications is available at: http://www.itu.int/ITU­T/inr/forms/files/tones­0203.pdf&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=IP04&amp;diff=3749</id>
		<title>IP04</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=IP04&amp;diff=3749"/>
		<updated>2008-07-28T19:27:22Z</updated>

		<summary type="html">&lt;p&gt;Kroux: /* Remove defunct public SIP demo account */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IP04 - Four Port IP-PBX =&lt;br /&gt;
Collaborating with David Rowe on deploying the IP04 - http://www.rowetel.com/ucasterisk/ip04.html&lt;br /&gt;
= Assumptions = &lt;br /&gt;
The IP04 can be configured with a combination of four FXO and/or FXS ports. This page describes how I started using one with 3 FXS (handset) and 1 FXO (linked to our corporate PABX). Assuming the IP04 is also linked on the local LAN.&lt;br /&gt;
= Setup procedure =&lt;br /&gt;
# Set IP address of your PC host ethernet interface temporarily to 192.168.1.99 (or anything you think think is available on 192.168.1.xx subnet, not 192.168.1.30).&lt;br /&gt;
## myPC&amp;gt; ifconfig eth0 192.168.1.99/24&lt;br /&gt;
# Check that the address 192.168.1.30 is not used&lt;br /&gt;
## myPC&amp;gt; Ping 192.168.1.30 ... no replies. This is the factory default IP address of the IP04.&lt;br /&gt;
# Unpack IPO4, plug into the LAN, telephone plug, and add 3 x telephone handsets&lt;br /&gt;
## Check if IP04 work by dialing 6001, 6002, 6003 or 6004 on any one of the handsets&lt;br /&gt;
# myPC&amp;gt; Telnet 192.168.1.30&lt;br /&gt;
# Change network parameters to valid settings for your lan in /etc/rc.d/S10network-static&lt;br /&gt;
## root~&amp;gt; vi /etc/rc.d/S10network-static&lt;br /&gt;
## ... set the parameters and save&lt;br /&gt;
## root~&amp;gt; reboot&lt;br /&gt;
# Remember to set the IP address on your PC host back to the default for use on your lan&lt;br /&gt;
== Try SIP to client ==&lt;br /&gt;
# In SIP client (e.g. Ekiga), set SIP account with Registrar=IP address of IP04, user=sipguest, passwd=sipguest&lt;br /&gt;
== Remove defunct public AIX demo account ==&lt;br /&gt;
// * In /etc/asterisk/aix.conf, uncomment [demo] section:&lt;br /&gt;
// ** #[demo]&lt;br /&gt;
// ** ;type=peer                                                                                                                        &lt;br /&gt;
// ** ;username=asterisk                                                                                                                &lt;br /&gt;
// ** ;secret=supersecret                                                                                                               &lt;br /&gt;
// ** ;host=216.207.245.47&lt;br /&gt;
&lt;br /&gt;
Comment out [trunk_2] section of /etc/asterisk/users.conf as iaxtel.com is not accepting connections.&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=IP04&amp;diff=3747</id>
		<title>IP04</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=IP04&amp;diff=3747"/>
		<updated>2008-07-25T22:12:35Z</updated>

		<summary type="html">&lt;p&gt;Kroux: /* Remove defunct public SIP demo account */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IP04 - Four Port IP-PBX =&lt;br /&gt;
Collaborating with David Rowe on deploying the IP04 - http://www.rowetel.com/ucasterisk/ip04.html&lt;br /&gt;
= Assumptions = &lt;br /&gt;
The IP04 can be configured with a combination of four FXO and/or FXS ports. This page describes how I started using one with 3 FXS (handset) and 1 FXO (linked to our corporate PABX). Assuming the IP04 is also linked on the local LAN.&lt;br /&gt;
= Setup procedure =&lt;br /&gt;
# Set IP address of your PC host ethernet interface temporarily to 192.168.1.99 (or anything you think think is available on 192.168.1.xx subnet, not 192.168.1.30).&lt;br /&gt;
## myPC&amp;gt; ifconfig eth0 192.168.1.99/24&lt;br /&gt;
# Check that the address 192.168.1.30 is not used&lt;br /&gt;
## myPC&amp;gt; Ping 192.168.1.30 ... no replies. This is the factory default IP address of the IP04.&lt;br /&gt;
# Unpack IPO4, plug into the LAN, telephone plug, and add 3 x telephone handsets&lt;br /&gt;
## Check if IP04 work by dialing 6001, 6002, 6003 or 6004 on any one of the handsets&lt;br /&gt;
# myPC&amp;gt; Telnet 192.168.1.30&lt;br /&gt;
# Change network parameters to valid settings for your lan in /etc/rc.d/S10network-static&lt;br /&gt;
## root~&amp;gt; vi /etc/rc.d/S10network-static&lt;br /&gt;
## ... set the parameters and save&lt;br /&gt;
## root~&amp;gt; reboot&lt;br /&gt;
# Remember to set the IP address on your PC host back to the default for use on your lan&lt;br /&gt;
== Try SIP to client ==&lt;br /&gt;
# In SIP client (e.g. Ekiga), set SIP account with Registrar=IP address of IP04, user=sipguest, passwd=sipguest&lt;br /&gt;
== Remove defunct public SIP demo account ==&lt;br /&gt;
* In /etc/asterisk/aix.conf, uncomment [demo] section:&lt;br /&gt;
** #[demo]&lt;br /&gt;
** ;type=peer                                                                                                                        &lt;br /&gt;
** ;username=asterisk                                                                                                                &lt;br /&gt;
** ;secret=supersecret                                                                                                               &lt;br /&gt;
** ;host=216.207.245.47&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=IP04&amp;diff=3746</id>
		<title>IP04</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=IP04&amp;diff=3746"/>
		<updated>2008-07-25T22:12:11Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IP04 - Four Port IP-PBX =&lt;br /&gt;
Collaborating with David Rowe on deploying the IP04 - http://www.rowetel.com/ucasterisk/ip04.html&lt;br /&gt;
= Assumptions = &lt;br /&gt;
The IP04 can be configured with a combination of four FXO and/or FXS ports. This page describes how I started using one with 3 FXS (handset) and 1 FXO (linked to our corporate PABX). Assuming the IP04 is also linked on the local LAN.&lt;br /&gt;
= Setup procedure =&lt;br /&gt;
# Set IP address of your PC host ethernet interface temporarily to 192.168.1.99 (or anything you think think is available on 192.168.1.xx subnet, not 192.168.1.30).&lt;br /&gt;
## myPC&amp;gt; ifconfig eth0 192.168.1.99/24&lt;br /&gt;
# Check that the address 192.168.1.30 is not used&lt;br /&gt;
## myPC&amp;gt; Ping 192.168.1.30 ... no replies. This is the factory default IP address of the IP04.&lt;br /&gt;
# Unpack IPO4, plug into the LAN, telephone plug, and add 3 x telephone handsets&lt;br /&gt;
## Check if IP04 work by dialing 6001, 6002, 6003 or 6004 on any one of the handsets&lt;br /&gt;
# myPC&amp;gt; Telnet 192.168.1.30&lt;br /&gt;
# Change network parameters to valid settings for your lan in /etc/rc.d/S10network-static&lt;br /&gt;
## root~&amp;gt; vi /etc/rc.d/S10network-static&lt;br /&gt;
## ... set the parameters and save&lt;br /&gt;
## root~&amp;gt; reboot&lt;br /&gt;
# Remember to set the IP address on your PC host back to the default for use on your lan&lt;br /&gt;
== Try SIP to client ==&lt;br /&gt;
# In SIP client (e.g. Ekiga), set SIP account with Registrar=IP address of IP04, user=sipguest, passwd=sipguest&lt;br /&gt;
== Remove defunct public SIP demo account ==&lt;br /&gt;
# In /etc/asterisk/aix.conf, uncomment [demo] section:&lt;br /&gt;
## #[demo]&lt;br /&gt;
## ;type=peer                                                                                                                        &lt;br /&gt;
## ;username=asterisk                                                                                                                &lt;br /&gt;
## ;secret=supersecret                                                                                                               &lt;br /&gt;
## ;host=216.207.245.47&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=IP04&amp;diff=3745</id>
		<title>IP04</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=IP04&amp;diff=3745"/>
		<updated>2008-07-25T20:40:30Z</updated>

		<summary type="html">&lt;p&gt;Kroux: New page: = IP04 - Four Port IP-PBX = Collaborating with David Rowe on deploying the IP04 - http://www.rowetel.com/ucasterisk/ip04.html = Assumptions =  The IP04 can be configured with a combination...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IP04 - Four Port IP-PBX =&lt;br /&gt;
Collaborating with David Rowe on deploying the IP04 - http://www.rowetel.com/ucasterisk/ip04.html&lt;br /&gt;
= Assumptions = &lt;br /&gt;
The IP04 can be configured with a combination of four FXO and/or FXS ports. This page describes how I started using one with 3 FXS (handset) and 1 FXO (linked to our corporate PABX). Assuming the IP04 is also linked on the local LAN.&lt;br /&gt;
= Setup procedure =&lt;br /&gt;
# Set IP address of your PC host ethernet interface temporarily to 192.168.1.99 (or anything you think think is available on 192.168.1.xx subnet, not 192.168.1.30).&lt;br /&gt;
## myPC&amp;gt; ifconfig eth0 192.168.1.99/24&lt;br /&gt;
# Check that the address 192.168.1.30 is not used&lt;br /&gt;
## myPC&amp;gt; Ping 192.168.1.30 ... no replies. This is the factory default IP address of the IP04.&lt;br /&gt;
# Unpack IPO4, plug into the LAN, telephone plug, and add 3 x telephone handsets&lt;br /&gt;
## Check if IP04 work by dialing 6001, 6002, 6003 or 6004 on any one of the handsets&lt;br /&gt;
# myPC&amp;gt; Telnet 192.168.1.30&lt;br /&gt;
# Change network parameters to valid settings for your lan in /etc/rc.d/S10network-static&lt;br /&gt;
## root~&amp;gt; vi /etc/rc.d/S10network-static&lt;br /&gt;
## ... set the parameters and save&lt;br /&gt;
## root~&amp;gt; reboot&lt;br /&gt;
# Remember to set the IP address on your PC host back to the default for use on your lan&lt;br /&gt;
== Try SIP to client ==&lt;br /&gt;
# In SIP client (e.g. Ekiga), set SIP account with Registrar=IP address of IP04, user=sipguest, passwd=sipguest&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Kroux&amp;diff=3744</id>
		<title>User:Kroux</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Kroux&amp;diff=3744"/>
		<updated>2008-07-25T18:08:45Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My profile can be found on http://linkedin.com/in/kobusroux&lt;br /&gt;
&lt;br /&gt;
Busy with researching large community wireless networks:&lt;br /&gt;
Wireless Africa&lt;br /&gt;
www.wireless-africa.org&lt;br /&gt;
&lt;br /&gt;
Playing with technology&lt;br /&gt;
[[IP04]]&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Kroux&amp;diff=3743</id>
		<title>User:Kroux</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Kroux&amp;diff=3743"/>
		<updated>2008-07-25T18:08:14Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My profile can be found on http://linkedin.com/in/kobusroux&lt;br /&gt;
&lt;br /&gt;
Busy with researching large community wireless networks:&lt;br /&gt;
Wireless Africa&lt;br /&gt;
www.wireless-africa.org&lt;br /&gt;
&lt;br /&gt;
Playing with technology&lt;br /&gt;
[IP04]&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=WISP-in-a-box_Way_Forward&amp;diff=3732</id>
		<title>WISP-in-a-box Way Forward</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=WISP-in-a-box_Way_Forward&amp;diff=3732"/>
		<updated>2008-07-23T21:38:55Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document remains very much a draft, but is the evolving specification for the WISP-in-a-box project.&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Grafic_(Modified).png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Grafic-telco_(Modified).png|thumb|400px|Icon sources: http://villagetelco.org/, http://www.ubnt.com/products/ns2.php]]&lt;br /&gt;
&lt;br /&gt;
The entire WISP-in-a-box system consists of:&lt;br /&gt;
&lt;br /&gt;
* A central dashboard, running on the gateway server, from which: &lt;br /&gt;
** the network can be monitored and all nodes can be configured &lt;br /&gt;
** prepaid vouchers can be administered &lt;br /&gt;
** software running on the server (web &amp;amp; mail services, upstream connection QoS software, etc) can be administered &lt;br /&gt;
** all functionality will work without upstream Internet access&lt;br /&gt;
* Mesh nodes which: &lt;br /&gt;
** receive configuration updates from the central dashboard &lt;br /&gt;
** run a captive portal that interacts with clients and authenticates against the gateway server &lt;br /&gt;
** run intra-mesh QoS software &lt;br /&gt;
** route themselves intelligently using BATMAN &lt;br /&gt;
&lt;br /&gt;
=== Component Diagram ===&lt;br /&gt;
&lt;br /&gt;
The basic setup looks like the digram to the right. For the Village Telco project, many components are the same. There is some additional functionality that&#039;s desired, however, that can reside on top of the base WISP-in-a-box system.&lt;br /&gt;
&lt;br /&gt;
This document is going to mainly focus on specifying the needs of the mesh &amp;amp; networking side of things, with an eye towards exactly how voice-related services will be integrated (but not an elaborate discussion of the technologies themselves).&lt;br /&gt;
&lt;br /&gt;
=== Dashboard &amp;amp; Server ===&lt;br /&gt;
==== Existing Dashboard Projects ====&lt;br /&gt;
The OrangeMesh and Open-Mesh dashboards provide almost exactly the functionality we require. However, they have a number of problems: &lt;br /&gt;
&lt;br /&gt;
* Both dashboards require the nodes to be running ROBIN firmware to receive configuration updates. ROBIN, as it is now, only runs on Atheros-based devices, not Broadcom devices (like the Linksys WRT). Some semi-serious hacking will be required to add support for Broadcom devices into ROBIN, since right now it assumes the use of the Atheros-only MadWifi drivers.&lt;br /&gt;
* With an eye towards localization &amp;amp; modularity, the OrangeMesh sources aren&#039;t quite what we&#039;d like them to be.&lt;br /&gt;
&lt;br /&gt;
Because of these limitations, we may not want to use the OrangeMesh/Open-Mesh dashboard. We still want to imitate the same basic style of system, however, while adding some functionality to meet the additional needs of our dashboard (e.g. ability to administer vouchers and server services, things that the OrangeMesh/Open-Mesh dashboards don&#039;t cover).&lt;br /&gt;
&lt;br /&gt;
==== Our Approach ====&lt;br /&gt;
We will start essentially from scratch on the dashboard, with the OrangeMesh dashboard as an example to work off of and borrow heavily from.&lt;br /&gt;
&lt;br /&gt;
The dashboard we will design will be highly modular, with a high-level menu in which the user can select a module to work with. A module might be an existing software component or a new one we&#039;ve written. In the case of Network Status and Network Configuration, we can use the Orangemesh-Openmesh/ROBIN setup as a reference, and where appropriate can adapt their code to suit our needs. Other tools to borrow from include Zeroshell for network QoS configuration. Essential modules include:&lt;br /&gt;
&lt;br /&gt;
* Server Administration -- brings up Webmin&lt;br /&gt;
** This will not only allow us to configure the server, but also execute arbitrary commands on all the mesh nodes using Webmin&#039;s cluster functionality. We will strip down a version of Webmin to run on the client nodes and use Webmin&#039;s cluster modules on the server to communicate with them.&lt;br /&gt;
* Vouchers -- brings up phpMyPrepaid, our data billing control system&lt;br /&gt;
** phpMyPrepaid additionally controls the CoovaChilli instances running on all routers, including the ability to restrict or permit free access to the rest of the mesh network&lt;br /&gt;
** We need to also design in some way of dumping the user usage data that FreeRADIUS stores so that researchers can do usage studies on it. The local user needs to be able to easily dump this data and send it back to the CSIR for study.&lt;br /&gt;
* Network Status -- new custom dashboard component with following features:&lt;br /&gt;
** A semi-detailed list of all the nodes in the mesh, including: &lt;br /&gt;
*** the node&#039;s IP and MAC addresses &lt;br /&gt;
*** the node&#039;s current status (simple up or down) &lt;br /&gt;
*** when they were last heard from (when an update from that node was last received)&lt;br /&gt;
*** how many hops and/or what route the node currently has to the gateway&lt;br /&gt;
** Basic network usage statistics, data taken from RADIUS:&lt;br /&gt;
*** Total bandwidth going out of the gateway in the last X amount of time&lt;br /&gt;
*** Heaviest users of the network to monitor abuse (further information on individual users is available already in phpMyPrepaid)&lt;br /&gt;
** Ability to test network throughput, either through:&lt;br /&gt;
*** Simple interface to run iperf between any two nodes, or:&lt;br /&gt;
*** Visual display of metrics &amp;amp; signal strengths of every link, data reported from clients&#039; BATMAN daemons and network tools&lt;br /&gt;
&lt;br /&gt;
* Mesh Network Configuration -- new custom dashboard component with following features (note this is designed to be minimal for ease of use):&lt;br /&gt;
** Change SSID of mesh network&lt;br /&gt;
** Change channel of mesh network&lt;br /&gt;
** Other features? Open to discussion.&lt;br /&gt;
* QoS Network Configuration – new custom dashboard component for adjusting QoS settings both:&lt;br /&gt;
** On the server, for outgoing traffic going to the upstream connection&lt;br /&gt;
** On the various nodes in the mesh, for intra-mesh network bandwidth management.&lt;br /&gt;
* AP-only node configuration – new custom dashboard component that configures node that are only AP&#039;s, not part of the mesh. Configures:&lt;br /&gt;
** SSID of AP&lt;br /&gt;
** Channel of AP&lt;br /&gt;
** Any kind of WPA authentication a user might want to run on the AP&lt;br /&gt;
&lt;br /&gt;
Possible other voice-related modules include Asterisk and A2billing modules or pages.&lt;br /&gt;
&lt;br /&gt;
The dashboard will send out all configuration updates using a standardized API; any mesh node in the network will have to run a client implementing this API that receives configuration messages from the dashboard and makes the necessary changes to files on its system. The API will be just as modular as the dashboard, so if a user wants to only implement certain features (say, add billing to an existing network) she would only need to implement a client for the platform her nodes are running (or, ideally, there will already be a client for that platform). Through the dashboard the user could then disable the unwanted modules. The dashboard will only send out updates for the components that are enabled, and the client will only modify configuration files for the components it receives. &lt;br /&gt;
&lt;br /&gt;
All of the components of the larger dashboard will be skinned in a unified CSS style, with the potential for branding built in.&lt;br /&gt;
&lt;br /&gt;
=== Mesh Nodes ===&lt;br /&gt;
The mesh nodes themselves will run OpenWRT. Node software includes:&lt;br /&gt;
&lt;br /&gt;
* Batman for routing&lt;br /&gt;
* CoovaChilli as a local captive portal&lt;br /&gt;
* Intra-mesh QoS software, configurable from the dashboard. Uncertain as to what tools exactly to use here, however borrowing from Zeroshell it may be possible to simply use netfilter/iptables &amp;amp; l7-filter. Using an existing tool here would be very nice, as this is a complex task.&lt;br /&gt;
* A client daemon modeled on the ROBIN scripts that receives updates from the dashboard and sends any necessary information back to the dashboard. The client daemon will have to be co-developed with the dashboard.&lt;br /&gt;
* Stripped-down Webmin server component so we can run remote Webmin commands on the node through the server&#039;s Webmin installation.&lt;br /&gt;
* In addition to configuration through the dashboard, we will include a minimal web interface for configuring each individual node. This interface will run on the nodes, and can be a stripped-down version of X-WRT&#039;s webif^2 or FFLuCI. It would be useful if the interface could be designed such that it would run on any device regardless of that device&#039;s platform. This may be easy to do with existing abstractions in OpenWRT, but an alternative method would be for this interface to change the configuration of the local node via the update API, which is guaranteed to be fully abstracted, and let the update client for that device take care of making the actual changes.&lt;br /&gt;
&lt;br /&gt;
=== AP-only Nodes ===&lt;br /&gt;
The mesh nodes will use their radios exclusively for the mesh network (&#039;backhaul&#039;). Clients can be attached directly to the Ethernet ports of these nodes, however it may be useful to have wireless client access as well. In this case, a second device can be attached to the mesh node to act as an access point. These devices can also be Linksys WRTs or similar, running OpenWRT with:&lt;br /&gt;
&lt;br /&gt;
* CoovaChilli&lt;br /&gt;
* Dashboard Client with:&lt;br /&gt;
** AP-only node configuration module&lt;br /&gt;
** CoovaChilli configuration module&lt;br /&gt;
&lt;br /&gt;
=== Task Breakdown ===&lt;br /&gt;
Once the specification is agreed upon work can begin. At that time further task breakdowns may be useful, but at a high level the expectation currently is as follows (refer to above for details on what individual software piece entail):&lt;br /&gt;
&lt;br /&gt;
# Dashboard &amp;amp; first client development: Meraka&lt;br /&gt;
## Further examination of ROBIN to see which parts of it can be modified for our purposes&lt;br /&gt;
## Adaptation of Webmin&#039;s cluster tools for use on the mesh&lt;br /&gt;
## Determine appropriate tools for QoS [starting point: Zeroshell]&lt;br /&gt;
## Update API design &amp;amp; specification&lt;br /&gt;
## Dashboard framework design and implementation&lt;br /&gt;
## Mesh update client framework design and implementation&lt;br /&gt;
## Dashboard module implementation&lt;br /&gt;
### Network Monitoring&lt;br /&gt;
### Network Configuration – basics (Channel, SSID, etc)&lt;br /&gt;
### Network Configuration – QoS settings&lt;br /&gt;
### Network Configuration – AP-only settings&lt;br /&gt;
### Adapt phpMyPrepaid&#039;s CoovaChilli configuration to send out updates via standardized API rather than only changing local configuration file.&lt;br /&gt;
## Co-development with dashboard modules: mesh client update modules for each dashboard component, designed initially for the WRT but as portable as possible (for most modules portability should be trivial, as the software on the node the update client is configuring will be the same).&lt;br /&gt;
## CSS skinning for all dashboard components (including pre-existing ones such as Webmin and phpMyPrepaid).&lt;br /&gt;
&lt;br /&gt;
# Minimal interface development for starter devices (at least the WRT, Mesh Potato, and Ubiquity nodes): Inveneo&lt;br /&gt;
# Porting of mesh client to Ubiquity and Mesh Potato (most modules should be identical, but basic network configuration settings may be device-specific): Inveneo&lt;br /&gt;
&lt;br /&gt;
[[Category:WISP in a box]]&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=WISP-in-a-box_Way_Forward&amp;diff=3723</id>
		<title>WISP-in-a-box Way Forward</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=WISP-in-a-box_Way_Forward&amp;diff=3723"/>
		<updated>2008-07-23T09:29:21Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document remains very much a draft, but is the evolving specification for the WISP-in-a-box project.&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Grafic_(Modified).png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Grafic-telco_(Modified).png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
The entire WISP-in-a-box system consists of: &lt;br /&gt;
&lt;br /&gt;
* A central dashboard, running on the gateway server, from which: &lt;br /&gt;
** the network can be monitored and all nodes can be configured &lt;br /&gt;
** prepaid vouchers can be administered &lt;br /&gt;
** software running on the server (web &amp;amp; mail services, upstream connection QoS software, etc) can be administered &lt;br /&gt;
** all functionality will work without upstream Internet access&lt;br /&gt;
* Mesh nodes which: &lt;br /&gt;
** receive configuration updates from the central dashboard &lt;br /&gt;
** run a captive portal that interacts with clients and authenticates against the gateway server&lt;br /&gt;
** run intra-mesh QoS software&lt;br /&gt;
** route themselves intelligently using BATMAN&lt;br /&gt;
&lt;br /&gt;
=== Component Diagram ===&lt;br /&gt;
&lt;br /&gt;
The basic setup looks like the digram to the right. For the Village Telco project, many components are the same. There is some additional functionality that&#039;s desired, however, that can reside on top of the base WISP-in-a-box system.&lt;br /&gt;
&lt;br /&gt;
This document is going to mainly focus on specifying the needs of the mesh &amp;amp; networking side of things, with an eye towards exactly how voice-related services will be integrated (but not an elaborate discussion of the technologies themselves).&lt;br /&gt;
&lt;br /&gt;
=== Dashboard &amp;amp; Server ===&lt;br /&gt;
==== Existing Dashboard Projects ====&lt;br /&gt;
The OrangeMesh and Open-Mesh dashboards provide almost exactly the functionality we require. However, they have a number of problems: &lt;br /&gt;
&lt;br /&gt;
* Both dashboards require the nodes to be running ROBIN firmware to receive configuration updates. ROBIN, as it is now, only runs on Atheros-based devices, not Broadcom devices (like the Linksys WRT). Some semi-serious hacking will be required to add support for Broadcom devices into ROBIN, since right now it assumes the use of the Atheros-only MadWifi drivers.&lt;br /&gt;
* With an eye towards localization &amp;amp; modularity, the OrangeMesh sources aren&#039;t quite what we&#039;d like them to be.&lt;br /&gt;
&lt;br /&gt;
Because of these limitations, we may not want to use the OrangeMesh/Open-Mesh dashboard. We still want to imitate the same basic style of system, however, while adding some functionality to meet the additional needs of our dashboard (e.g. ability to administer vouchers and server services, things that the OrangeMesh/Open-Mesh dashboards don&#039;t cover).&lt;br /&gt;
&lt;br /&gt;
==== Our Approach ====&lt;br /&gt;
We will start essentially from scratch on the dashboard, with the OrangeMesh dashboard as an example to work off of and borrow heavily from.&lt;br /&gt;
&lt;br /&gt;
The dashboard we will design will be highly modular, with a high-level menu in which the user can select a module to work with. A module might be an existing software component or a new one we&#039;ve written. In the case of Network Status and Network Configuration, we can use the Orangemesh-Openmesh/ROBIN setup as a reference, and where appropriate can adapt their code to suit our needs. Other tools to borrow from include Zeroshell for network QoS configuration. Essential modules include:&lt;br /&gt;
&lt;br /&gt;
* Server Administration -- brings up Webmin&lt;br /&gt;
** This will not only allow us to configure the server, but also execute arbitrary commands on all the mesh nodes using Webmin&#039;s cluster functionality. We will strip down a version of Webmin to run on the client nodes and use Webmin&#039;s cluster modules on the server to communicate with them.&lt;br /&gt;
* Vouchers -- brings up phpMyPrepaid, our data billing control system&lt;br /&gt;
** phpMyPrepaid additionally controls the CoovaChilli instances running on all routers, including the ability to restrict or permit free access to the rest of the mesh network&lt;br /&gt;
** We need to also design in some way of dumping the user usage data that FreeRADIUS stores so that Michael Jenkins can do usage studies on it. The local user needs to be able to easily dump this data and send it back to the CSIR for study.&lt;br /&gt;
* Network Status -- new custom dashboard component with following features:&lt;br /&gt;
** A semi-detailed list of all the nodes in the mesh, including: &lt;br /&gt;
*** the node&#039;s IP and MAC addresses &lt;br /&gt;
*** the node&#039;s current status (simple up or down) &lt;br /&gt;
*** when they were last heard from (when an update from that node was last received)&lt;br /&gt;
*** how many hops and/or what route the node currently has to the gateway&lt;br /&gt;
** Basic network usage statistics, data taken from RADIUS:&lt;br /&gt;
*** Total bandwidth going out of the gateway in the last X amount of time&lt;br /&gt;
*** Heaviest users of the network to monitor abuse (further information on individual users is available already in phpMyPrepaid)&lt;br /&gt;
** Ability to test network throughput, either through:&lt;br /&gt;
*** Simple interface to run iperf between any two nodes, or:&lt;br /&gt;
*** Visual display of metrics &amp;amp; signal strengths of every link, data reported from clients&#039; BATMAN daemons and network tools&lt;br /&gt;
&lt;br /&gt;
* Backbone Network Configuration -- new custom dashboard component with following features (note this is designed to be minimal for ease of use):&lt;br /&gt;
** Change SSID of mesh backhaul&lt;br /&gt;
** Change channel of mesh backhaul&lt;br /&gt;
** Other features? Open to discussion.&lt;br /&gt;
* QoS Network Configuration – new custom dashboard component for adjusting QoS settings both:&lt;br /&gt;
** On the server, for outgoing traffic going to the upstream connection&lt;br /&gt;
** On the various nodes in the mesh, for intra-mesh network bandwidth management.&lt;br /&gt;
* AP-only node configuration – new custom dashboard component that configures node that are only AP&#039;s, not part of the mesh. Configures:&lt;br /&gt;
** SSID of AP&lt;br /&gt;
** Channel of AP&lt;br /&gt;
** Any kind of WPA authentication a user might want to run on the AP&lt;br /&gt;
&lt;br /&gt;
Possible other voice-related modules include Asterisk and A2billing pages.&lt;br /&gt;
&lt;br /&gt;
The dashboard will send out all configuration updates using a standardized API; any mesh node in the network will have to run a client implementing this API that receives configuration messages from the dashboard and makes the necessary changes to files on its system. The API will be just as modular as the dashboard, so if a user wants to only implement certain features (say, add billing to an existing network) she would only need to implement a client for the platform her nodes are running (or, ideally, there will already be a client for that platform). Through the dashboard the user could then disable the unwanted modules. The dashboard will only send out updates for the components that are enabled, and the client will only modify configuration files for the components it receives. &lt;br /&gt;
&lt;br /&gt;
All of the components of the larger dashboard will be skinned in a unified CSS style, with the potential for branding built in.&lt;br /&gt;
&lt;br /&gt;
=== Mesh Nodes ===&lt;br /&gt;
The mesh nodes themselves will run OpenWRT. Node software includes:&lt;br /&gt;
&lt;br /&gt;
* Batman for routing&lt;br /&gt;
* CoovaChilli as a local captive portal&lt;br /&gt;
* Intra-mesh QoS software, configurable from the dashboard. Uncertain as to what tools exactly to use here, however borrowing from Zeroshell it may be possible to simply use netfilter/iptables &amp;amp; l7-filter. Using an existing tool here would be very nice, as this is a complex task.&lt;br /&gt;
* A client daemon modeled on the ROBIN scripts that receives updates from the dashboard and sends any necessary information back to the dashboard. The client daemon will have to be co-developed with the dashboard.&lt;br /&gt;
* Stripped-down Webmin server component so we can run remote Webmin commands on the node through the server&#039;s Webmin installation.&lt;br /&gt;
* In addition to configuration through the dashboard, we will include a minimal web interface for configuring each individual node. This interface will run on the nodes, and can be a stripped-down version of X-WRT&#039;s webif^2 or FFLuCI. It would be useful if the interface could be designed such that it would run on any device regardless of that device&#039;s platform. This may be easy to do with existing abstractions in OpenWRT, but an alternative method would be for this interface to change the configuration of the local node via the update API, which is guaranteed to be fully abstracted, and let the update client for that device take care of making the actual changes.&lt;br /&gt;
&lt;br /&gt;
=== AP-only Nodes ===&lt;br /&gt;
The mesh nodes will use their radios exclusively for the mesh backhaul. Clients can be attached directly to the Ethernet ports of these nodes, however it may be useful to have wireless client access as well. In this case, a second device can be attached to the mesh node to act as an access point. These devices can also be Linksys WRTs or similar. They will be bridged to the DHCP server of the captive portal running on the mesh node, and so need no special functionality.&lt;br /&gt;
&lt;br /&gt;
* If central configuration isn&#039;t desirable then any device that can operate as a pure AP without a DHCP server will do (the Linksys stock firmware, for instance).&lt;br /&gt;
* If configuration via the dashboard is desired, then the nodes will run OpenWRT and a barebones dashboard client that allows for configuration of the AP&#039;s SSID, etc.&lt;br /&gt;
&lt;br /&gt;
=== Task Breakdown ===&lt;br /&gt;
Once the specification is agreed upon work can begin. At that time further task breakdowns may be useful, but at a high level the expectation currently is as follows (refer to above for details on what individual software piece entail):&lt;br /&gt;
&lt;br /&gt;
# Dashboard &amp;amp; first client development: Meraka&lt;br /&gt;
## Further examination of ROBIN to see which parts of it can be modified for our purposes&lt;br /&gt;
## Adaptation of Webmin&#039;s cluster tools for use on the mesh&lt;br /&gt;
## Update API design &amp;amp; specification&lt;br /&gt;
## Dashboard framework design and implementation&lt;br /&gt;
## Mesh update client framework design and implementation&lt;br /&gt;
## Dashboard module implementation&lt;br /&gt;
### Network Monitoring&lt;br /&gt;
### Network Configuration – basics (Channel, SSID, etc)&lt;br /&gt;
### Network Configuration – QoS settings&lt;br /&gt;
### Network Configuration – AP-only settings&lt;br /&gt;
### Adapt phpMyPrepaid&#039;s CoovaChilli configuration to send out updates via standardized API rather than only changing local configuration file.&lt;br /&gt;
## Co-development with dashboard modules: mesh client update modules for each dashboard component, designed initially for the WRT but as portable as possible (for most modules portability should be trivial, as the software on the node the update client is configuring will be the same).&lt;br /&gt;
## CSS skinning for all dashboard components (including pre-existing ones such as Webmin and phpMyPrepaid).&lt;br /&gt;
&lt;br /&gt;
Notes: These need to be done relatively sequentially, however once the dashboard and mesh client frameworks are in place different modules can be developed in parallel.&lt;br /&gt;
&lt;br /&gt;
# Minimal interface development for starter devices (at least the WRT, Mesh Potato, and Ubiquity nodes): Inveneo&lt;br /&gt;
# Porting of mesh client to Ubiquity and Mesh Potato (most modules should be identical, but basic network configuration settings may be device-specific): Inveneo&lt;br /&gt;
&lt;br /&gt;
[[Category:WISP in a box]]&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Kroux&amp;diff=3503</id>
		<title>User:Kroux</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=User:Kroux&amp;diff=3503"/>
		<updated>2008-06-28T10:30:56Z</updated>

		<summary type="html">&lt;p&gt;Kroux: New page: My profile can be found on http://linkedin.com/in/kobusroux  I&amp;#039;m currently working on a proposal for a national broadband for all initiative. Presentation:&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My profile can be found on http://linkedin.com/in/kobusroux&lt;br /&gt;
&lt;br /&gt;
I&#039;m currently working on a proposal for a national broadband for all initiative. Presentation:&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=WISPiab_specifications&amp;diff=3020</id>
		<title>WISPiab specifications</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=WISPiab_specifications&amp;diff=3020"/>
		<updated>2008-04-20T19:23:36Z</updated>

		<summary type="html">&lt;p&gt;Kroux: /* Minimum requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: WISP in a box]]&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following is our work copy of a specification / feature wish list for the WISP-in-a-box product.&lt;br /&gt;
&lt;br /&gt;
It is meant to be commented and refined.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Business Models / Use cases=&lt;br /&gt;
&lt;br /&gt;
It is essential that the specifications be based on business model needs and real life use cases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While these need to be refined and studied further (e.g. in the Wireless Africa II project),&lt;br /&gt;
we list some main examples and key words here.&lt;br /&gt;
&lt;br /&gt;
==Basic access models: Centralized and Mesh==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The entrepreneur wants to offer both centralized (aka infrastructure, hot spot, access point) and mesh models&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; We need to implement both Access Point Management and Mesh protocols&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Networks models in detail===&lt;br /&gt;
&lt;br /&gt;
In particular, we need to take into account the following 3 network models, and the hybrid models between them.&lt;br /&gt;
&lt;br /&gt;
In the following pictures, &lt;br /&gt;
&lt;br /&gt;
* red stands for business / entrepreneur owned and operated nodes, &lt;br /&gt;
* blue stands for clients / users. &lt;br /&gt;
&lt;br /&gt;
The line between the two may be transparent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Centralized model====&lt;br /&gt;
&lt;br /&gt;
[[Image:WISPiab models 1 centralized.png|thumb|left|Centralized model]]&lt;br /&gt;
&lt;br /&gt;
* The business/entrepreneur acts as a central access point.&lt;br /&gt;
* The central business/entrepreneur node supplies an internet uplink (optional).&lt;br /&gt;
* Clients connect to this central point, e.g. with PCs, laptops, client nodes or VoIP phones.&lt;br /&gt;
&lt;br /&gt;
====Inframesh model====&lt;br /&gt;
&lt;br /&gt;
[[Image:WISPiab models 2 inframesh with clients.png|thumb|left|Inframesh model]]&lt;br /&gt;
&lt;br /&gt;
* The business/entrepreneur operates an infrastructure mesh.&lt;br /&gt;
* The business/entrepreneur node supplies internet uplink(s) at one or more of these nodes (optional).&lt;br /&gt;
* Clients connect one or more of these nodes, as clients, e.g. with PCs, laptops, client nodes or VoIP phones.&lt;br /&gt;
&lt;br /&gt;
====Full mesh model====&lt;br /&gt;
&lt;br /&gt;
[[Image:WISPiab models 3 fullmesh.png|thumb|left|Full mesh model]]&lt;br /&gt;
&lt;br /&gt;
* The business/entrepreneur operates one or many mesh nodes.&lt;br /&gt;
* The business/entrepreneur node supplies internet uplink(s) at one or more of these nodes (optional).&lt;br /&gt;
* Clients fully particpate in that mesh, typically on dedicated node hardware, less likely with PC/laptop, and even less with VoIP phones. Clients may supply internet uplinks (optional).&lt;br /&gt;
&lt;br /&gt;
Especially in this model, the line between business and client operated nodes might become transparent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Network Management==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The entrepreneur needs to be able to monitor, manage, troubleshoot the network&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; We need network management SW plus interfaces, e.g. Nagios, Cactus, Webmin, ...&lt;br /&gt;
&lt;br /&gt;
==Voice Services==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The entrepreneur wants to offerVoice services&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; We need to implement Asterisk, OpenSER or similar, plus additional management tools for these, if idnetified as needed&lt;br /&gt;
&lt;br /&gt;
==Billing==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The entrepreneur wants to offer a variety of billing options, e.g. monthly subscription, time/voucher (airtime) based, free access&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; We need to implement billing and accomodate the various models on the box, in parallel (e.g. parallel free and closed segments, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=High level architecture=&lt;br /&gt;
&lt;br /&gt;
Our currently suggested architecture splits the WISPiab hardware package into two components plus an option:&lt;br /&gt;
&lt;br /&gt;
#Front Access Node&lt;br /&gt;
##&lt;br /&gt;
# Back end server (with or without screen, depending on existing ...)&lt;br /&gt;
##&lt;br /&gt;
#(Sub)Laptop as GUI admin (optional)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This seems appropriate based on the analysis of the SW specs in detail.&lt;br /&gt;
&lt;br /&gt;
However, if test implementations seem to suggest reuniting the two tiers on one box, this is an open option, which might bring manageability benefits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:WISPiab elements horizontal with net small.png|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
=Software Specification / Feature list for the WISP-in-a-box product=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Shared functionality==&lt;br /&gt;
&lt;br /&gt;
* All configuration etc to be accessible via browser based GUI&lt;br /&gt;
* ssh access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Routing Protocols&lt;br /&gt;
** OLSR&lt;br /&gt;
** b.a.t.m.a.n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Front access node==&lt;br /&gt;
&lt;br /&gt;
* CoovaAP&lt;br /&gt;
** Authentication potentially with 2 options&lt;br /&gt;
*** Against itself / on acces node&lt;br /&gt;
*** Against back end server Radius&lt;br /&gt;
&lt;br /&gt;
CoovaAP will bring most of the following mandatory features for the front access node.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* OpenSER&lt;br /&gt;
&lt;br /&gt;
==Back end server==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* apache&lt;br /&gt;
* php&lt;br /&gt;
* mediawiki&lt;br /&gt;
* mysql&lt;br /&gt;
&lt;br /&gt;
* ispconfig&lt;br /&gt;
** webmin?&lt;br /&gt;
&lt;br /&gt;
* DNS server (DDNS, DynDNS)&lt;br /&gt;
&lt;br /&gt;
* Proxy / Cache &lt;br /&gt;
** Squid&lt;br /&gt;
&lt;br /&gt;
===Mail===&lt;br /&gt;
	&lt;br /&gt;
* Postfix / Courier&lt;br /&gt;
* Webmail: squirrelmail&lt;br /&gt;
* gmail syncing desirable&lt;br /&gt;
* Google server local? (--&amp;gt; talk to gmail, Kobus)&lt;br /&gt;
&lt;br /&gt;
* Spam/Virus control&lt;br /&gt;
** amavis&lt;br /&gt;
** spamassassin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Network management===&lt;br /&gt;
&lt;br /&gt;
* Nagios&lt;br /&gt;
* Cacti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Statistics&lt;br /&gt;
** awstats or similar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Auth, Access, Security, Billing===&lt;br /&gt;
&lt;br /&gt;
* Radius&lt;br /&gt;
**FreeRadius&lt;br /&gt;
* OpenLDAP&lt;br /&gt;
* OpenID&lt;br /&gt;
&lt;br /&gt;
* OpenVPN&lt;br /&gt;
* GnuPG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===QoS===&lt;br /&gt;
&lt;br /&gt;
* QoS - details of this not clear yet - what layer? what tools?&lt;br /&gt;
** iproute2&lt;br /&gt;
** MasterShaper?&lt;br /&gt;
** Wondershaper&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Storage, FS===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NAS –  iSCSI&lt;br /&gt;
&lt;br /&gt;
* File servers&lt;br /&gt;
** SMB&lt;br /&gt;
** NFS&lt;br /&gt;
** rsyncing cron&#039;d&lt;br /&gt;
&lt;br /&gt;
* Redundancy - to be psecified in more detail&lt;br /&gt;
** Would liek to build distributed storage - “graded distributed system” &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voice over IP===&lt;br /&gt;
&lt;br /&gt;
* Asterisk&lt;br /&gt;
* OpenSER&lt;br /&gt;
* billing integration&lt;br /&gt;
** a2billing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
&lt;br /&gt;
* Local Library of SW&lt;br /&gt;
** Documentation&lt;br /&gt;
** Integrated Skilling / Education&lt;br /&gt;
* patch management&lt;br /&gt;
* IpCOP&lt;br /&gt;
* wikipedia local copy&lt;br /&gt;
&lt;br /&gt;
* Content filtering ? - discussion!&lt;br /&gt;
&lt;br /&gt;
* Virtualization (XenSource)&lt;br /&gt;
** to be discussed - not deemed mandatory&lt;br /&gt;
&lt;br /&gt;
=Hardware Specification / Feature list for the WISP-in-a-box product=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To be spec&#039;ed after completion of SW specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Minimum requirements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===General requirements for all elements===&lt;br /&gt;
&lt;br /&gt;
* Input: 12 V_dc&lt;br /&gt;
* Fanless&lt;br /&gt;
* Low power (&amp;lt; 8 W)&lt;br /&gt;
&lt;br /&gt;
===Front access node===&lt;br /&gt;
&lt;br /&gt;
Network interfaces&lt;br /&gt;
	2 minimum, maybe more&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Back end server===&lt;br /&gt;
external switch&lt;br /&gt;
&lt;br /&gt;
==Hardware candidates==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;rows&amp;quot; frame=&amp;quot;hsides&amp;quot; align=&amp;quot;left&amp;quot; width=&amp;quot;100%&amp;quot; cellpadding=10&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
!&#039;&#039;&#039;Table 1&#039;&#039;&#039;: Table title&lt;br /&gt;
|- bgcolor=&amp;quot;lightgrey&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Name !! candidate for !! CPU Memory Storage !! Power !! Wireless !! Cost !! Comments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ASUS EEE PC ||   server? ||&lt;br /&gt;
ASUS® EEE PC 700-W - Intel® 900Mhz Pentium®M ULV, 512MB DDR2 Memory, Internal 2GB SSD Based Hard Drive, Intel® 910GML Chipset, 7&amp;quot; 800x480 LCD, 10/100 LAN, WiFi b/g, SD Card Slot, 3xUSB 2.0 / ASUS EEE PC 4g with 4 GB SSD / ASUS EEE 900 with 1 GB RAM, 12 GB SSD&lt;br /&gt;
|| power: ? ||- || ? || comments&lt;br /&gt;
&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| dataevolution.com decTOP etc ||   server? ||&lt;br /&gt;
Memory&lt;br /&gt;
128MB SDRAM&lt;br /&gt;
10GB HDD &lt;br /&gt;
|| power: ? ||- || ? || comments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| FON(ERA) ||   access node ||&lt;br /&gt;
 CPU: MIPS 180 MHz &lt;br /&gt;
 Memory: 16 MB ram &lt;br /&gt;
|| power || wireless || EUR 40 || comments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Inveneo Outdoor WiFi Access Point||   access node, server (?) || ??? ask Inveneo || power || 802.11 b/g&lt;br /&gt;
Athenos chipset&lt;br /&gt;
Peak power: +24dBm (250mW) || Single Radio: $469 USD* Dual Radio: $659 USD* || incl antennas, install kits, outdoor ready&lt;br /&gt;
&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Inveneo Hub server||   server  || &lt;br /&gt;
1.2GHz VIA C7 nanoBGA2 Fanless&lt;br /&gt;
VIA CN700 North Bridge&lt;br /&gt;
VIA VT8237RP High-bandwidth Vlink Client South Bridge&lt;br /&gt;
51MB standard, 1GB optional&lt;br /&gt;
One RS-232C serial port (DB-9)&lt;br /&gt;
Four USB 2.0 ports (two in front, two in back)&lt;br /&gt;
|| &amp;lt; 20 W || -|| Price: starting at $$785 USD* || incl many things, see site :)&lt;br /&gt;
&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Linksys WRT54G(L) ||   access node || cpu memory storage etc || power || wireless || USD 45 || comments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Meraki outdoor ||   access node || &lt;br /&gt;
 Bootloader: RedBoot&lt;br /&gt;
 CPU: Atheros AR2315&lt;br /&gt;
 CPU Speed: 180 Mhz&lt;br /&gt;
 Flash size: 8 MB&lt;br /&gt;
 RAM: 32 MB &lt;br /&gt;
|| Power consumption: 12W max; 3W typical || &lt;br /&gt;
    * 200 mW (23dBm) peak transmission power*&lt;br /&gt;
    * Enhanced receive sensitivity&lt;br /&gt;
    * External RP-SMA connector&lt;br /&gt;
    * 802.11 b/g (1-54 Mbps)&lt;br /&gt;
    * 2dBi omni directional antenna included&lt;br /&gt;
 || USD 49/99 || note EULA issues!&lt;br /&gt;
&lt;br /&gt;
http://www.mini-itx.com/&lt;br /&gt;
&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Mini-ITX / VIA / LEX / Jetway etc ||   access node, server  || varies || power || wireless || cost || see [http://www.mini-itx.com/ http://www.mini-itx.com/] [http://www.via.com.tw/en/products/mainboards/ http://www.via.com.tw/en/products/mainboards/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Soekris boards ||   access node, server (?) || cpu memory storage etc || power || wireless || cost || comments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Ultra Mobile PCs / sub laptops ||   becoming a valid candidate as &#039;&#039;Backend/server&#039;&#039; component? || &lt;br /&gt;
many candidates with differing specs, need to check out and test:&lt;br /&gt;
&lt;br /&gt;
    * OLPC&lt;br /&gt;
    * eMate 300&lt;br /&gt;
    * Classmate PC&lt;br /&gt;
    * Linutop, Geode LX -based computer&lt;br /&gt;
    * Longmeng or Dragon Dream, China&lt;br /&gt;
    * Tianhua GX-1C, Sinomanic in China&lt;br /&gt;
    * VIA pc-1 Initiative, VIA Technologies digital divide program.&lt;br /&gt;
    * Zonbu, a low-cost desktop computer&lt;br /&gt;
    * Eee PC, ASUS and Intel - watch!&lt;br /&gt;
    * Clio NXT.&lt;br /&gt;
    * InkMedia MC, another low-cost subnotebook&lt;br /&gt;
    * Elonex_ONE, subnotebook, expected to be £99&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| ??? - typically low, 3 Watts for OLPC-X01 || typically built in &lt;br /&gt;
&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
EUR 250 - 400 &lt;br /&gt;
&lt;br /&gt;
    * OLPC&lt;br /&gt;
    * eMate 300&lt;br /&gt;
    * Classmate PC&lt;br /&gt;
    * Linutop, Geode LX -based computer EUR 280&lt;br /&gt;
    * Longmeng or Dragon Dream, China&lt;br /&gt;
    * Tianhua GX-1C, Sinomanic in China&lt;br /&gt;
    * VIA pc-1 Initiative, VIA Technologies digital divide program.&lt;br /&gt;
    * Zonbu, a low-cost desktop computer&lt;br /&gt;
    * Eee PC, model900 = EUR 400, model 4g = EUR 300&lt;br /&gt;
    * Acer, Q2 2008, approx EUR 250 ?&lt;br /&gt;
    * Clio NXT.&lt;br /&gt;
    * InkMedia MC, another low-cost subnotebook&lt;br /&gt;
    * Elonex_ONE, subnotebook, expected to be £99&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| needs testing and verification as candidates&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| WRAP boards ||   access node, server (?) || cpu memory storage etc || power || wireless || cost || comments&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Solar part==&lt;br /&gt;
&lt;br /&gt;
Solar Kit to be spe&#039;ed after HW power is known&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=Contact&amp;diff=2938</id>
		<title>Contact</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Contact&amp;diff=2938"/>
		<updated>2008-03-24T12:36:39Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Email: wa-admin@meraka.org.za&lt;br /&gt;
&lt;br /&gt;
Tel.: +27 12 841 3028&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=Charles_Perkins_visit&amp;diff=2336</id>
		<title>Charles Perkins visit</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Charles_Perkins_visit&amp;diff=2336"/>
		<updated>2006-10-03T10:04:50Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Colloquium: Research in mesh networks and other ad-hoc networks - Charles Perkins==&lt;br /&gt;
&lt;br /&gt;
Charles Perkins, “the father of mobile IP technology” and Nokia Fellow, visited the Meraka Institute on the 11th of September to present on research in mesh networking and other ad-hoc networks. The aim of the presentation was to:&lt;br /&gt;
# To present recent areas of research on ad hoc wireless networks.&lt;br /&gt;
# Generate interest in Wireless Africa&#039;s access and mesh networking research &lt;br /&gt;
&lt;br /&gt;
About 40 persons from the telecommunications industry and around 10 people from academia attended the conference. One person even drove all the way from Eastern Cape just to attend the presentation. His presentation is an excellent summary of current research issues in ad-hoc and mesh networking protocols. Interesting linkages with social networking were also highlighted.&lt;br /&gt;
&lt;br /&gt;
The presentation is available here&lt;br /&gt;
[[Media:perkins.pdf|Research in mesh networks and other ad-hoc networks - Charles Perkins]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Brief CV: Charles Perkins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Charles E. Perkins is a Nokia Fellow in the Network Technology Laboratory at Nokia Research&lt;br /&gt;
Center, investigating mobile wireless networking and dynamic configuration protocols. Prior to&lt;br /&gt;
this he worked at Sun Microsystems and IBM.&lt;br /&gt;
He serves as document editor for the mobile-IP working group of the Internet Engineering Task&lt;br /&gt;
Force (IETF), and is author or co-author of standards-track documents in the mip4, mip6,&lt;br /&gt;
manet, dhc, mipshop, seamoby (Seamless Mobility) and autoconf working groups. Charles has&lt;br /&gt;
served as program committee co-chair for MobiHoc 2004, on the Internet Architecture Board&lt;br /&gt;
(IAB) of the IETF and on various committees for the National Research Council.&lt;br /&gt;
More recently he has served as Program Chair for the IEEE Vehicular Technology conference&lt;br /&gt;
networking track. He currently serves as General Chair for IEEE Mobile Ad hoc and Sensor&lt;br /&gt;
Systems conference (MASS 2006). He is also associate editor for Mobile Communications and&lt;br /&gt;
Computing Review, the official publication of ACM SIGMOBILE, and has served on the editorial&lt;br /&gt;
staff for IEEE Internet Computing magazine.&lt;br /&gt;
Charles has authored and edited books on Mobile IP and Ad Hoc Networking. He has published&lt;br /&gt;
a number of papers and award winning articles in the areas of mobile networking, ad-hoc&lt;br /&gt;
networking, route optimization for mobile networking, resource discovery, and automatic&lt;br /&gt;
configuration for mobile computers.&lt;br /&gt;
Charles holds a B.A. in mathematics and a M.E.E. degree from Rice University, and a M.A. in&lt;br /&gt;
Mathematics from Columbia University, has nine patents and five pending patent applications.&lt;br /&gt;
He won several IBM Invention Achievement Awards and a Service Award for contributions to the&lt;br /&gt;
Internet Architectural Board.&lt;br /&gt;
More information: http://research.nokia.com/people/charles_perkins/index.html&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=WirelessAfrica:Community_Portal&amp;diff=1584</id>
		<title>WirelessAfrica:Community Portal</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=WirelessAfrica:Community_Portal&amp;diff=1584"/>
		<updated>2005-11-20T22:02:14Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meraka COIN Team Members=&lt;br /&gt;
Kobus roux a.k.a [[User:Kroux]]&lt;br /&gt;
&lt;br /&gt;
David Johnson a.k.a [[User:Kingdavid]]&lt;br /&gt;
&lt;br /&gt;
Yusuf Kaka a.k.a [[User:Yusufk]]&lt;br /&gt;
&lt;br /&gt;
John Hay a.k.a [[User:Jhay]]&lt;br /&gt;
&lt;br /&gt;
Johann Hugo a.k.a [[User:]]&lt;br /&gt;
&lt;br /&gt;
Madelein Van Den Berg a.k.a [[User:]]&lt;br /&gt;
&lt;br /&gt;
Anita Van De Merwe a.k.a [[User:]]&lt;br /&gt;
&lt;br /&gt;
Lawrence Mboweni a.k.a [User:]]&lt;br /&gt;
&lt;br /&gt;
=Honourary Members ;)=&lt;br /&gt;
Andrew, the Android Smith [[User:]]&lt;br /&gt;
&lt;br /&gt;
=Contributors=&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=Community_Media_%26_Technology_Conference&amp;diff=1581</id>
		<title>Community Media &amp; Technology Conference</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Community_Media_%26_Technology_Conference&amp;diff=1581"/>
		<updated>2005-11-20T18:33:14Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Open Society Foundation for SA &lt;br /&gt;
&lt;br /&gt;
Workshop - Community Media &amp;amp; Technology &lt;br /&gt;
&lt;br /&gt;
November 21-22, 2005 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PROGRAMME&lt;br /&gt;
&lt;br /&gt;
Monday Nov 21&lt;br /&gt;
&lt;br /&gt;
8.00 – 8.45am		Registration&lt;br /&gt;
&lt;br /&gt;
8.45 – 9.00am		Welcome&lt;br /&gt;
&lt;br /&gt;
09.00 -10.00am	Setting the context of telecommunications in South Africa. &lt;br /&gt;
CONSOLE TLEANE, Freedom of Expression Institute&lt;br /&gt;
&lt;br /&gt;
10.00 - 10.30am	A view from Government&lt;br /&gt;
ZOLISILE MSHUNQANA, Department of Communications&lt;br /&gt;
&lt;br /&gt;
10.30 – 11.00am  	TEA&lt;br /&gt;
&lt;br /&gt;
11.00 – 12.00 noon	Introduction to Open Source Software &lt;br /&gt;
NHLANHLA MABASO, CSIR&lt;br /&gt;
&lt;br /&gt;
12.00- 12.30pm	Introduction to TUCS labs&lt;br /&gt;
HILTON THEUNISSEN, Shuttleworth Foundation&lt;br /&gt;
&lt;br /&gt;
12.30 - 1.30pm 	LUNCH&lt;br /&gt;
&lt;br /&gt;
1.30 - 2.30pm		Connectivity Options&lt;br /&gt;
KOBUS ROUX &amp;amp; SHERRIN ISAAC, Meraka Institute, CSIR&lt;br /&gt;
&lt;br /&gt;
2.30 - 3.30pm		Introduction to Live Support – what it offers &lt;br /&gt;
DOUG ARELLANES, Media Development Loan Fund&lt;br /&gt;
&lt;br /&gt;
3.30 - 4pm		TEA&lt;br /&gt;
&lt;br /&gt;
4-5.30pm 	Learning the basics about loading software &amp;amp; using it&lt;br /&gt;
Hands-On session&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tuesday November 22&lt;br /&gt;
&lt;br /&gt;
8.30 – 9.30am	MPCCs and Community Radio – opportunities &amp;amp; partnerships KAREN THORNE, AMAC&lt;br /&gt;
&lt;br /&gt;
9.30 – 10.30am	Data bases and IT tools for newsrooms and marketing &lt;br /&gt;
JUSTIN ARENSTEIN, Africa Eye News Service &lt;br /&gt;
&lt;br /&gt;
10.30	– 11.00am	TEA&lt;br /&gt;
&lt;br /&gt;
11.00-11.30am	State-funded support&lt;br /&gt;
SAM GULUBE, Universal Service Agency &lt;br /&gt;
&lt;br /&gt;
11.30 - 12.30pm	Conclusion &amp;amp; Way Forward&lt;br /&gt;
ASHRAF PATEL, Open Society Institute of Southern Africa&lt;br /&gt;
&lt;br /&gt;
12.30 – 1.30pm	LUNCH&lt;br /&gt;
&lt;br /&gt;
1.30pm-2.30pm 	More hands-on practice – using databases and Open Source Software [Optional]&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=Community_Media_%26_Technology_Conference&amp;diff=1580</id>
		<title>Community Media &amp; Technology Conference</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Community_Media_%26_Technology_Conference&amp;diff=1580"/>
		<updated>2005-11-20T18:32:38Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Open Society Foundation for SA &lt;br /&gt;
&lt;br /&gt;
Workshop - Community Media &amp;amp; Technology &lt;br /&gt;
&lt;br /&gt;
November 21-22, 2005 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PROGRAMME&lt;br /&gt;
&lt;br /&gt;
Monday Nov 21&lt;br /&gt;
&lt;br /&gt;
8.00 – 8.45am		Registration&lt;br /&gt;
&lt;br /&gt;
8.45 – 9.00am		Welcome&lt;br /&gt;
&lt;br /&gt;
09.00 -10.00am	Setting the context of telecommunications in South Africa. &lt;br /&gt;
&lt;br /&gt;
CONSOLE TLEANE, Freedom of Expression Institute&lt;br /&gt;
&lt;br /&gt;
10.00 - 10.30am	A view from Government&lt;br /&gt;
ZOLISILE MSHUNQANA, Department of Communications&lt;br /&gt;
&lt;br /&gt;
10.30 – 11.00am  	TEA&lt;br /&gt;
&lt;br /&gt;
11.00 – 12.00 noon	Introduction to Open Source Software &lt;br /&gt;
NHLANHLA MABASO, CSIR&lt;br /&gt;
&lt;br /&gt;
12.00- 12.30pm	Introduction to TUCS labs&lt;br /&gt;
HILTON THEUNISSEN, Shuttleworth Foundation&lt;br /&gt;
&lt;br /&gt;
12.30 - 1.30pm 	LUNCH&lt;br /&gt;
&lt;br /&gt;
1.30 - 2.30pm		Connectivity Options&lt;br /&gt;
KOBUS ROUX &amp;amp; SHERRIN ISAAC, Meraka Institute, CSIR&lt;br /&gt;
&lt;br /&gt;
2.30 - 3.30pm		Introduction to Live Support – what it offers &lt;br /&gt;
DOUG ARELLANES, Media Development Loan Fund&lt;br /&gt;
&lt;br /&gt;
3.30 - 4pm		TEA&lt;br /&gt;
	 &lt;br /&gt;
&lt;br /&gt;
4-5.30pm 	Learning the basics about loading software &amp;amp; using it&lt;br /&gt;
Hands-On session&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tuesday November 22&lt;br /&gt;
&lt;br /&gt;
8.30 – 9.30am	MPCCs and Community Radio – opportunities &amp;amp; partnerships KAREN THORNE, AMAC&lt;br /&gt;
&lt;br /&gt;
9.30 – 10.30am	Data bases and IT tools for newsrooms and marketing &lt;br /&gt;
JUSTIN ARENSTEIN, Africa Eye News Service &lt;br /&gt;
&lt;br /&gt;
10.30	– 11.00am	TEA&lt;br /&gt;
&lt;br /&gt;
11.00-11.30am	State-funded support&lt;br /&gt;
SAM GULUBE, Universal Service Agency &lt;br /&gt;
&lt;br /&gt;
11.30 - 12.30pm	Conclusion &amp;amp; Way Forward&lt;br /&gt;
ASHRAF PATEL, Open Society Institute of Southern Africa&lt;br /&gt;
&lt;br /&gt;
12.30 – 1.30pm	LUNCH&lt;br /&gt;
&lt;br /&gt;
1.30pm-2.30pm 	More hands-on practice – using databases and Open Source Software [Optional]&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=Community_Media_%26_Technology_Conference&amp;diff=1579</id>
		<title>Community Media &amp; Technology Conference</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Community_Media_%26_Technology_Conference&amp;diff=1579"/>
		<updated>2005-11-20T18:31:53Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Open Society Foundation for SA &lt;br /&gt;
Workshop - Community Media &amp;amp; Technology &lt;br /&gt;
November 21-22, 2005 &lt;br /&gt;
&lt;br /&gt;
PROGRAMME&lt;br /&gt;
&lt;br /&gt;
Monday Nov 21&lt;br /&gt;
&lt;br /&gt;
8.00 – 8.45am		Registration&lt;br /&gt;
8.45 – 9.00am		Welcome&lt;br /&gt;
09.00 -10.00am	Setting the context of telecommunications in South Africa. &lt;br /&gt;
CONSOLE TLEANE, Freedom of Expression Institute&lt;br /&gt;
&lt;br /&gt;
10.00 - 10.30am	A view from Government&lt;br /&gt;
ZOLISILE MSHUNQANA, Department of Communications&lt;br /&gt;
&lt;br /&gt;
10.30 – 11.00am  	TEA&lt;br /&gt;
&lt;br /&gt;
11.00 – 12.00 noon	Introduction to Open Source Software &lt;br /&gt;
NHLANHLA MABASO, CSIR&lt;br /&gt;
&lt;br /&gt;
12.00- 12.30pm	Introduction to TUCS labs&lt;br /&gt;
			HILTON THEUNISSEN, Shuttleworth Foundation&lt;br /&gt;
&lt;br /&gt;
12.30 - 1.30pm 	LUNCH&lt;br /&gt;
&lt;br /&gt;
1.30 - 2.30pm		Connectivity Options&lt;br /&gt;
KOBUS ROUX &amp;amp; SHERRIN ISAAC, Meraka Institute, CSIR&lt;br /&gt;
&lt;br /&gt;
2.30 - 3.30pm		Introduction to Live Support – what it offers &lt;br /&gt;
			DOUG ARELLANES, Media Development Loan Fund&lt;br /&gt;
&lt;br /&gt;
3.30 - 4pm		TEA&lt;br /&gt;
	 &lt;br /&gt;
&lt;br /&gt;
4-5.30pm 	Learning the basics about loading software &amp;amp; using it&lt;br /&gt;
	Hands-On session&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tuesday November 22&lt;br /&gt;
&lt;br /&gt;
8.30 – 9.30am	MPCCs and Community Radio – opportunities &amp;amp; partnerships KAREN THORNE, AMAC&lt;br /&gt;
&lt;br /&gt;
9.30 – 10.30am	Data bases and IT tools for newsrooms and marketing &lt;br /&gt;
JUSTIN ARENSTEIN, Africa Eye News Service &lt;br /&gt;
&lt;br /&gt;
10.30	– 11.00am	TEA&lt;br /&gt;
&lt;br /&gt;
11.00-11.30am	State-funded support&lt;br /&gt;
SAM GULUBE, Universal Service Agency &lt;br /&gt;
&lt;br /&gt;
11.30 - 12.30pm	Conclusion &amp;amp; Way Forward&lt;br /&gt;
ASHRAF PATEL, Open Society Institute of Southern Africa&lt;br /&gt;
&lt;br /&gt;
12.30 – 1.30pm	LUNCH&lt;br /&gt;
&lt;br /&gt;
1.30pm-2.30pm 	More hands-on practice – using databases and Open Source Software [Optional]&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=Current_events&amp;diff=1578</id>
		<title>Current events</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Current_events&amp;diff=1578"/>
		<updated>2005-11-20T18:30:17Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Current Activities==&lt;br /&gt;
===Research===&lt;br /&gt;
[[Port HSLS]] to Linux and FreeBSD&lt;br /&gt;
&lt;br /&gt;
[[Monitor Wifi Activity]]&lt;br /&gt;
&lt;br /&gt;
[[Protocol Shoot-out]]&lt;br /&gt;
&lt;br /&gt;
[[Protocol QoS Shoot-out]]&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
Populate Wiki!&lt;br /&gt;
&lt;br /&gt;
Build and test some [[Home-Brew Antennae]]&lt;br /&gt;
&lt;br /&gt;
Implement/test VoIP on [[49-node Indoor Mesh]]&lt;br /&gt;
&lt;br /&gt;
Expand the [[Rural Mesh Networks]]&lt;br /&gt;
&lt;br /&gt;
Expand the [[Pretoria Mesh]] &lt;br /&gt;
&lt;br /&gt;
Link to [http://www.meraka.org.za/digitalDoorway.htm Digital Doorway]&lt;br /&gt;
&lt;br /&gt;
==Upcoming Events==&lt;br /&gt;
[[CuWIN Visit]]&lt;br /&gt;
&lt;br /&gt;
[[Community Media &amp;amp; Technology Conference]]&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
	<entry>
		<id>http://wirelessafrica.meraka.org.za/wiki/index.php?title=Current_events&amp;diff=1577</id>
		<title>Current events</title>
		<link rel="alternate" type="text/html" href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Current_events&amp;diff=1577"/>
		<updated>2005-11-20T18:29:59Z</updated>

		<summary type="html">&lt;p&gt;Kroux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Current Activities==&lt;br /&gt;
===Research===&lt;br /&gt;
[[Port HSLS]] to Linux and FreeBSD&lt;br /&gt;
&lt;br /&gt;
[[Monitor Wifi Activity]]&lt;br /&gt;
&lt;br /&gt;
[[Protocol Shoot-out]]&lt;br /&gt;
&lt;br /&gt;
[[Protocol QoS Shoot-out]]&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
Populate Wiki!&lt;br /&gt;
&lt;br /&gt;
Build and test some [[Home-Brew Antennae]]&lt;br /&gt;
&lt;br /&gt;
Implement/test VoIP on [[49-node Indoor Mesh]]&lt;br /&gt;
&lt;br /&gt;
Expand the [[Rural Mesh Networks]]&lt;br /&gt;
&lt;br /&gt;
Expand the [[Pretoria Mesh]] &lt;br /&gt;
&lt;br /&gt;
Link to [http://www.meraka.org.za/digitalDoorway.htm Digital Doorway]&lt;br /&gt;
&lt;br /&gt;
==Upcoming Events==&lt;br /&gt;
[[CuWIN Visit]]&lt;br /&gt;
[[Community Media &amp;amp; Technology Conference]]&lt;/div&gt;</summary>
		<author><name>Kroux</name></author>
	</entry>
</feed>