<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Village Telco &#187; WiFi</title>
	<atom:link href="http://villagetelco.org/tag/wifi/feed/" rel="self" type="application/rss+xml" />
	<link>http://villagetelco.org</link>
	<description>an easy-to-use, scalable, standards-based, wireless, local, do-it-yourself, telephone company toolkit</description>
	<lastBuildDate>Wed, 18 Jan 2012 14:08:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>RF Hacking</title>
		<link>http://villagetelco.org/2009/11/rf-hacking/</link>
		<comments>http://villagetelco.org/2009/11/rf-hacking/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 15:27:47 +0000</pubDate>
		<dc:creator>drowe</dc:creator>
				<category><![CDATA[Mesh Potato]]></category>
		<category><![CDATA[Atheros]]></category>
		<category><![CDATA[calibration]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[RF]]></category>
		<category><![CDATA[WiFi]]></category>

		<guid isPermaLink="false">http://villagetelco.org/?p=344</guid>
		<description><![CDATA[Since the 2nd Village Telco Workshop in July we have been working on the Beta release of the Mesh Potatoes. Progress slowed immediately after the workshop &#8211; I think we&#8230;]]></description>
			<content:encoded><![CDATA[<p>Since the <a title="Second Village Telco Workshop - blog post" href="http://villagetelco.org/2009/08/the-second-village-telco-workshop/" target="_blank">2nd Village Telco Workshop</a> in July we have been working on the Beta release of the Mesh Potatoes.  Progress slowed immediately after the workshop &#8211; I think we all needed a break and some time to organise the resources (e.g. test equipment, prototype manufacture and people) required for the next phase of the project.  However we are back in the thick of it now.</p><p>The Mesh Potato is a mix of many different technologies: embedded Linux, telephony hardware, VOIP and Wifi.  The Radio Frequency (RF) side of the Mesh Potato is a loose end we need to tie up.  Unfortunately, data on the RF side is nearly impossible to obtain.  To get the full support package from <a title="Atheros Home Page" href="http://www.atheros.com/" target="_blank" onclick="urchinTracker('/outgoing/www.atheros.com/?referer=');">Atheros</a> costs USD$100k.  That is beyond our budget and sits uncomfortably with the open source nature of the Village Telco project.</p><p>Each <a title="Product page for AR2317 chip" href="http://www.atheros.com/pt/AR5007AP-G.htm" target="_blank" onclick="urchinTracker('/outgoing/www.atheros.com/pt/AR5007AP-G.htm?referer=');">AR2317 chip</a> is a little different and consequently each chips requires individual RF calibration on the production line. This calibration ensures each AR2317 product has uniform transmit power and meets certain performance criteria.  The calibration data is stored at the end of the SPI flash chip and loaded by the WiFi driver at boot time.  Calibration is performed on the production line using a bunch of expensive RF test equipment connected via <a title="Wikipedia entry for General Purpose Interface Bus (GPIB)" href="http://en.wikipedia.org/wiki/GPIB" target="_blank" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/GPIB?referer=');">GPIB</a> to a host computer running special software.</p><p>The calibration procedure and most of the data relating to the AR2317 RF section is part of the Atheros &#8220;secret sauce&#8221;.</p><p>On our prototype Mesh Potatoes we were lucky enough to have the WiFi fire up first time.  We just copied the calibration data from another AR2317 based product as a starting point.  The Wifi worked, but without calibration Wifi performance is likely to be poor.  As we had no RF test equipment our visibility was limited &#8211; it was hard to even measure the RF performance.</p><p>Elektra managed to hook a V1.0 MP01 up to a borrowed spectrum analyser, thanks to kind guys at the <a title="Meraka Institute at the CSIR" href="http://www.meraka.org.za/" target="_blank" onclick="urchinTracker('/outgoing/www.meraka.org.za/?referer=');">CSIR</a> in South Africa.  A spectrum analyser graphs the power at each frequency.  Here is what the spectrum of a calibrated DIR-300 looks like:</p><div id="attachment_346" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-346" title="Calibrated-DIR-300-1Mbit-channel11" src="http://villagetelco.org/wp-content/uploads/2009/11/Calibrated-DIR-300-1Mbit-channel11-300x225.gif" alt="DIR-300 1Mbit Channel 11 spectrum" width="300" height="225" /><p class="wp-caption-text">DIR-300 1Mbit Channel 11 spectrum</p></div><p>And here is the output from our uncalibrated V1.0 Mesh Potato:</p><div id="attachment_345" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-345" title="MP-1Mbit_channel_11" src="http://villagetelco.org/wp-content/uploads/2009/11/MP-1Mbit_channel_11-300x225.gif" alt="MP01 1Mbit Channel 11 spectrum" width="300" height="225" /><p class="wp-caption-text">MP01 1Mbit Channel 11 spectrum</p></div><p>So after the 2nd Village Telco workshop we decided to tackle Calibration.  Fortunately, our friends at <a title="Atcom Home Page" href="http://www.atcom.cn" target="_blank" onclick="urchinTracker('/outgoing/www.atcom.cn?referer=');">Atcom</a> found some friends in Shenzhen who have the production line equipment for AR2317 calibration.  Here in Adelaide I bought some basic test equipment &#8211; an old Tek 492 spectrum analyser from e-bay and a frequency counter.  The Tek 492 is an analogue spectrum analyser (with some digital storage ability) from the early 1980&#8242;s.  In their day they cost $30,000 but are available 2nd hand for around $2,000.  Microwave hacking on a budget!  The following photo is courtesy of Ben (see below):</p><p><img class="aligncenter size-medium wp-image-347" title="tek_492" src="http://villagetelco.org/wp-content/uploads/2009/11/tek_492-300x164.jpg" alt="tek_492" width="300" height="164" /></p><p>In early October we made our first attempt at calibration on one the V1.1 Betas.  The automatic test equipment in Shenzhen &#8220;failed&#8221; us.  There were several bugs including low output power (10dB down) and a large frequency offset (60ppm instead of 20ppm).  Another concern was that several Mesh Potatoes tested gave different results.  Great.  Just what we need when we are trying to get 100 Betas out the door for eager developers.</p><p>Thus began a two week frenzy of RF debugging, with Mesh Potatoes being couriered back and forth between Shenzhen and Adelaide and much soldering of tiny 0402 size parts under the microscope.  These parts appear the size of a small crumb to the naked eye (about 1mm by 0.4mm), but surprisingly you can hand solder them <a href="http://www.rowetel.com/blog/?p=20" onclick="urchinTracker('/outgoing/www.rowetel.com/blog/?p=20&amp;referer=');">under a microscope</a> with a little patience.</p><p>None of the core team are experienced in Wifi or 2.4GHz RF, and we are working without 95% of the data and test equipment we need for proper RF development.  So we had a few challenges.</p><p>After about two weeks of hard work we made some progress.  I managed to bring 3 out of 4 betas up to our target power of 17dBm (the 4th I blew up accidentally).  We discovered some areas where the PCB layout could be improved to get even more power (perhaps 20dBm) out of the MP.  The system clock was a few kHz off 40.0 MHz which when multiplied up to 2.4 GHz caused the 60 ppm frequency offset.  This was actually the largest problem &#8211; it caused packet errors at the low data rates which messed up long range performance.  Once this was fixed the packet error rate performance started to look as good as the reference DIR-300 unit we were testing against.</p><p>The variable power output of different MPs had a simple reason &#8211; some of the tiny 0402 parts were loaded in the wrong place.  This is very easy to do as the parts have no writing on them.  I only spotted this when I noticed two parts with the same value looked slightly different in colour.  Usually all parts from the same reel look identical.</p><p>With our new-found experience, Atcom decided to make another revision of the PCB (V1.2) to tighten up the RF side.  That should be ready for testing in November.  If calibration checks out on V1.2 we will then kick off a Beta run.</p><p>Given our lack of RF experience, lack of AR2317 data, lack of support from the chip vendor, and very basic test equipment I feel pretty happy with our progress in RF performance over those two hard weeks. The %$%^ Asterisk channel driver for the Mesh Potato took me three weeks to get stable and I am meant to know something about Asterisk driver development!</p><p>As well at the core team of Elektra, myself, the Atcom team (Edwin, Alen, Mr. Lee, Peter), their Shenzhen friends and of course Steve, we had some help from Jeff (our RF consultant) and two other people who were especially kind:</p><p>I found <a href="http://circuitben.net/" onclick="urchinTracker('/outgoing/circuitben.net/?referer=');">Ben Johnson</a> while looking for information on the Tek 492.  Ben had posted a page on how he <a href="http://circuitben.net/tek492/index.php" onclick="urchinTracker('/outgoing/circuitben.net/tek492/index.php?referer=');"> repaired his Tek 492</a>.  I emailed Ben to ask if he thought it was suitable for Wifi.  Ben was kind enough to actually test his Tek 492 on some Wifi signals and email me the results!  This gave me the confidence to bid for a used 492 on ebay here in Australia.</p><p>I met Dieter through an article I published on <a href="http://www.rowetel.com/ev.html#lowcostev" onclick="urchinTracker('/outgoing/www.rowetel.com/ev.html_lowcostev?referer=');">Low cost Electric Cars</a> in <a href="http://www.ata.org.au/publications/renew" onclick="urchinTracker('/outgoing/www.ata.org.au/publications/renew?referer=');">Renew</a> magazine.  He just happened to email me on a day I was messing with the Tek 492 and I found out he was a microwave engineer working in Melbourne.  Throughout the RF debugging process Dieter emailed me virtually every day and gave much needed advice and moral support.  He even sent over some semi-rigid RF cable with an N-connector to help with the testing.</p><p>The Internet is amazing place. I am constantly bowled over by the kindness of people &#8211; especially when you are working on open projects.</p><p><strong>Links</strong></p><p>[1] <a href="http://www.rowetel.com/blog/?p=136" onclick="urchinTracker('/outgoing/www.rowetel.com/blog/?p=136&amp;referer=');">Measuring Wifi Transmit Power</a> &#8211; An in-depth look on how I used the Tek 492 to measure Wifi transmit power.</p>]]></content:encoded>
			<wfw:commentRss>http://villagetelco.org/2009/11/rf-hacking/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Mesh Potato Tests</title>
		<link>http://villagetelco.org/2009/07/mesh-potato-tests/</link>
		<comments>http://villagetelco.org/2009/07/mesh-potato-tests/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 12:02:14 +0000</pubDate>
		<dc:creator>drowe</dc:creator>
				<category><![CDATA[Mesh Potato]]></category>
		<category><![CDATA[AR2317]]></category>
		<category><![CDATA[VoIP]]></category>
		<category><![CDATA[WiFi]]></category>

		<guid isPermaLink="false">http://villagetelco.org/?p=235</guid>
		<description><![CDATA[We have made good progress on the Mesh Potato (MP) so far. The basic functionality (making phone calls over a Wifi Mesh network) is working OK. Over the past few&#8230;]]></description>
			<content:encoded><![CDATA[<p>We have made good progress on the Mesh Potato (MP) so far.  The basic functionality (making phone calls over a Wifi Mesh network) is working OK.  Over the past few weeks Elektra and I have been concentrating on several specific areas of the MP and testing them in more depth.  This posts focuses on some of the tests I have performed, the bugs found, and the final results.</p><p><strong>Stability</strong></p><p>One simple stability test is uptime.  I have left both my MP prototypes running for up to 5 days at a time with good results &#8211; Linux and Wifi stayed up, and we still had dial tone from the FXS port.  This simple test says a lot: e.g no memory leaks, CPU instability, drastic over temperature problems.</p><p>Another test I like to do to all my telephony devices is hammer them with phone calls for 24 hours.  Here is the test set-up:</p><div id="attachment_236" class="wp-caption aligncenter" style="width: 412px"><img class="size-full wp-image-236" title="mp01_stability_test" src="http://villagetelco.org/wp-content/uploads/2009/07/mp01_stability_test.png" alt="Stability Test" width="402" height="282" /><p class="wp-caption-text">Stability Test</p></div><p>An x86 Asterisk box acts as the call generator.  It starts a new call to the MP.  When the MP receives the call it starts the FXS port ringing.  Another Asterisk box (an IP04 with an FXO port) answers the call, plays a prompt for a few seconds, then hangs up.  The entire sequence is then repeated &#8211; make thousands of calls over a 24 hour period. The SIP call is placed over Mesh Wifi to make sure all parts of the MP system are being exercised.</p><p>This test gives the MP quite a hard time as much of the call processing load is involved in set up and tear down of calls, and unless you are my teenage daughter you can&#8217;t really make 3500 calls in 24 hours.</p><p>When I started the tests it threw up problems nearly immediately &#8211; Asterisk was <a title="Wikipedia entry for Segmentation Fault" href="http://en.wikipedia.org/wiki/Segmentation_fault" target="_blank" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/Segmentation_fault?referer=');">seg faulting</a> with no feedback as to why it was crashing.  This led to a week of fun and games where the problem was eventually traced to thread problems in the Asterisk channel driver I had written (chan_mp).  This channel driver has been a painful experience for me (even though I have written a few before), and has taken perhaps 3 weeks of part time work to write and debug.  Lots of fun with threads and null pointers. Even now I still don&#8217;t quite understand all the issues around Asterisk channel drivers.  I would appreciate a code review of the driver if there are any Asterisk channel driver experts out there.</p><p>Anyway I finally tracked down the source of the problem and modified the channel driver.  It passed the 24 hour stability tests and made 3500 calls.</p><p><strong>Mesh Load Test</strong></p><p>This is a repeat of the load test from Phase 1 of the Mesh Potato Project, but this time on the actual MP hardware with the FXS driver running:</p><div id="attachment_237" class="wp-caption aligncenter" style="width: 512px"><img class="size-full wp-image-237" title="mp_load_test" src="http://villagetelco.org/wp-content/uploads/2009/07/mp_load_test.png" alt="Mesh Load Test" width="502" height="522" /><p class="wp-caption-text">Mesh Load Test</p></div><p>A big difference between the Village Telco and Cell Phone network is no base stations (Cell Phone Towers).  Instead, the calls are routed via the client nodes.  It&#8217;s a peer-peer network rather than a client-server architecture.</p><p>The idea of this test is to make sure that a given mesh potato node can relay 15 phone calls for other people while simultaneously making a phone call of it&#8217;s own.  This scenario places significant CPU load on the router due to the number of Wifi packets that must be processed at the same time as DSP intensive code like echo cancellation and speech compression.</p><p>The set up details of this test are on the wiki and have been blogged about earlier.  Speech quality was fine, and <a title="Wikipedia entry for Load Average" href="http://en.wikipedia.org/wiki/Load_average" target="_blank" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/Load_average?referer=');">loadav</a> about 0.71, similar to the Phase 1 results.  Occasionally I could hear some packet loss but overall the call was fine.  A good result considering all that processing (Linux, Wifi, mesh, Asterisk, echo cancelling, GSM speech compression, FXS driver) on that little router chip!</p><p>One interesting fact is that even with a total of 16 calls the bit rate is only  around 500 kbit/s, so the bandwidth of the mesh is quite lightly loaded.  However speech packets are rather short, so raising the number of phone calls would likely run into CPU load (rather than Wifi bandwidth) issues due to the per-packet processing load.</p><p><strong>Wifi Range Test</strong></p><p>Wifi is mainly the domain of Elektra and Jeff on this project but I was keen to get some rough idea of how well the radio was working.  I had made a few calls around the house OK but noticed that the received signal level was quite low.  A bit of thought led us to a static protection diode we had placed across the antenna circuit.  Although a good idea for the RX side it was conducting when transmit signal was present.  After removing this diode the TX level jumped right up to roughly comparable levels to a DIR-300 router that uses the same Atheros AR2317 SoC.</p><p>However using radiated signal levels it is hard to get consistent results, they bounce around all over the place.  Jeff suggested connecting a combination of DIR-300 and Mesh Potatoes in A-B tests via cables and calibrated attenuators to obtain consistent measurements.</p><p>Over a few days I made several attempts at range tests.  However where I live is quite flat so it&#8217;s difficult to get a good <a title="Wikipedia entry for Line of Sight" href="http://en.wikipedia.org/wiki/Line-of-sight_propagation" target="_blank" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/Line-of-sight_propagation?referer=');">Line-Of-Sight</a> (LOS).  I did manage to make phone calls over about 250m which is pretty much what we need for a Village Telco Network.</p><p>Elektra and I feel the radio performance could probably be improved with some adjustment of the RF circuit components and possibly PCB layout.  Elektra has access to a RF test lab later this week so we will get some more concrete information of Wifi performance.</p><p>One area we really need more information on is radio calibration data and the Hardware Design Guide document for the AR2317, however we have been unable to obtain this important information from Atheros.</p><p>More blogging to come from Elektra on Wifi radio and power supply performance.</p>]]></content:encoded>
			<wfw:commentRss>http://villagetelco.org/2009/07/mesh-potato-tests/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Voice Over B.A.T.M.A.N.</title>
		<link>http://villagetelco.org/2009/06/voice-over-b-a-t-m-a-n/</link>
		<comments>http://villagetelco.org/2009/06/voice-over-b-a-t-m-a-n/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 02:13:59 +0000</pubDate>
		<dc:creator>drowe</dc:creator>
				<category><![CDATA[Mesh Potato]]></category>
		<category><![CDATA[Village Telco]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[VoIP]]></category>
		<category><![CDATA[WiFi]]></category>

		<guid isPermaLink="false">http://villagetelco.org/?p=213</guid>
		<description><![CDATA[Bringing up WifiOn Friday I set about testing Wifi on the two Mesh Potato prototypes. The N-type antenna connectors attach to the MP PCB via a pigtail with a tiny&#8230;]]></description>
			<content:encoded><![CDATA[<p><strong>Bringing up Wifi</strong></p><p>On Friday I set about testing Wifi on the two Mesh Potato prototypes.  The N-type antenna connectors attach to the MP PCB via a pigtail with a tiny Hi-rose style connector.  This looks a bit fragile so I decided to mount the two MPs in some weatherproof boxes so I had a firm mounting for the antenna pig tail.  I chose one metal and one plastic, to see if the case material makes any difference to the Wifi performance.  They wont be completely weatherproof (I&#8217;ll just run the phone power, and Ethernet cables through holes), but enough to take outside for some tests and withstand some handling.</p><p>I mounted both the PCB and the antenna connector in the lid, so the whole assembly can be removed without putting any strain on that tiny PCB antenna connector.  Only problem is I can&#8217;t see the LEDs &#8211; will need to make a little window on the bottom of the box.</p><div id="attachment_214" class="wp-caption aligncenter" style="width: 460px"><img src="http://villagetelco.org/wp-content/uploads/2009/06/mp_box_lid.jpg" alt="Mesh Potatoes mounted on box lids" title="mp_box_lid" width="450" height="338" class="size-full wp-image-214" /><p class="wp-caption-text">Mesh Potatoes mounted on box lids</p></div><p>Having secured the antenna connector I brought Wifi up.  I thought I would take the small, sensible step of trying to associate with my home Wifi network first.  It was all looking good until my MP seemed to slow down then stop responding entirely.  Then my laptop (also connected via Wifi) started to slow down and lost Internet connectivity.  Oops, routing loop between Ethernet and Wifi on the Mesh Potato!  Didn&#8217;t know you could bring down a whole network that way.</p><p>As Wifi was coming up automatically on boot it was hard to stop, so I ended up re-flashing the router and going straight to <a href="http://www.open-mesh.org/" onclick="urchinTracker('/outgoing/www.open-mesh.org/?referer=');">Batman</a>.  This came up straight away and I had two MPs and a Nanostation happily meshing with each other.</p><p>The blinking of the two Wifi lights as batman sends out messages every second is mesmerising <img src='http://villagetelco.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p><p><strong>Voice Over B.A.T.M.A.N.</strong></p><p>After a bit of messing around with Asterisk conf files I made a MP-MP phone call over Batman and the Mesh Network.  The audio in one direction was fine but a little distorted in the other direction.  After a break of a few days I took a look at this bug.  The problem ended up being the Asterisk channel driver, it was accidentally sending both RTP audio and ring tone to the FXS driver during a call, i.e. ring tone wasn&#8217;t being switched off when the call was answered.  This was overloading the FXS driver FIFO and causing distorted audio.  Curiously, it worked OK until I tried a call over Wifi.  </p><p>Anyway I have fixed this bug now and tested a few different codec configurations over the mesh including ulaw, gsm with 20ms frames, and GSM with 80ms frames.  We can also make calls between a MP and a SIP phone connected to the Ethernet port of the MP.  The load av is around 0.5 during a call (using the GSM codec). </p><p>Here is a block diagram of the test setup.  The Laptop is used for monitoring.  It&#8217;s cool that I can ssh to the remote MP over the mesh network and mess with Asterisk conf files, run top etc.</p><div id="attachment_216" class="wp-caption aligncenter" style="width: 436px"><img src="http://villagetelco.org/wp-content/uploads/2009/06/mp_first_mesh_calls.png" alt="MP tests for first calls over the mesh" title="mp_first_mesh_calls" width="426" height="422" class="size-full wp-image-216" /><p class="wp-caption-text">MP tests for first calls over the mesh</p></div><p>The audio sounds great.  We can&#8217;t hear any echo, thanks to the <a href="http://rowetel.com/ucasterisk/oslec.html" onclick="urchinTracker('/outgoing/rowetel.com/ucasterisk/oslec.html?referer=');">Oslec</a> echo canceller which seems to run fine on this platform.  To stress the system a bit I tried ping flooding from my laptop.  This affected the audio quality but the call was still very intelligible.  Like driving under a bridge with a cell phone.  This is interesting &#8211; perhaps a mesh potato network will have a &#8220;soft&#8221; degradation of quality as network traffic increases.  Call quality will drop a little, but the network may not fall over.</p><p>The reliability of the Mesh Potato hardware has been remarkably good so far.  I left the prototypes running for about 5 days, and when I came back the mesh was still running, and picking up a phone gave me dial tone.  Can&#8217;t complain about that on hardware where the solder has barely cooled!</p>]]></content:encoded>
			<wfw:commentRss>http://villagetelco.org/2009/06/voice-over-b-a-t-m-a-n/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>First Mesh Potato Phone Call</title>
		<link>http://villagetelco.org/2009/06/first-mesh-potato-phone-call/</link>
		<comments>http://villagetelco.org/2009/06/first-mesh-potato-phone-call/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 06:50:26 +0000</pubDate>
		<dc:creator>drowe</dc:creator>
				<category><![CDATA[Mesh Potato]]></category>
		<category><![CDATA[ATA]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[VoIP]]></category>
		<category><![CDATA[WiFi]]></category>

		<guid isPermaLink="false">http://villagetelco.org/?p=201</guid>
		<description><![CDATA[Since the boot loader bugs have been tamed we have been making steady progress. Today I brought the FXS module drivers up, closely followed by Asterisk and the first Mesh&#8230;]]></description>
			<content:encoded><![CDATA[<p>Since the boot loader bugs have been tamed we have been making steady progress.  Today I brought the FXS module drivers up, closely followed by Asterisk and the first Mesh Potato phone call at 3:43pm today.</p><p><object width="425" height="344" data="http://www.youtube.com/v/bwn8RgKKbxk&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/bwn8RgKKbxk&amp;hl=en&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /></object></p><p>Almost exactly 1 year since the Mesh Potato project was kicked off at the first Village Telco workshop in June 2008.</p><p>Alen from Atcom has been closely following our steps, which has encouraged Elektra and I to write a <a href="http://wiki.villagetelco.org/index.php/Mesh_Potato_Firmware_How_To" onclick="urchinTracker('/outgoing/wiki.villagetelco.org/index.php/Mesh_Potato_Firmware_How_To?referer=');">Mesh Potato How To</a> on the <a href="http://wiki.villagetelco.org" onclick="urchinTracker('/outgoing/wiki.villagetelco.org?referer=');">Village Telco Wiki</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://villagetelco.org/2009/06/first-mesh-potato-phone-call/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://rowetel.com/images/mp/mp_first_call.avi" length="3612184" type="video/x-msvideo" />
		</item>
		<item>
		<title>Breathing Life into the Mesh Potato &#8211; Day 1</title>
		<link>http://villagetelco.org/2009/06/breathing-life-into-the-mesh-potato-day-1/</link>
		<comments>http://villagetelco.org/2009/06/breathing-life-into-the-mesh-potato-day-1/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 07:53:55 +0000</pubDate>
		<dc:creator>drowe</dc:creator>
				<category><![CDATA[Mesh Potato]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AR2317]]></category>
		<category><![CDATA[Atheros]]></category>
		<category><![CDATA[Phone]]></category>
		<category><![CDATA[WiFi]]></category>

		<guid isPermaLink="false">http://villagetelco.org/?p=171</guid>
		<description><![CDATA[Yesterday (Monday June 1) the courier arrived with the very first Mesh Potato (MP) prototype, which had been hand assembled by the good people at Atcom. This is always an&#8230;]]></description>
			<content:encoded><![CDATA[<div id="attachment_177" class="wp-caption alignright" style="width: 235px"><a href="http://villagetelco.org/wp-content/uploads/2009/06/image022.jpg"><img class="size-medium wp-image-177" title="The first Mesh Potato" src="http://villagetelco.org/wp-content/uploads/2009/06/image022-225x300.jpg" alt="The first Mesh Potato" width="225" height="300" /></a><p class="wp-caption-text">The first Mesh Potato</p></div><p>Yesterday (Monday June 1) the courier arrived with the very first Mesh Potato (MP) prototype, which had been hand assembled by the good people at <a title="Atcom home page" href="http://www.atcom.cn" target="_blank" onclick="urchinTracker('/outgoing/www.atcom.cn?referer=');">Atcom</a>.  This is always an exciting and risky time in the life of any hardware project, as you don&#8217;t <strong>really</strong> know if it&#8217;s going to work.  In fact, there is a hell of a lot that could go wrong.  Like one solder ball under the Atheros BGA chip not soldered, or a nasty PCB or schematic design error that means another re-spin of the PCB and 1 month delay.  Or smoke might come out of the Atheros chip when you first apply power.  I have seen all of these on past projects&#8230;..</p><p>Fortunately Alen at Atcom had done some initial tests, like checking for the 3V3 and 1V8 power rails, and making sure the 40 MHz clock was present.  So we had some encouraging early signs of life.</p><p>My initial goal was to get the boot loader to run &#8211; this would prove that most of the AR2317 circuit is OK (CPU, RAM, flash etc).  I chose the boot loader image (ap61.rom) that we have been using on the DIR-300 router as this router uses the same Atheros AR2317 chip.  So I connected the <a id="aptureLink_Azyq77ITV3" href="http://en.wikipedia.org/wiki/JTAG" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/JTAG?referer=');">JTAG</a> cable.  The CPU was detected (excellent!) and the jtagspi software started flashing the boot loader.  This is a slow process (2.5 hours) using my home-brew JTAG cable, so I headed out for a nice Chinese lunch and a walk with my wife!  Alright, so we also went to the bakery and bought a custard filled cake.  You need energy to hack.</p><p>Two hours later I returned and tentatively connected the RS232 cable and power up the MP.  This is what I saw:</p><pre>No board config data found!+flash_hwr_init: Unsupported flash device - id=22FLASH: driver init failed: Driver does not support deviceSorry, FLASH config exceeds available space in FIS directoryCouldn't find valid MAC address for enet0. Using default!Invalid PHY ID1 for enet0 port0.  Expected 0x0243, read 0xffff/ar2317-prj/LSDK5.0.2.46/src/redboot_cobra/ecos/packages/devs/eth/mips/ar531x/ccEthernet eth0: MAC address 00:03:7f:e0:02:bfIP: 0.0.0.0/255.255.255.0, Gateway: 0.0.0.0Default server: 0.0.0.0RedBoot(tm) bootstrap and debug environment [ROMRAM]Non-certified release, version UNKNOWN - built 00:32:22, Aug  7 2007Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.Board: ap61RAM: 0x80000000-0x80800000, [0x80040760-0x807f1000] availableFLASH: 0x00000000 - 0x00000001, 0 blocks of 0x00000000 bytes each.RedBoot&gt;</pre><p>This is actually pretty good &#8211; the boot loader is running &#8211; with a few complaints about the 8M flash and Ethernet <a id="aptureLink_scoIonxiXN" href="http://en.wikipedia.org/wiki/PHY" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/PHY?referer=');">PHY</a>.  However a running boot loader means much of the hardware must be OK. Nice.</p><p>I have some <a id="aptureLink_eIAFcbCFo7" href="http://en.wikipedia.org/wiki/RedBoot" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/RedBoot?referer=');">RedBoot</a> hacking to do (to accommodate the 8M flash and Ethernet PHY) so the next step was to get the Ethernet up.  That way I can tftp new boot loader images rather than put up with 2 hour JTAG flash sessions.  Actually in hind sight I should have bought a commercial JTAG cable that can flash in 5 seconds.  However the Ethernet was dead (no link lights, ping didn&#8217;t work), and I didn&#8217;t like the look of those complaints about the PHY chip.</p><p>So I perused the DP83848I PHY chip data sheet.  I decided to probe a few pins on the PHY chip with my oscilloscope to see if it looked alive.  One pin I tested was the CLK_OUT pin 25, which should have a 25 MHz signal on it.  However it was silent.  Hmmmm, not good.</p><p>So I contacted Alen via IM and he confirmed that on other designs using that chip p25 definetely had a 25 MHz signal on it.  So I checked the second MP01 I had been sent.  No CLK_OUT signal either.</p><p>When both my MP01&#8242;s didn&#8217;t have the CLK_OUT signal I suspected it was a wiring/design error.  Well, it was just a guess really.  Telling these bug hunt stories in review it looks like the outcome was pre-ordained.  However at the time you are never really sure.  You usually go down many blind alleys, which results in frustration and lack of sleep shutting brain cells down!</p><p>Anyway clocks should usually come straight up without any software initialization.  So I just checked the reset/interrupt lines (in case the chip was being held in the reset state), then I checked the various power supply lines to the chip.   A-HA! One power supply line (pin 22 AVDD33) was not connected!  Via IM Alen then double checked his other designs and confirmed that yes, it was a bug.</p><p>When I added a wire to supply 3V3 to pin 22 CLK_OUT came up and the network link light started working.  Yayyyyyyy!</p><p>There is also a golden rule in hardware (and indeed software) development.  Anything you change will have bugs.  That PHY was changed from the reference design so it&#8217;s a natural source of bugs.  A bug &#8220;emitter&#8221; if you like.</p><p>Then it was time for some network tests.  Ping, and even tftp worked.  Very cool.  The default state of the PHY chip seems to be just enough to get basic network connectivity.  This means I can download new RedBoot images quickly as I modify for thew new flash and PHY.</p><p>It was getting late by this stage so I decided to call it a night.  So I emailed Elektra about where we were at and went to watch Top Gear which my three year old.  However our story does not end there.  Elektra was working hard while I was resting and sleeping.  When I woke up this morning she sent me several emails detailing how to set up the RedBoot development environment.  This is great &#8211; saves me a mornings work.  Amazing how working 12 hours apart (Berlin and Adelaide, Australia) can be helpful!</p><p>Right.  Time for some a fresh cup of coffee and some RedBoot hacking.</p>]]></content:encoded>
			<wfw:commentRss>http://villagetelco.org/2009/06/breathing-life-into-the-mesh-potato-day-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>FON versus Meraki</title>
		<link>http://villagetelco.org/2008/09/fon-versus-meraki/</link>
		<comments>http://villagetelco.org/2008/09/fon-versus-meraki/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 10:41:34 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[Village Telco]]></category>
		<category><![CDATA[ad-hoc]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[FON]]></category>
		<category><![CDATA[Meraki]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[WiFi]]></category>

		<guid isPermaLink="false">http://villagetelco.org/?p=53</guid>
		<description><![CDATA[Canadian researcher, Catherine Middleton, has published a paper entitled &#8220;Is it Good to Share?  A Case Study of FON and Meraki Approaches to Broadband Provision.&#8221;  It is available in PDF&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fon.com/en/" onclick="urchinTracker('/outgoing/www.fon.com/en/?referer=');"><img class="alignleft" title="FON logo" src="http://static.fon.com/images/en/en_logofon_1M.png" alt="" width="100" height="100" /></a><a href="http://meraki.com/" onclick="urchinTracker('/outgoing/meraki.com/?referer=');"><img class="alignright" title="Meraki Logo" src="http://meraki.com/wp/wp-content/themes/meraki15/images/logo.gif" alt="" width="123" height="84" /></a>Canadian researcher, <a title="Canada Research Chair profile of Catherine Middleton" href="http://www.chairs.gc.ca/web/chairholders/viewprofile_e.asp?id=2194&amp;UniversityID=22&amp;SubjectID=&amp;DisciplineID=&amp;Researcher=&amp;Keyword=" target="_blank" onclick="urchinTracker('/outgoing/www.chairs.gc.ca/web/chairholders/viewprofile_e.asp?id=2194_amp_UniversityID=22_amp_SubjectID=_amp_DisciplineID=_amp_Researcher=_amp_Keyword=&amp;referer=');">Catherine Middleton</a>, has published a paper entitled &#8220;<em>Is it Good to Share?  A Case Study of FON and Meraki Approaches to Broadband Provision</em>.&#8221;  It is available in <a title="PDF version of paper" href="http://www.cwirp.ca/files/CWIRP_FON_Meraki.pdf" target="_blank" onclick="urchinTracker('/outgoing/www.cwirp.ca/files/CWIRP_FON_Meraki.pdf?referer=');">PDF format</a> and the <a title="PDF of presentation slides" href="http://www.cwirp.ca/files/CWIRP_FON_Meraki_slides.pdf" target="_blank" onclick="urchinTracker('/outgoing/www.cwirp.ca/files/CWIRP_FON_Meraki_slides.pdf?referer=');">presentation</a> is also downloadable.</p><p>What <a title="FON Home Page" href="http://www.fon.com/en/" target="_blank" onclick="urchinTracker('/outgoing/www.fon.com/en/?referer=');">FON</a> and <a title="Meraki Home Page" href="http://meraki.com/" target="_blank" onclick="urchinTracker('/outgoing/meraki.com/?referer=');">Meraki</a> have in common is that they are both consumer-deployed infrastructure and both trade on the benefit of <a title="Wikipedia entry for &quot;network effects&quot;" href="http://en.wikipedia.org/wiki/Network_effects" target="_blank" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/Network_effects?referer=');">network effects</a>.   The paper presents a useful analysis of both organisations but strains a bit in making an effective comparision between them because the models are so different.  FON is a distribution network of &#8220;Foneros&#8221; who share their Internet connections via WiFi in exchange for gaining low-cost access to other Fonero access points.  Thus FON access points can be anywhere there is an Internet connection.  Meraki on the other hand depends on nodes being connected to each other via a mesh network protocol.  You can see how it is hard then to make a head-to-head comparison.  I would be more interested in seeing a head-to-head comparison of Meraki and <a title="OpenMesh Home Page" href="http://www.open-mesh.com/" target="_blank" onclick="urchinTracker('/outgoing/www.open-mesh.com/?referer=');">OpenMesh</a>.</p><p>I still found the paper very useful, particularly in its analysis of FON.  It points out the critical failing that FON doesn&#8217;t achieve anything like ubiquity in distribution and particularly availability of access points and consequently turn out to be not so useful to people who might want to take advantage of roaming access.  The notion for driving around a city looking for a live FON access point can hardly be very appealing.  It would be more interesting if FON were able to link up with a service like <a title="IPASS" href="http://www.ipass.com/" target="_blank" onclick="urchinTracker('/outgoing/www.ipass.com/?referer=');">IPASS</a> so that you could leverage access where you want it most in cafes and airports (well, those are my priority spots <img src='http://villagetelco.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .  However, it would probably be difficult to find a fit with IPASS&#8217;s purely commercial model.  Anyway, the take home for me about FON was the importance of ubiquity. The paper rates Meraki a little higher than FON because it achieves &#8220;local ubiquity&#8221; which in the context of Meraki is probably as good as is needed.</p><p>Middleton argues that Meraki&#8217;s model, while more successful than FON&#8217;s, still suffers from a reliability issue because the infrastructure is dependent on the community.  She highlights an incident with Meraki where a number of people turned off their routers in order to plug in Christmas trees causing the otherwise robust, redundant mesh network to fail.  It highlights the fact that a Meraki user can&#8217;t be a simple consumer, they need to be a participant in the community.  This may not be a bad thing.  <img src='http://villagetelco.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p><div id="attachment_54" class="wp-caption alignleft" style="width: 310px"><a href="http://www.cwirp.ca/files/CWIRP_FON_Meraki_slides.pdf" onclick="urchinTracker('/outgoing/www.cwirp.ca/files/CWIRP_FON_Meraki_slides.pdf?referer=');"><img class="size-medium wp-image-54" title="Fon - Meraki Matrix" src="http://villagetelco.org/wp-content/uploads/2008/09/fon_meraki-300x238.gif" alt="http://www.cwirp.ca/files/CWIRP_FON_Meraki_slides.pdf" width="300" height="238" /></a><p class="wp-caption-text">http://www.cwirp.ca/files/CWIRP_FON_Meraki_slides.pdf</p></div><p>However, Middleton&#8217;s final assessment is that both FON and Meraki are challenged when it comes to going to scale.  She argues that there is a need for cental coordination that is not easily achieved through the ad-hoc nature of community efforts.  This is something of a curious conclusion as the Internet itself is an ad-hoc network that succeeds very well.  It may be that FON and Meraki are doomed precisely because they attempt to have centralised control over their networks.  It may be that a <em>federated</em> model that links heterogenous community WiFi initiatives may be more successful; a situation in which an <a title="Ils Sans Fil home page" href="http://http://www.ilesansfil.org/tiki-index.php" target="_blank" onclick="urchinTracker('/outgoing/http_//www.ilesansfil.org/tiki-index.php?referer=');">Île Sans Fil</a> user in Montreal might have privileges on a FON or a Meraki network.</p><p>So what does this mean for the Village Telco?  I think the Village Telco is likely to address the key sustainability issues that Middleton raises about these networks.  I like the general criteria (pictured at left) that she comes up with to assess the networks.  I think they will be useful benchmarks to keep in mind as the Village Telco evolves.</p>]]></content:encoded>
			<wfw:commentRss>http://villagetelco.org/2008/09/fon-versus-meraki/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic
Object Caching 828/905 objects using disk: basic

Served from: villagetelco.org @ 2012-02-04 09:37:45 -->
