Posts Tagged ‘OLPC school wireless’

There has been a lot of conversation about the XO, the mesh network and connecting to wireless networks – developed countries are particularly interested because of all the existing infrastructure in place. In NYC, all public school classrooms have a Cisco wireless router broadcasting a wireless connection to their network (a hidden – maybe even cloaked SSID with a WEP password). It is a particularly difficult router for the XO to connect to; and I image a lot of other schools in the US have similar setups – so I will outline what we have tried, what works, and what doesn’t.

For those out there planning XO pilots in the states – a word of warning – get a couple for your tech department first and give them a couple weeks to play around…it takes a long time for figure out the best process to connect to existing infrastructure. Here’s what we have tried:

  • The most success we have had is with creating a simple python script that kills all network services and connects straight to the router. It works well, but unfortunately has a lot of negatives:
    1. The mesh is down
    2. Student have to go into terminal and type in “python wifi.py” to run this

The script is at the bottom of this post for anyone interested

  • Modify this file: /home/sugar/defaults/nm/networks.cfg (open terminal, type in “su -l” and type “nano /home/sugar/defaults/nm/networks.cfg”) and add this to the end of the file:

[your ssid here]
timestamp = 1201527916
bssids =
auth_alg = 2
key = your key here
we_cipher = 16

This works – sort of – we think our router is “cloaked” because it will show-up on the gorup wireless screen for a second and then disappear.

Here’s our little script. We installed “sudo” first (in terminal – “yum sudo install”) and then added the olpc user to “sudoers” file (google “sudoers file” and you’ll see how to play with this) so that students wouldn’t have to type in “su -l” each time they run the script:

import os,sys
os.system(‘sudo -i service NetworkManager stop’)
os.system(‘sudo -i service network stop’)
os.system(‘sudo killall dhclient’)
os.system(‘sudo -i — -c iwconfig eth0 essid <name> key <key>’)
os.system(‘sudo -i — -c dhclient eth0’)


Read Full Post »