Skip to content

Commit

Permalink
+ docs
Browse files Browse the repository at this point in the history
  • Loading branch information
simplymathematics committed Aug 2, 2018
1 parent 25c33c3 commit ae97559
Show file tree
Hide file tree
Showing 19 changed files with 25,842 additions and 1 deletion.
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
# Federation of Decentralized Documentation

## Fodd, Swedish for Food
This repository is a compilation of all of the mesh network documentation. It is a nested repository, which means that as the groups update their repositories, we will update them here.

## List of Mesh Networks



### Philly-mesh (Philadelphia, Pennsylvania)
* philly-mesh folder
* maintains list of 802.11s-adapters in hardware folder

### Tomesh

* has done a lot of work on governance
* also has some radio test data
## Funding

## Governance
Expand Down
251 changes: 251 additions & 0 deletions hardware/nycmesh/How to Start a Community Network
Original file line number Diff line number Diff line change
@@ -0,0 +1,251 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width initial-scale=1">
<title>How to start a community network</title>
<meta name="description" content="Here are some notes and ideas on how to start a community network.">
<link href="/mesh.ico" rel="shortcut icon" type="image/x-icon">
<link href="/apple-touch-icon-180x180.png" sizes="180x180" />
<link href="/icon-hires.png" rel="icon" sizes=192x192 />
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="http://nycmeshnet.github.io/blog/how/">
<link rel="alternate" type="application/atom+xml" title="NYC Mesh" href="http://nycmeshnet.github.io/feed.xml" />
</head>

<body class="blog">
<div id="banner">
<img src="/assets/images/banner.jpg" alt="Heat map" width="1500" height="500">
</div>
<nav>
<a href="/" class="logo">
<img src="/assets/images/logo.png">
NYC Mesh
</a>
<div class="mainnav">

<a href="/map">Map</a>
<a href="/blog">Blog</a>
<a href="/faq">FAQ</a>
<a href="/join">Join</a>
<a href="/donate">Donate</a>
<div></div>
</a>
</div>

<div class="title-container">
<div class="title">

<div class="tags">

</div>

<h1>How to start a community network</h1>
<p class="sig">
<!-- <img src="http://nycmeshnet.github.io/images/" alt=" photo"> -->


<img src="http://nycmeshnet.github.io/assets/images/team/bhny.jpg" alt="Brian photo">by Brian, December 20, 2017

</p>

</div>

</div>
</nav>

<div class="content">
<p>Here are some notes and ideas on how to start a community network.</p>

<hr />

<p><strong>Research</strong></p>

<p>It is important to do some research first. There are a few really big community networks (mostly non-English speaking). The biggest is <a href="https://guifi.net/en/node/38392">Guifi</a> in Spain. Others include <a href="https://freifunk.net/en/">Freifunk</a> in Germany, and <a href="https://wlan-si.net/en/">Wlan Slovenija</a>. Follow those links and see what they are doing.</p>

<p>Guifi began on farms and gradually expanded across the country. They use hundreds of kilometers of fiber, and wireless in all modes- point-to-point (P2P), point-to-multipoint (P2MP) and mesh (MP2MP). Here is a good long <a href="http://www.cookreport.com/pdfs/march-april13diowireless.pdf">interview with Ramon Roca,</a> who started Guifi.</p>

<p>NYC Mesh has done many presentations that explain what we are doing. You can <a href="../presentations">watch videos and see the slides here.</a></p>

<p><strong>Essential Reading</strong></p>

<p><a href="http://wndw.net/book.html">Wireless Networking in the Developing World (WNDW)</a> is a great free book about designing, implementing, and maintaining low-cost wireless networks. http://wndw.net/book.html.</p>

<p>You need to know the basics of wifi and networking. The OSI layers, IPv4, IPv6, 2.4GHz vs 5GHz, wifi modes- infrastructure vs. ad-hoc (which is used by mesh routers) etc. This book covers all of that.</p>

<p>Community organizations with shared resources often fail. This is called the tragedy of the commons. Others succeed and have been successful for centuries. <a href="https://www.amazon.com/Governing-Commons-Evolution-Institutions-Collective/dp/B00DELQ2T0/ref=sr_1_3?">Governing the Commons, Ostrum</a> lists the principles that the successful collectives share. Design principles illustrated by long-enduring “common pool resources” (CPR) institutions-</p>

<ul>
<li>Clearly defined boundaries</li>
<li>Congruence between appropriation and provision rules and local conditions</li>
<li>Collective-choice arrangements</li>
<li>Monitoring</li>
<li>Graduated sanctions</li>
<li>Conflict-resolution mechanisms</li>
<li>Minimal recognition of rights to organize</li>
</ul>

<p><strong>Choose appropriate antennas, routers and firmware</strong></p>

<p>NYC Mesh is a hybrid network of point-to-point, point-to-multipoint (sector antennas), ethernet and mesh. It is important to pick the right solution for each networking problem.</p>

<p>Mesh usually uses different firmware from the factory firmware, and is good for the last mile as it re-configures automatically. If there is a mesh network on your block, often you can just velcro a NanoStation to your window and you are connected.</p>

<p>Point-to-multipoint sector antennas are good for getting high-bandwidth into neighborhoods. Put one or more of these on a tall building. You don’t need to flash these with mesh software, just use the factory software such as AirMax, usually set in “bridge” mode.</p>

<p>Point-to-point is used to go long distances often with expensive equipment such as an AirFiber pair.</p>

<p>For mesh protocols use a BATMAN protocol such as bmx6 or batman-adv (bmx7 is still experimental). There are prebuilt packages- Libremesh, qMp and Gluon. We use <a href="http://qmp.cat">qMp</a>. Don’t try creating your own, just modify an existing package to your configuration. <a href="https://libremesh.org/">Libremesh</a> has been very active lately and has support for a large range of routers. We are currently trying this as well.</p>

<p><strong>Install your first node</strong></p>

<p>Some groups never get around to installing anything. Just go and install your first node to prove you can. Set up a public access point in a cafe or other meeting place. <a href="https://www.schneier.com/blog/archives/2008/01/my_open_wireles.html">Leave the router open</a>, and set the SSID to “-Our Name-“ (the first dash means it will be at the top of the list of SSIDs). With each successful install you get experience, publicity and more members joining.</p>

<p><strong>Online collaboration</strong></p>

<ul>
<li>
<p>Chat software (Slack)</p>
</li>
<li>
<p>Meeting (Meetup)</p>
</li>
<li>
<p>Planning (Trello)</p>
</li>
<li>
<p>Build your website with a map, join form, blog and your <a href="https://nycmesh.net/ncl.pdf">commons license</a></p>
</li>
<li>
<p>Tweet and get local news involved. Local news gets stories from the hashtags for their area.</p>
</li>
</ul>

<p><strong>Commons license</strong></p>

<p>The <a href="https://nycmesh.net/ncl.pdf">commons license</a> is important as it is has the rules to help the network sustain and expand. The basic idea is that anyone can join the network but they also must agree to not harm the network and also to extend the network by letting other people join their node. It has a similar function to the GNU GPL license for open source software, where you are free to use the software but must share the changes you make to the code.</p>

<p>The basic tenets are:</p>

<ul>
<li>
<p>Participants are free to use the network for any purpose that does not limit the freedom of
others to do the same.</p>
</li>
<li>
<p>Participants are free to know how the network and its components function.</p>
</li>
<li>
<p>Participants are free to offer and accept services on the network on their own terms.</p>
</li>
<li>
<p>By joining the free network, you agree to extend the network to others under the same conditions.</p>
</li>
</ul>

<p>As the network grows, people may want to build businesses around the network. This is generally a good thing as the businesses will need the network to be stable and will help in doing this. The license will prevent any business from closing up the network and unduly profiting from it.</p>

<p><strong>Meetup spaces</strong></p>

<p>Get a regular space for meetups. There are offices that will donate their space for free after work hours. These are good for general meetups. You should also have technical meetups in makerspaces where you can configure routers and practice crimping ethernet cable etc.</p>

<p><strong>Install team</strong></p>

<p>Get a team of people together to do installs. These installs will mostly be weekends as that is when people are free during the day. The team has to know how to crimp and run cable, configure and align antennas, drill and install antenna mounts and drill through window frames.</p>

<p>Roof installs can sometimes be done using abandoned TV antenna masts. Otherwise you will need to install your own J-pipe mast or bracket using a drill, or use a <a href="http://wadeantenna.com/product-category/mounts-masts/">non-penetrating mast</a></p>

<p><strong>Whole buildings</strong></p>

<p>Try to get whole buildings to install a rooftop antenna and then run ethernet to the apartments. You want long term installs! Don’t connect rooftops unless a) multiple tenants OR b) person owns apartment OR c) person intends to stay very long time i.e. avoid students etc. who will move out!</p>

<p><strong>Gateways</strong></p>

<p>Plan your internet gateways. Initially you will probably use your home ISP connection (totally legal in this country). Eventually you may want a “supernode” with bigger bandwidth. An IXP or ISP may donate a connection, as DE-CIX and Packet.net did for us.</p>

<p>Another kind of gateway is a public wifi access point. By using directional routers you can extend the range of public access points very easily. Here are some instructions- <a href="../public-access-points">how to connect to a kiosk.</a>. This uses a NanoStation.</p>

<p><strong>Tall structures</strong></p>

<p>Tall structures are the fastest way to expand the wireless mesh. There are a few different types in a city and you need to try them all- housing association buildings, skyscrapers, <a href="../../leaflet/church.pdf">churches</a>, schools, libraries, existing antenna masts and building coops. Make specific <a href="../../leaflet/">presentations and handouts</a> for different types of structures.</p>

<p><strong>Supernodes</strong></p>

<p>Plan your first major gigabit install at an IXP or tower. This will have sector antennas (P2MP) and point to point. You may need a network engineer to help in their spare time. An IXP connection requires a network engineer familiar with BGP.</p>

<p>A sector antenna is basically a Wireless ISP (WISP) tower so WISP expertise is needed. The best online forum is the <a href="https://community.ubnt.com/">Ubiquiti community</a>, and the best organization in America is <a href="http://www.wispa.org/">WISPA</a>. The sector antennas can be a gateway and also bridge your mesh network and reduce the amount of hops. Try to not to be more than three hops from a gateway. Every hop halves the bandwidth and adds ~15ms of latency.</p>

<p>To get a long distance from a gateway use P2P setups- either cheap: 150Mbps such as a pair of LiteBeams, or expensive: gigabit such as a pair of AirFiber.</p>

<p>The most popular cheap outdoor routers are <a href="https://ubnt.com">Ubiquiti</a>. Other good companies are <a href="https://www.ligowave.com/">LigoWave</a>, <a href="https://mikrotik.com/">MikroTik</a>.</p>

<p><strong>Local mesh networks</strong></p>

<p>Besides connecting to a major tower like a supernode, you can build up a neighborhood network. This is usually based around a person who has strong connections to that area, and can be as simple as sharing your connection within a building using ethernet and mesh routers. Also putting a mesh router in your window to give access to a cafe or park across the street or a neighboring building.</p>

<p><strong>Computer networking groups</strong></p>

<p>Go to local <a href="https://www.nanog.org/">NANOG</a> and other computer networking groups. These people will understand what you are trying to do, and be very supportive. Some of them may want to join the group and help with the hardcore networking problems.</p>

<p>Talk to local WISPs and alternate ISPs. WISPs have the skills needed to make a fast wifi network.</p>

<p><strong>Fiscal sponsor</strong></p>

<p>Get a non-profit to be your fiscal sponsor (ISOC in your state etc.). This will make it easier to accept donations and get grants. Eventually you may want to form a non-profit organization.</p>

<p><strong>Grants</strong></p>

<p>Apply for grants! ISOC has a “Beyond the Net” grant which is specifically for community internet projects. Other grants and city RFPs will come up. It’s a lot of work but you should apply to everything you can.</p>

<p><strong>Donations</strong></p>

<p>Set up an easy to use donation page on your website. You will need to figure out a structure that can accept tax-deductible donations, like a 501(c)3 fiscal sponsor, or form a non-profit organization. You can use a service like Stripe to do credit-card processing.</p>

<p><strong>Collaborations</strong></p>

<p>Look for potential collaborations. Many computer networking companies are strictly business to business and will not see you as a competitor. They are often willing to donate to a community network. People that work at these companies will want to join the network and set up their own nodes.</p>


<footer class="footer">
<img src="../../assets/images/isoc-logo.png" align="right" style="width:180px;height:60px;"/>
This project was made possible in part through a donation from the Internet Society.<br><br>
<br><br>

<a href="https://www.youtube.com/channel/UC3FH_8A4SDtJbo5UWMhBteA?sub_confirmation=1"><img src="../../assets/images/social/youtube.gif" alt="YouTube" style="width:32px;height:32px;border:0;"></a>

<a href="https://www.instagram.com/nycmesh/"><img src="../../assets/images/social/instagram.png" alt="Instagram" style="width:32px;height:32px;border:0;"></a>

<a href="https://www.facebook.com/nycmesh"><img src="../../assets/images/social/facebook.gif" alt="Facebook" style="width:32px;height:32px;border:0;"></a>

<a href="https://twitter.com/nycmesh?ref_src=twsrc%5Etfw" class="twitter-follow-button" data-show-screen-name="false" data-show-count="false">Follow @nycmesh</a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<div class="mainnav">

<a href="/">Home</a>
<a href="/map">Map</a>
<a href="/blog">Blog</a>
<a href="/faq">FAQ</a>
<a href="/join">Join</a>
<a href="/donate">Donate</a>
<div></div>
</a>
</div>

</footer>
</div>
<script src="/assets/javascript/modernizr.js"></script>
<script src="/assets/javascript/jquery-1.11.0.min.js"></script>
<script src="/assets/javascript/bootstrap.js"></script>
<script src="/assets/javascript/scripts.js"></script>
<script src="/assets/javascript/map.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-56517898-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>
Loading

0 comments on commit ae97559

Please sign in to comment.