Mesh Debug: Difference between revisions
No edit summary |
|||
Line 37: | Line 37: | ||
#!/bin/sh |
#!/bin/sh |
||
# |
# blinding |
||
# This script, if run early in a laptop's boot process, will |
# This script, if run early in a laptop's boot process, will |
||
# ensure that the laptop only talks to the mesh interfaces |
# ensure that the laptop only talks to the mesh interfaces |
||
Line 59: | Line 59: | ||
ln -s /etc/init.d/blinding /etc/rc5.d/S35blinding |
ln -s /etc/init.d/blinding /etc/rc5.d/S35blinding |
||
Now this laptop will only talk to the indicated school server (actually, the indicated Active Antenna) until it is updated. Please label the laptop accordingly! |
Now this laptop will only talk to the indicated school server (actually, the indicated Active Antenna) until it is updated. <b>Please label the laptop accordingly!</b> |
||
To enable the blinding, reboot or type: |
|||
service blinding start |
|||
To temporarily disable the blindings, type: |
|||
iwpriv msh0 bt_reset |
|||
To permanently disable the blindings, type: |
|||
chk |
|||
=Blinding Table Commands= |
=Blinding Table Commands= |
Revision as of 22:13, 31 August 2007
The wireless mesh interface contains functionality that makes it possible to debug school servers, even if there are a number of school servers in close proximity. This functionality is the ability to populate a blinding table with MAC addresses of mesh nodes with which the interface is either prohibited from or limited to exchanging packets.
Changes to the Server
You will need to know the MAC addresses of the mesh interfaces on any laptops you wish to whitelist. In the examples below, we use 00:17:c4:05:25:60 as the XO MAC address.
We recommend placing the whitelist information in the /etc/init.d/olpc-mesh-config startup script. In this way, the whitelist will survive reboots of the server.
Add the following lines to the start() function, right after the RETVAL=$? line:
if [ -d /sys/class/net/msh0 ] ; then /sbin/iwpriv msh0 bt_reset /sbin/iwpriv msh0 bt_set_invert 1 # This adds the XO named Sofia to the whitelist /sbin/iwpriv msh0 bt_add 00:17:c4:05:25:60 fi if [ -d /sys/class/net/msh1 ] ; then /sbin/iwpriv msh1 bt_reset /sbin/iwpriv msh1 bt_set_invert 1 # This adds the XO named Sofia to the whitelist /sbin/iwpriv msh1 bt_add 00:17:c4:05:25:60 fi if [ -d /sys/class/net/msh2 ] ; then /sbin/iwpriv msh2 bt_reset /sbin/iwpriv msh2 bt_set_invert 1 # This adds the XO named Sofia to the whitelist /sbin/iwpriv msh2 bt_add 00:17:c4:05:25:60 fi
Now just start that service again to apply the blinding table:
sudo service olpc-mesh-config start
Changes to the Laptop
The changes to the laptop are similar. Place the following script into a new file called /etc/init.d/blinding:
#!/bin/sh # blinding # This script, if run early in a laptop's boot process, will # ensure that the laptop only talks to the mesh interfaces # listed here. IWPRIV=/sbin/iwpriv MSH_IF=msh0 # Clear any pre-existing white or black list $IWPRIV $MSH_IF bt_reset # Make sure that a white list is being created $IWPRIV $MSH_IF bt_set_invert 1 # Now add the interface we allow communication with: # 00:50:43:28:01:f2 is Active Antenna S/N 0037 $IWPRIV $MSH_IF bt_add 00:50:43:28:01:f2
Make this script executable and create a link to it in the appropriate directories:
chmod a+x /etc/init.d/blinding ln -s /etc/init.d/blinding /etc/rc5.d/S35blinding
Now this laptop will only talk to the indicated school server (actually, the indicated Active Antenna) until it is updated. Please label the laptop accordingly!
To enable the blinding, reboot or type:
service blinding start
To temporarily disable the blindings, type:
iwpriv msh0 bt_reset
To permanently disable the blindings, type:
chk
Blinding Table Commands
This section needs expanding!
bt_reset
This command resets (clears) the blinding table:
iwpriv msh0 bt_reset
bt_list
This command examines the blinding table:
iwpriv msh0 bt_list $i
where $i is a number between 0 and 127 representing an entry.
bt_set_invert
The default mode of the blinding table is to "blacklist". This means that mesh nodes listed in the blinding table will be ignored by the interface. This mode can be inverted, and the blinding table used to list the only mesh nodes which the interface is allowed to talk to.
This command controls whether the mode is "blacklisting" or "whitelisting". If the invert bit is set to zero, the blinding table will be used for blacklisting:
iwpriv msh0 bt_set_invert 0
If the invert bit is set to 1, the blinding table will be used for whitelisting:
iwpriv msh0 bt_set_invert 1
bt_get_invert
This command queries the mode of the blinding table (see bt_set_invert).
iwpriv msh0 bt_get_invert
bt_add
This adds a MAC address to the blinding table:
iwpriv msh0 bt_add 00:17:c4:05:25:60