Edit: FabFi 2.0 was deployed as of September, 2009, making the network architecture description as described in "Overview" obsolete. (We can now do point-to-point and true meshing). This page will be updated soon...
FabFi Technical Summary
Overview
FabFi is an extensible point-point long-range wireless broadband transmission infrastructure. It operates on the simple principle that by focusing the energy from a weak off-the-shelf WiFi transmitter into a narrow beam, one can communicate directionally for very long distances (physics is cool!). In practice, we mount commercial wireless routers on a fabbed RF (Radio Frequency) reflector with a wire mesh surface that redirects the RF energy. Reflector gain depends on the materials used and the size of the reflector, but has been measured as high as 15dBi with some of the current designs.

A single link in the FabFi system consists of two reflectors with attached wireless routers, called the AP (short for access point) and the STA (short for station). The AP is the upstream end (closer to the server / internet) and the STA is downstream (clsoer to individual hosts / users). They system is configured for individual links to be combined in numerous ways, creating links that cover very long distances or service many users.


FabFi reflectors use the property of parabolic shapes (Y=cX^2) that a when a vector travelling perpendicular to a parabola's directrix hits the surface of the parabola it is reflected to the parabola's focal point. (see Mathworld for more on this...) By attaching a RF reflective material such as window screen or chicken wire to a frame that forms the shape of a parabola in three dimensions and then attaching our wireless router to the reflector at the focal point we can precisely concentrate and direct the RF energy coming from the router in transmission and efficiently collect RF energy from the paired router in reception.
Building Reflectors
An essential component of the FabFi system is it's flexibility to be implemented with whatever materials are locally available. All that's required is the ability to print out a 2D design file and create the pieces out of whater material you can find. If you have a Fab Lab, you can use a laser cutter or CNC wood router to create reflectors directly from wood, metal or acrylic, but there's no reason they can't be molded from clay, carved from stone or chiseled out of a block of ice as long as there's a way to attach a metallic RF reflective surface to the front.
Three different reflector designs were implemented in Jalalabad, a large 4' wooden version, a 2' wooden version and an 18" acrylic version. Reflective surface materials included chicken wire, woven stainless steel mesh and window screen.

FabFi uses an open source 3rd party firmware called openWRT on all of its routers. Taking advantage of openWRT's linux-based flexibility, FabFi devices can run a wide range of network monitoring and self-diagnostic tools, just in case we want to do a little science when we're done updating our facebook pages from the middle of nowhere. (posting status updates from the top of the water tower never gets old...) The linux kernel also allows automated configuration scripts, which can be found our "technical project wiki" as part of the FabFi 1.0 release. All of our development and testing has been done using the Linksys WRT54GL, which can be had for anywhere between $50 and $65 depending on available promotions.
PowerIn developing places, reliable power is an ongoing challenge. Conveniently, the WRT54GL runs on 12VDC, and can be easily powered directly from a car or small engine battery. Future development is planned for a bare-bones 12V-12V UPS that can be integrated into installations by plugging the provided 100-240VAC switching power brick into the fabbed UPS and the UPS into the router. Wind and other locally harvested powered charging circuits are a parallel FabLab project.
The Fab FutureIn addition to power, a growing FabFi system will face a number of concerns including longevity of hardware/weatherproofing, cooling (it reaches 130degF in Jalalabad in the summer), and most importantly scaling. With the current design and infrastructure, the FabFi link to Jalalabad can only provide about 13.5Mbps of real throughput. Future development must focus on meshing and bandwith aggregation that can leverage multiple uplinks, combine slow connections for greater bandwidth and tolerate node failures. Follow our progress with these and other projects on the FabFi Blog.




