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.
- Marvell 88W8388
- Has onboard ARM 9 processor, ROM and RAM.
- 802.11b/g radio
- Dual adjustable, rotating diversity antennas ("Bunny Ears")
- Further details on the chip can be learned by reading Marvell adds TCP/IP offload support to WLAN chip
Tested with Build 76 by Quozl and JvC on OLPC hardware. Verified it still works on Build 81 by Scytacki. rminnich just tested and build 83 works. Teus confirms that build 91 works.
- Attach antennae (so as to prevent damage)
- Obtain the firmware file usb8388_A1_W8015FP14_FW2.bin from https://www.marvell.com/drivers/driverDisplay.do?dId=160&pId=38
- Rename the file to /lib/firmware/usb8388.bin
On builds later than 153 the firmware is already in the image. With build 179 and later NetworkManager with WEP should be working. In those builds all you need to do is click on the wireless strength icon on the upper right hand corner and select your network from the drop down menu. If the device is protected with a WEP key you will be asked to enter it. Subsequent boots of the device should automatically find and associate to the networks it has used before.
The result was that eth0 appeared in ifconfig, and the browser was able to access google.com, thanks to the automatic network configuration.
If you need to setup specific Essids or Keys, look at /etc/sysconfig/network-scripts/ifup-wireless for documentation, and add appropriate variables to ifcfg-eth0
If the security properties of an access point change, NetworkManager may be unable to access it. In that case you can remove or edit /home/olpc/.sugar/default/nm/networks.cfg
The Mesh wireless protocol it's an implementation of the 802.11s draft.