"It only takes 800 milliwatts, compared to about 12 watts if it's implemented on the laptop," Bletsas says. With some additional optimizations, OLPC can cut the power needed to 400 milliwatts in some cases.
In late 2006, semiconductor maker Marvell hired Cozybit, an embedded wireless consultancy, to implement and tune a very early version of the 802.11s mesh protocol for OLPC. The code was running on OLPC laptops in early 2007.
The mesh 'gotchas' emerge
One issue that quickly emerged with operational code was that some of the most common consumer-grade access points misinterpreted some packets it picked up from 802.11s nodes, whether the access point connected to the mesh or not, says Osama Aboul Magd, adviser on strategic standards, Office of the CTO, Nortel, and actively involved in identifying this problem. The 802.11s nodes used the 802.11 frame format called wireless distribution system (WDS). Receiving a WDS packet, the conventional access point started broadcasting to all clients, as it normally would, creating in effect an unintentional denial-of-service attack, Magd says.
The OLPC and Nortel proposed the Task Group consider tweaking the frame format so 802.11s nodes and existing access points could work in harmony.
The OLPC team also saw an opportunity to leverage Layer 2 information from the network for use by higher-layer applications. Opportunistic mesh networks by definition lack a central directory. Instead, a mesh node uses a discovery technique to identify its neighbors and chart data paths through the mesh. By adding a bit more information to these exchanges, and making the information accessible to higher-layer functions, mesh nodes can not only learn of their neighbors, but about their neighbors, Bletsas says, identifying one as file server, another as an Internet gateway. OLPC has started talking with the Task Group about doing this in some standard way.
Taking mesh to open source
In September 2007, the developers at Cozybit, with sponsorship from OLPC and Nortel, launched the open80211s consortium, dedicated to creating an open source implementation and reference design of the most recent 802.11s draft. The timing was right. "There was a high-quality 802.11 stack donated to the Linux community," says Cozybit President and CEO Javier Cardona. "We saw it would be relatively easy to modify it, to support some of the features of the up-and-coming 11s standard."
So far, about half of the 802.11s draft is now in code, including dynamic path selection, frame forwarding, and peer link management. Two missing pieces include security and power conservation, Cardona says. Earlier this year, the source code was accepted for testing by one branch of the Linux Wireless group, which maintains the wireless subsystem for the Linux kernel, Cardona says. That's a key first step toward eventually including the open 802.11s code as part of the kernel.
At OLPC's behest, Cozybit is developing a driver and firmware, due out in early June for beta testing, to let the OLPC laptop radio now run the open source 802.11s code.