If internet service providers go down, how are we going to get our devices to communicate? Project Byzantium aims to create an “ad-hoc wireless mesh networking for the zombie apocalypse.” It’s a live Linux distribution that makes it easy to join a secure mesh network.
[B1tsh1fter] has put together a set of hardware for running Byzantium on Pis in emergency situations. A Raspberry Pi 2 acts as a mesh node, using a powerful USB WiFi adapter for networking. Options are provided for backup power, including a solar charger and a supercapacitor based solution.
The Pi runs a standard Raspbian install, but uses packages from the ByzPi repository. This provides a single script that gets a Byzantium node up and running on the Pi. In the background, OLSR is used to route packets through the mesh network, so that nodes can communicate without relying on a single link.
The project has a ways to go, but the Raspberry Pi based setup makes it cheap and easy to get a wide area network up and running without relying on a single authority.
I almost want a disaster to try this :)
Comcast and Verizon are working hard to create one for you.
would this be the way to go for an “in the field” network?
I realise I COULD take an AP camping, but it’s one more device I’ll need to power.
Better would be to incorporate this in ddwrt, openwrt so we all had it all the time….
That’s what I thought, too.
Also it would make more sense to use an openwrt compatible outdoor router, maybe one of the ubiquity nanostations, instead of a Raspi and a cheesy USB outdoor WiFi adapter. Would be cheaper and more reliable.
Not every problem has to be solved with a Raspberry Pi, especially not when other cheap and highly optimized solutions already exist.
They have been using Ubiquity’s and WRT54Gx along with many others for years. This is just an extension to what is already out there. Love to find more WRT54GS v1.1-to-3’s. Looking at garage sales.
Most wireless routers have MIMO and some has dual band and support higher speeds. Once you add up the real cost and performance of all the pieces, the routers might be a better option than RPi + USB wireless dongle.
OpenWRT already has olsrd in their repository, so you _can_ have it all the time. Project Byzantium was designed to interoperate with Commotion Wireless networks, which build on top of OpenWRT (if that’s your preferred hardware). We just tried to fill in the gaps with cheaper and/or more readily available hardware than custom specialty routers.
Check out commotionwireless.net
It looks like he’s using a directional patch antenna to get longer range – wouldn’t this be a problem for mesh networking, where you would need a separate antenna for each node you want to connect to?
I think it’s an artefact of having to use such a useless low-power standard as Wifi. You have to get every W/M2 or whatever you measure the field in, to the receiver as you can. Though as a handy side-effect, it means the bandwidth in all the directions it’s NOT transmitting in, is kept free for others. Narrow beams will probably make it more usable than having to divide a small number of channels into non-overlapping cells, while also sharing with every other Wifi radio in the area.
It’s a clever hack, but still Wifi is really the worst kind of radio you can use for this, it’s legal status, and I suppose the mass-produced cheapness, are great, but technically abusing a very-short-range radio system to make a mesh is pretty awful. An alternative is lasers or IR, also unlicensed (except for the safety re lasers / blinding people). But that’s a hack as well. I wonder what’s the longest range you could do with a big lot of IR diodes and some telescope-type equipment?
Allowing different types of connection than Wifi radio to fit in seamlessly would be handy as well. Post-apocalyptic segments of dead phone or power line might do for networking over the countryside (though even now keeping scumbags from nicking anything copper they can get their hands on is a problem). The OSI model as a whole is written with flexibility like this in mind, I wonder if this mesh would support different types of medium, each with their own driver? Heterogeneity is a big thing in Mad Max world from architecture to car maintenance.
Actually, thinking of Mad Max world, it’s not like the FCC would be a bother anymore. Unless they sent patchily-made helicopter gunships after you. In case it DID happen, a plan on what radio standards are best to use to interoperate, regardless of laws, might be handy. The early Apocalypse-net RFCs will probably be written on napkins and distributed by crazy motorbikes with whirling blades. The content will mostly be how best to connect up the Commodores and Spectrums that survived the EMP.
The early Internet managed with much less powerful computers. Porn won’t be up to much though.
what would save the world is to put bits of it everywhere in the great internet, so that if the network falls each separate segment would still be able to connect through the created overmesh
such a project would be a winner entry as if the world ever collapses, it would enable us to recover, use and share data and research as well as spread ideas and information, saving the world a thousand years of obscurancy!
You can start by grabbing a copy of the Wikipedia DB: http://en.wikipedia.org/wiki/Wikipedia:Database_download
already have one (~11GB), + image database (~80GB). But its not that important, its not like all the libraries will burn to the ground, not to mention you wont need to make anything for the rest of your life – everything will be simply laying around.
Trim off the Star Trek and all the exhibitionists filed under “Human Genitals” and it’ll probably fit in 500K.
quote from the FAQ
To be a mesh client — that is, to use a mesh to communicate — your device needs to be able to enter ad-hoc network mode. All laptops and PCs are capable of entering ad-hoc mode. Many mobile devices (smartphones, tablets, MP3 players) are capable of entering ad-hoc mode as well. Ad-hoc mode may require you to install extra software on your mobile device, usually for the purpose of wireless tethering.
You can also attach a conventional wireless router to a Byzantium node and serve web applications to wireless client devices. The clients need not be in ad-hoc mode. They can connect to the Byzantium node through the router as if they were connecting to any ordinary Wi-Fi access point.
so…. considering most android devices as far as i know have no option to connect to ad-hoc wireless (at least not if they are unrooted), then i’d need to connect the byzantium computer (raspi or not) to a router via ethernet…
holy shit…. would it be that hard to use 2 wifi adapter, one for mesh intercommunication and one for setting up an actual AP mode wifi hotspot?
I’m going to go with “no” and expand on that with “it would not be that hard”. Further to that I will add “why don’t you give it a go?”
It’s dangerous to go alone. Take this: http://wiki.stocksy.co.uk/wiki/Multiple_SSIDs_with_hostapd
Android’s long-standing Bug 82. Yeah, it sucks.
It’s entirely possible to add a second WiFi radio, and the Byzantium devs do that all the time. We just haven’t gotten around to building a convenient interface to allow end users to do the same. But if you know your way around Linux wireless networking I’m sure you could figure it out.
Commotion Wireless already has this problem solved, but you need to buy some fairly specific routers to run their software.
This is a good idea, and a popular thing to do, but I can’t help thinking Wifi is completely unsuited to it. It’s not what it was designed for, or is any good for. If you boost the range too much, you risk interfering enough that the small amount of bandwidth is swamped.
There really ought to be some kind of longer-distance data radio standard. Like the CB thing mentioned here a few days ago. Hopefully with sensible radio, these hacks will become practical.
I’ve seen a guy used IR power LEDs and Fresnel lenses, with hacked-up NICs, to get a mile in free air. But again it’s not really enough. Perhaps if we get a long or medium-range radio format, we’ll have to cut down on data somewhat. There’s already both-ends compression technology, that, ie recompresses JPEGs to a much smaller size (at the cost of quality of course). Might be it’ll need another type of web page, like mobile devices use, tuned to lower bandwidth.
Should have called it “Phoenix” or something…. or “Znet”
It’s named for the Byzantine Generals’ Problem: http://en.wikipedia.org/wiki/Byzantine_fault_tolerance
Sound like the international version of the german freifunk, which can be driven on portable atheros devices.
http://freifunk.net/en/
What about DNS?
For a service like this to take off it needs to offer something that the normal internet doesn’t offer. Could be security, fault tolerance, anonymity – something!
You folks really don’t read the source material.
Taken straight from the FAQ:
“We use Avahi to announce services on the mesh. Other mesh nodes pick up the announcements and add them as links on their frontpages. Other configuration information (like gateways and DNSes) are announced on the mesh as well.”
Why not just compile OpenWRT with ath10 support on a bcm280X target? Make sure to select support for 802.11s and BATMAN Advanced. This has already been done and I realized this 3 years ago. Will NOT work with Broadcom radios due to the closed source drivers. Will work with Broadcom processor with Atheros radio attached…
What about integrated Atheros SoCs like the venerable AR9331? What does the RasPi do that a dedicated (and cheaper) router can’t?
This has been done before, by many people and frankly in a more useful way. One that gets regular use among HAM radio enthusiasts for emergency communication (ACTUAL USE) is the Broadband HAMNET which uses modified OpenWRT firmware on standard wireless routers. The big advantage of such routers is that the actual computers used do not need any ‘special’ configuration. Just use Ethernet cable to attach to a wireless node.
HAMNET is for and by hams. This is for and by anyone (amateur radio operator or not).
Since the concept was for a ‘Zombie Appocolypse’ the FCC isn’t going to be around to complain. My point was that for a truly use mesh network to easily connect ‘real’ computers the HAMNET or other similar projects would be a better choice.
As to the restrictions to HAMS only.. $15 and about 30 minutes of your time is all it takes to get a licence suitable to use HAMNET equipment. Somthinng no reader of this blog should have a problem doing.
Yes, it has been done before, we didn’t do much of anything new. We just tried to make it easier for less-technical people to get up and running.
As virtualadept points out, HAMNET is intended as a HAM-only network. In fact, it would be illegal for an unlicensed operator to connect to the network or even for their traffic to be forwarded through the network.
If you’re comfortable with OpenWRT, all the packages we used are already in their repository. Just configure your router with olsrd and you’re good to go. That’s the basis of Commotion Wireless, and we designed Byzantium to interoperate with their network.
Getting a HAM license to use HAMNET is likely less time-consuming for readers of this blog then it would be to learn to configure OpenWRT without prior experience.
Also, in a zombie apocalypse, no FCC…
We don’t literally expect to be deploying this in a zombie apocalypse. The point is to assist with the more common, less apocalyptic emergency situations, as we did in the aftermath of Hurricane Sandy.
Even if you discard the licensing requirement for HAMNET, they’re actually using the exact same software that we are. All they’re doing differently is running 802.11 at higher power than you can unlicensed and sometimes frequency-shifted to other bands (such as 3GHz). But they’re using the same radios, the same signaling, and even the same routing protocol.
We know, we’re HAMs and we’ve worked with local HAMNET groups. Their solution isn’t “superior”, it’s congruent.
Well something similar is this great project: https://wlan-si.net/en/
and next week is BattleMesh https://wlan-si.net/en/blog/2015/03/29/announcing-battlemesh-v8-in-maribor-slovenia/
There’s also The Serval Project, that does mesh networking on android phones and repeater nodes using OpenWRT and both wifi and long-distance 915MHz links.
http://developer.servalproject.org/dokuwiki/doku.php
OK, shall we do diaries then? Where are we this time? Ah, going by your face, I’d say it’s early days for you, yeah? So, um – crash of the Byzantium. Have we done that yet?
This topic has been of long intrest to me. Since the days of fidget. Thrift stores are full adsl modems. There are miles of phone lines installed. Clear tutorials on modifying the equipment to communicate with other equipment . As with power production a hybrid system of equipment will be most resilient. In an apocalypse situation we will be faced with creating most of the infrastructure from available parts. The main need software wise is to be using existing base protocols so that each device link can talk to each other. Each node will also have the ability to store, forward and pick up were it left off. Hamnet and fidonet both have this feature.