Wireless
Design Goals
OLPC's laptops will be deployed in places where there will be very little or no infrastructure at all. We wanted to make sure that the laptops could connect to other laptops in their vicinity regardless of the presence or not of connectivity infrastructure. We also wanted to help kids share Internet connectivity without any additional infrastructure.
It became very clear that the utility of the usual laptop wired connectivity options (ethernet, modem) will be very limited under those constraints and a relative waste of our limited bill of materials budget. Instead we have to concentrate our resources to increase the utility and functionality of the wireless network adapter.
To achieve our design goals we chose to add self organizing multihop (mesh) networking capabilities to the laptop's network adapter. The constraints imposed by our Mesh Network Details mandate the use of System on Chip (SoC) Wireless Adapter, with the mesh networking protocol running directly on the adapter's CPU.
Other wiki resources are:
Network Adapter
- Marvell 88W8388
- Has onboard ARM 9 processor, ROM and RAM.
- 802.11b/g radio
- Dual adjustable, rotating diversity antennae ("Bunny Ears")
- Further details on the chip can be learned by reading Marvell adds TCP/IP offload support to WLAN chip
Mesh Wireless
The Mesh wireless protocol is very nearly an implementation of the IEEE 802.11s draft.
User Experience
There is quite a bit of complexity to properly configuring the wireless network in the variety of use scenarios that the children will be encountering. Our bias is towards making efficient use of mesh networking, but in some situations, infrastructure mode will be used. In those cases, the laptop will offer mesh portal (MPP) services to other laptops in the vicinity. If no mesh or access point is visible, then the laptop will become a mesh point on Channel 1. An additional bias to our approach is to use Channels 1, 11, and 6 when possible. This is an efficient use of spectrum as it lets us use three channels with essentially no overlap.
The basic flow:
- Start with Channel 1
- Try DHCP
- If successful, then CONNECTED/DONE (DHCP)
- Try AUTOID
- If successful, then CONNECTED/DONE (AUTOID)
- Goto Channel 11
- Try DHCP
- If successful, then CONNECTED/DONE (DHCP)
- Try AUTOID
- If successful, then CONNECTED/DONE (AUTOID)
- Goto Channel 6
- Try DHCP
- If successful, then CONNECTED/DONE (DHCP)
- Try AUTOID
- If successful, then CONNECTED/DONE (AUTOID)
- Try last successful AP
- If successful, then CONNECTED; offer MPP/DONE.
- REPEAT DHCP/AUTOID loop on all channels.
- No connection? Become Mesh Point on Channel 1.
Rollover will reveal the difference between DHCP and AUTOID; IP address; Gateway; DNS;. AP or Mesh; ESSID; Channel Number; and Signal Strength (AP only).
- AP icon on Mesh View should distinguish between access points that are open vs. requiring a key.
- AP icon on Mesh View should distinguish between access points on Channels 1,11,6 and other channels.
- AP icon should indicate that you are offering MPP service to others.
- Ethernet icon should indicate you are offering MPP service to others.
From the Mesh View, you should be able to jump directly into Steps 1, 16, or 19 above (search for mesh, select AP, select mesh point).
Capturing wireless traffic on the xo
Here are the steps to capture wireless traffic on the xo:
- Pre-req:
yum install tcpdump killall NetworkManager
- Then:
echo $TRAFFIC_MASK > /sys/class/net/msh0/device/libertas_rtap ifconfig rtap0 up tcpdump -i rtap0 -s 1500 -w capture.dump
TRAFFIC_MASK bits:
Data frames: 0x1 Mgmt frames but beacons: 0x2 Beacons: 0x4
- Then open capture.dump with wireshark.
To interpret mesh traffic correctly, you will want to compile wireshark with this patch: https://cozybit1.dnsalias.org/~javier/patches/wireshark-0.99.5-fw-5.220.11-support.patch
Antenna Reliability
The antenna "ears" have been subjected to drop testing in both the open and close positions, and survive multiple drops onto concrete from desk height. They are made of rubber surface over a polycarbonate center section, allowing them to flex upon impact.
In the event of antenna breakage, there are two antennae. A laptop will continue to function satisfactorily with a single ear in a school setting, and should suffer only slight degradation in performance in more remote settings. The ear was redesigned late in the design process (C-build and later) to simplify repair --- replacing an ear now requires the removal of only six screws, thanks to a connector embedded in the rotary hinge.