Difference between revisions of "Mesh"

625 bytes added ,  23:05, 27 May 2014
reordered page and added to social overview
(updated descrip)
(reordered page and added to social overview)
Line 7: Line 7:
'''''Sudo Mesh is an all-volunteer organization building the People's Open Network, a resilient community-owned and -operated non-profit Internet infrastructure in Oakland.'''''
'''''Sudo Mesh is an all-volunteer organization building the People's Open Network, a resilient community-owned and -operated non-profit Internet infrastructure in Oakland.'''''


A mesh network is, in essence, free as in freedom alternative internet. Using low-cost routers mounted on rooftops and outside of homes, we're currently building the backbone of the mesh throughout the East Bay, from West Oakland to the Fruitvale BART and beyond!
A mesh network is, in essence, free as in freedom alternative internet. Using low-cost routers mounted on rooftops and outside of homes, we're currently building the backbone of the mesh throughout the East Bay, from Richmond to Berkeley, West Oakland to the Fruitvale BART and beyond!


Mesh networks are awesome because they don't depend on the existing centralized Internet Service Providers to function. Though they can be connected to the Internet as we know it now, a mesh network provides a decentralized mode of communication with our local community. We view mesh networks as a means of connecting to our neighbors, supporting local businesses, and enabling grassroots community collaboration. In the event of disaster or government censorship, an active mesh network is a resilient means of communication and sharing of information.
Mesh networks are awesome because they don't depend on the existing centralized Internet Service Providers to function. Though they can be connected to the Internet as we know it now, a mesh network provides a decentralized mode of communication with our local community. We view mesh networks as a means of connecting to our neighbors, supporting local businesses, and enabling grassroots community collaboration. In the event of disaster or government censorship, an active mesh network is a resilient means of communication and sharing of information.
Line 22: Line 22:


= Meetup Info =
= Meetup Info =
*Join the [http://lists.sudoroom.org/listinfo/mesh Mailing List!]
* Join the [http://lists.sudoroom.org/listinfo/mesh Mailing List!]
*We have weekly hack nights on Thursdays, 7:30-10pm at [[Getting_there|Sudo Room]]. The first three Thursdays of the month are work nights - so come by and jump in! General meetings for discussion and planning are Last Thursdays of every month. We plan to have local focus groups in the near future - watch this space or join the mailing list for details.
* We have weekly hack nights on Tuesdays and Thursdays, 7:30-11pm at [[Getting_there|Sudo Room]]. The first three Thursdays of the month are work nights - so come by and jump in!  
*Find us on IRC: #peoplesopen.net on [http://webchat.freenode.net/?channels=peoplesopen.net Freenode IRC]
* General meetings for discussion and planning are Last Thursdays of every month. We plan to have local focus groups in the near future - watch this space or join the mailing list for details.
*We generally take meeting notes at: https://pad.riseup.net/p/sudomesh
* Find us on IRC: #peoplesopen.net on [http://webchat.freenode.net/?channels=peoplesopen.net Freenode IRC]
* We generally take meeting notes at: https://pad.riseup.net/p/sudomesh
* See the [[Mesh/Minutes|Minutes]] page for the archive of past meetings.


= Crowdfunding campaign =
= How to Help =


In July 2013, we successfully concluded our bootstrap crowdfunding campaign on WePay to buy the first 100 wifi routers for the mesh! Thanks to all who supported with a donation. See [[Mesh/Purchases]] for details on how much was raised, who contributed, and what we've procured thus far with the funds!
In July 2013, we successfully concluded our bootstrap crowdfunding campaign on WePay to buy the first 100 wifi routers for the mesh! Thanks to all who supported with a donation. See [[Mesh/Purchases]] for details on how much was raised, who contributed, and what we've procured thus far with the funds!
Line 37: Line 39:
*Come to our work meetings in Oakland! (listed above).
*Come to our work meetings in Oakland! (listed above).
*Form a project and/or a neighborhood working group to create new and locally-relevant ways of plugging into the mesh.
*Form a project and/or a neighborhood working group to create new and locally-relevant ways of plugging into the mesh.
= Mesh pages =
*[[Mesh/ToDos]] - Tangible To Dos! Add some on, take some on!
*[[Mesh/Wishlist]] - List of hardware we'd love to experiment with!
==Design==
*[http://meshmap.sudoroom.org Map] - of potential nodes.
*[[Mesh/Website]] - Notes and documentation for the design of peoplesopen.net and meshthepla.net.
*[[Mesh/MeshApps]] - Local applications to run on the mesh!
*[[Mesh/Swag]] - Research on custom-printed t-shirts and other swag.
*[[Mesh/Stickers]] - Sticker design
*[[Ascii Art]] - for linux logins
==Technical Documentation==
*[[Mesh/Tracking]] - Problems and solutions related to tracking, logging and anonymity
*[[Mesh/WalkThrough]] - Easy how-to for setting up OpenWRT & BATMAN-adv on Ubiquiti routers
**[[Mesh/OpenWRT]] - Experiences with the OpenWRT router firmware
**[[Mesh/BATMAN-adv]] - Experiences with the batman-adv mesh protocol
*[[Mesh/Firmware]] - Everything related to our firmware
**[[Mesh/Firmware/Flash]] - How to install the sudowrt firmware based on openwrt with supported hardware
**[[Mesh/Firmware/Splash page]] - Splash page / Captive Portal
**[[Mesh/Firmware/Bandwidth shaping]] - QoS / Bandwidth shaping
**[[Mesh/Firmware/Zeroconf]] - Issues related to mDNS and DNS-SD
**[[Mesh/Firmware/MTU_issues]] - MTU issues
**[[Mesh/Firmware/Generating]] - How do we generate firmwares on demand
**[[Mesh/Firmware/Web Admin Development]] - Web admin development
*[[Mesh/Network topology]] - High-level explanation of the mesh network structure
*[[Mesh/Specs]] - Specs sheet on different access points
*[[Mesh/Frequencies]] - Information on different frequencies.
*[[Mesh/Software tools]] - List of useful mesh troubleshooting tools
*[[Mesh/Terms]] - Hidden Node, Fresnal zone, and other jargons
*[[Mesh/Power]] - Stuff about power usage, batteries and solar power.
*[[Mesh/Monitoring]] - notes about how to monitor systems
*[[Mesh/Spectrum]] - Different forms of spectral analysis
*[[Mesh/Hardware support]] - Officially and unofficially supported hardware / routers
*[[Mesh/Relay setup]] - Setting up a relay node
*[[Mesh/Exit setup]] - Setting up an exit node
*[[Mesh/Spectrum mapping]] - The setup we use for mapping local spectrum and wifi usage
**[[Mesh/Spectrum mapping/XO-1 Laptop]] - How to configure an XO-1 laptop for use with our spectrum mapping setup
* [[Mesh/Install]] - physical installation notes/stories
* [[Mesh/Diagrams]] - technical diagrams to support new outreach materials
==Operational==
*[[Mesh/Legal]] - How do we use exit nodes, relays and legal structures to protect node owners and ourselves?
*[[Mesh/Hosting]] - How are we hosting and what does it cost?
*[[Mesh/Backup]] - How do we handle backups?
*[[Mesh/Server security]] - How do we ensure server security?
*[[Mesh/Naming]] - What do we call ourselves?
*[[Mesh/Marketing]] - Inspiration and links to marketing materials in progress.
*[[Mesh/Purchases]] - Details on our purchases, made by either individuals or through our crowdfunded money.
*[[Mesh/Inventory]] - What we currently have.
*[[Mesh/Donations]] - List of donations
*[[Mesh/Decisions]] - Decisions on how to operate
*[[Mesh/Challenges]] - Challenges faced. Problems to be solved.
*[[Mesh/Checkouts]] - Who took what gear home
*[[Mesh/Funding]] - Ideas on funding structures and list of grants to apply for.
==Background Research==
*[[Mesh/Interviews with other meshers]] - In which we attempt to extract the results of their hard-won experience.
*[[Mesh/Other mesh projects]] - List of active and inactive meshes we know about
*[[Mesh/Documentation]] - Books, articles, wikis, blog posts.
*[[Mesh/Oakland]] - Information and resources pertaining to Oakland community organizations, wireless initiatives, policy and research initiatives
*[[Mesh/Other muni networking projects]] - Examples of progressive uses of muni-networks
= Firmwares / groups =
*[[Mesh/Freifunk]]
*[[Mesh/Commotion]]


= Technical overview =
= Technical overview =
Line 164: Line 98:
**(or 4 MB flash and a USB port with a USB drive attached)
**(or 4 MB flash and a USB port with a USB drive attached)


The firmware is currently only tested to be working on the older Atheros chipset (OpenWRT "atheros" architecture) but we're working on getting the newer Atheros chipsets working (OpenWRT "ar71xx" architecture).
The firmware is currently working on the older Atheros chipset (OpenWRT "atheros" architecture) as well as the newer Atheros chipsets (OpenWRT "ar71xx" architecture).


We don't support less than 32 MB of ram because OpenWRT itself doesn't support less than 32 MB of ram as of the 12.09 "Attitude Adjustment" release.
We don't support less than 32 MB of ram because OpenWRT itself doesn't support less than 32 MB of ram as of the 12.09 "Attitude Adjustment" release.
Line 176: Line 110:
=Social=
=Social=


==Community-Based Participatory Action Research in the San Antonio district of Oakland==
==Community-Based Participatory Action Research==
*We are currently researching existing community organizations in the San Antonio neighborhood for potential collaboration, and have established relationships with (and set up mesh nodes for) three grassroots organizations in the San Antonio neighborhood: Liberating Ourselves Locally (LOL), a makerspace run by and for people of color; Sustaining Ourselves Locally (SOL), a community garden and food justice advocacy and education space; and Cycles of Change, a community bike repair, advocacy and education space. Moving forward, we intend to expand the mesh through reaching out to grassroots organizations and local businesses, our process of designing and deploying mesh services guided by the needs and desires of existing community actors.
* We are currently researching existing community spaces across Oakland for potential collaboration, and have established relationships with several grassroots organizations in the San Antonio neighborhood as well as the [http://archive.org Internet Archive] (which has a 70ft tower in Richmond). Moving forward, we intend to expand the mesh through reaching out to grassroots organizations and local businesses, schools, libraries, etc: our process of designing and deploying mesh services guided by the needs and desires of existing community actors. See our [https://docs.google.com/spreadsheet/ccc?key=0Ao_Q7DQvNFT-dC1mVjlaeTVSckhrZUc4VjNvZ0dGTlE&usp=drive_web Community Outreach spreadsheet] to add organizations or contacts.
 
* The ethnographic research component of the project also involves interviewing local residents, designing and distributing community surveys, historical and political analysis, and asset mapping of existing and potential community resources.


*The ethnographic research component of the project also involves interviewing local residents, designing and distributing community surveys, historical and political analysis, and asset mapping of existing and potential community resources.
* Another key aspect of the project is working with [https://sudoroom.org/wiki/Mesh/Other_mesh_projects existing mesh groups] across the planet, [https://sudoroom.org/wiki/Mesh/Interviews_with_other_meshers learning from them through interviews], and [https://sudoroom.org/wiki/Mesh/Presentations collaborating at conferences] and through [https://www.newschallenge.org/challenge/2014/submissions/toward-a-network-commons-building-an-internet-for-and-by-the-people shared funding campaigns].


==Documentation of use cases and user stories==
==Documentation of use cases and user stories==
*Articulating use cases for mesh networks involves the creation of user stories based on interviews with local residents and participatory engagement with existing community organizations and groups. The research process will be transparently documented on a research wiki, incorporating interview notes, meeting minutes, an annotated bibliography, written analysis and visual infographics (for an example, see Jenny's current research wiki here: http://wiki.tidepools.co).
* Articulating use cases for mesh networks involves the creation of user stories based on interviews with local residents and participatory engagement with existing community organizations and groups. The research process will be transparently documented on a research wiki, incorporating interview notes, meeting minutes, an annotated bibliography, written analysis and visual infographics (for an example, see Jenny's past research wiki here: http://wiki.tidepools.co).
 
* This documentation is intended to support a model of open source technology design that is bottom-up in nature, rooted in the interests of those who would receive the greatest humanitarian benefit from the technology and participate intimately with the development process.


*This documentation is intended to support a model of open source technology design that is bottom-up in nature, rooted in the interests of those who would receive the greatest humanitarian benefit from the technology and participate intimately with the development process.
==Illustrated instructables for learning about networking==
* A major focus of the project is to experiment with recycled and donated hardware for the purposes of designing mesh solutions at minimal cost. Experimentation with various firmwares (eg; Commotion, Freifunk, Byzantium) and protocols (eg; OLSRd, batman-adv, Babel) using off-the-shelf and upcycled hardware (eg; donated routers and satellite dishes) will be extensively documented.  


==Illustrated instructables for adapting recycled/reused items for DIY hardware==
* Well-designed instructables/comics will incorporate use cases, user stories, and DIY building processes in an effort to engage everyday folks to experiment with mesh technology in their local neighborhoods. See also the [[Hackpack]] project toward teaching hacking skills to local teenagers.
*A major focus of the project is to experiment with recycled and donated hardware for the purposes of designing mesh solutions at minimal cost. Experimentation with various firmwares (eg; Commotion, Freifunk, Byzantium) and protocols (eg; OLSRd, batman-adv, Babel) using off-the-shelf and upcycled hardware (eg; donated routers and satellite dishes) will be extensively documented. Well-designed instructables/comics will incorporate use cases, user stories, and DIY building processes in an effort to engage everyday folks to experiment with mesh technology in their local neighborhoods.
 
* See our [[Mesh/Diagrams|Diagrams]] page for first drafts of instructables and diagrams of the network topology.


==Getting municipal actors to support the mesh==
==Getting municipal actors to support the mesh==
*Over time, we expect municipal actors (people working for local governments, libraries, schools, etc.) to see the mesh as an ally in efforts to bridge the digital divide. We are creating a [[why municipal actors should care about the mesh|short introduction]] to the project explaining why municipal actors should care about the mesh what they can do to support it.
*Over time, we expect municipal actors (people working for local governments, libraries, schools, etc.) to see the mesh as an ally in efforts to bridge the digital divide. We are creating a [[why municipal actors should care about the mesh|short introduction]] to the project explaining why municipal actors should care about the mesh what they can do to support it.


=Meeting Minutes=
= Mesh pages =
See the [[Mesh/Minutes|Minutes]] page.
*[[Mesh/ToDos]] - Tangible To Dos! Add some on, take some on!
*[[Mesh/Wishlist]] - List of hardware we'd love to experiment with!
 
==Design==
*[http://meshmap.sudoroom.org Map] - of potential nodes.
*[[Mesh/Website]] - Notes and documentation for the design of peoplesopen.net and meshthepla.net.
*[[Mesh/MeshApps]] - Local applications to run on the mesh!
*[[Mesh/Swag]] - Research on custom-printed t-shirts and other swag.
*[[Mesh/Stickers]] - Sticker design
*[[Ascii Art]] - for linux logins
 
==Technical Documentation==
*[[Mesh/Tracking]] - Problems and solutions related to tracking, logging and anonymity
*[[Mesh/WalkThrough]] - Easy how-to for setting up OpenWRT & BATMAN-adv on Ubiquiti routers
**[[Mesh/OpenWRT]] - Experiences with the OpenWRT router firmware
**[[Mesh/BATMAN-adv]] - Experiences with the batman-adv mesh protocol
*[[Mesh/Firmware]] - Everything related to our firmware
**[[Mesh/Firmware/Flash]] - How to install the sudowrt firmware based on openwrt with supported hardware
**[[Mesh/Firmware/Splash page]] - Splash page / Captive Portal
**[[Mesh/Firmware/Bandwidth shaping]] - QoS / Bandwidth shaping
**[[Mesh/Firmware/Zeroconf]] - Issues related to mDNS and DNS-SD
**[[Mesh/Firmware/MTU_issues]] - MTU issues
**[[Mesh/Firmware/Generating]] - How do we generate firmwares on demand
**[[Mesh/Firmware/Web Admin Development]] - Web admin development
*[[Mesh/Network topology]] - High-level explanation of the mesh network structure
*[[Mesh/Specs]] - Specs sheet on different access points
*[[Mesh/Frequencies]] - Information on different frequencies.
*[[Mesh/Software tools]] - List of useful mesh troubleshooting tools
*[[Mesh/Terms]] - Hidden Node, Fresnal zone, and other jargons
*[[Mesh/Power]] - Stuff about power usage, batteries and solar power.
*[[Mesh/Monitoring]] - notes about how to monitor systems
*[[Mesh/Spectrum]] - Different forms of spectral analysis
*[[Mesh/Hardware support]] - Officially and unofficially supported hardware / routers
*[[Mesh/Relay setup]] - Setting up a relay node
*[[Mesh/Exit setup]] - Setting up an exit node
*[[Mesh/Spectrum mapping]] - The setup we use for mapping local spectrum and wifi usage
**[[Mesh/Spectrum mapping/XO-1 Laptop]] - How to configure an XO-1 laptop for use with our spectrum mapping setup
* [[Mesh/Install]] - physical installation notes/stories
* [[Mesh/Diagrams]] - technical diagrams to support new outreach materials
 
==Operational==
*[[Mesh/Legal]] - How do we use exit nodes, relays and legal structures to protect node owners and ourselves?
*[[Mesh/Hosting]] - How are we hosting and what does it cost?
*[[Mesh/Backup]] - How do we handle backups?
*[[Mesh/Server security]] - How do we ensure server security?
*[[Mesh/Naming]] - What do we call ourselves?
*[[Mesh/Marketing]] - Inspiration and links to marketing materials in progress.
*[[Mesh/Purchases]] - Details on our purchases, made by either individuals or through our crowdfunded money.
*[[Mesh/Inventory]] - What we currently have.
*[[Mesh/Donations]] - List of donations
*[[Mesh/Decisions]] - Decisions on how to operate
*[[Mesh/Challenges]] - Challenges faced. Problems to be solved.
*[[Mesh/Checkouts]] - Who took what gear home
*[[Mesh/Funding]] - Ideas on funding structures and list of grants to apply for.
 
==Background Research==
*[[Mesh/Interviews with other meshers]] - In which we attempt to extract the results of their hard-won experience.
*[[Mesh/Other mesh projects]] - List of active and inactive meshes we know about
*[[Mesh/Documentation]] - Books, articles, wikis, blog posts.
*[[Mesh/Oakland]] - Information and resources pertaining to Oakland community organizations, wireless initiatives, policy and research initiatives
*[[Mesh/Other muni networking projects]] - Examples of progressive uses of muni-networks
 
= Firmwares / groups =
 
*[[Mesh/Freifunk]]
*[[Mesh/Commotion]]


=Web Resources=
=Web Resources=
1,196

edits