Test Config Notes

From OLPC
Revision as of 19:54, 19 October 2007 by 18.85.19.115 (talk) (Turn your XO into a sniffer)
Jump to: navigation, search

Extra Firmware

Mitch Bradley's stuff


Turn your XO into a sniffer

  1. Install tcpdump ('yum install tcpdump' will probably do it)
  2. killall NetworkManager (is this really necessary?)
  3. echo 0x1 > /sys/class/net/msh0/device/libertas_rtap
  4. ifconfig rtap0 up
  5. tcpdump -i rtap0 -w outputfile.dump
  6. when you done capturing traffic type ctrl-c

Keyboard Shortcuts

Turn on All logs

  • Edit the /home/olpc/.xinitrc file to uncomment the line source .sugar.debug
  • Edit the /home/olpc/.sugar.debug to include export SUGAR_LOGGER_LEVEL=debug
  • If you want to add debugging only for some acitivities, you can find the name of the activity when you scroll over them in the home view. Use the Enable logging instructions.
  • The activity names are those which show up when you scroll over them in the home view.
  • Reboot the computer after changing the files.

Turn on MPP Capability

As of build 570, automatic MPP (mesh portal) is turned off. If you want to turn it on, log in as root (either from the VT with Ctl+Alt+F1 or 'su -' from the Dev Console in sugar), and do:

 /sbin/chkconfig --level 345 NetworkManagerDispatcher on
 /sbin/service NetworkManagerDispatcher start

Next time you reboot (or the next time you click on an AP) the mesh portal will come back on.

Testing of Different Connection Configurations

  1. Under a Tree
  2. Connected to AP
  3. One Laptop acting as MPP
  4. Same Mesh Same Server

Test the Network and Mesh Details

Step by step testing to examine your connectivity and network status. Run this linux script to view an overview of these results.

Reformat a bad USB drive

MAC:

  1. Insert the USB into your mac
  2. Open Disk Utility (which you can find in the applications/utilities directory)
  3. Click on '967.5 MB USB 2.0...', the usb disk on the left.
  4. Click on the Partition tab
  5. Click on Partition to reformat the USB (this erases everything on the stick)

Testing Activation and Developer Keys

Guide to Secure Install

Customizing a NAND image

See Customizing NAND images

Basic Linux Commands

a list of commands

  • cd  : change directory (e.g. cd {path to directory}
  • pwd  : print working directory (tells you what your current directory is)
  • ls  : lists all in the directory
  • ls -al  : lists everything in directory, including hidden directories
  • nano  : change a file (e.g. nano {path to file}) If the file is in the working directory, then you only need to type the file name.
  • cp  : copy (e.g. cp {path to file} {path to destination})
  • -r  : recursive (makes any command recursive, e.g. cp -r will copy the entire directory)
  • rm  : remove (e.g. rm {path to file})
  • mount  : mount a usb device (e.g. mount /media/{usb_stick_name} (usb sticks are in the /media directory)
  • umount  : unmount a usb device
  • halt -p : shutdown
  • wget  : get file from web (e.g. wget {url_to_file}
  • unzip  : will unzip a file (use with .xo)
  • ifconfig  :shows network connections (enter command in root)

Modify the Mesh Discovery Sequence

You can put the following values in /etc/NetworkManager/mesh-start

  • school-mpp
  • infra
  • xo-mpp
  • local

These will control where the mesh device starts. Since the mesh device is the first device that gets picked at startup, this affects the immediate connection search of the laptop.

Remember, the current automatic connection cycle is this. You can jump to a specific step in this cycle by putting the string above into mesh-start.

/* Steps:
 *
 * 1. For each channel in [1, 6, 11]:
 *    a. try DHCP
 *    b. if DHCP times out, try next channel
 *    c. if DHCP response includes a non-link-local IP address,
 *      then CONNECTED/DONE
 *
 * 2. Try last successful AP connection
 *    a. if success then CONNECTED/DONE
 *
 * 3. For each channel in [1, 6, 11]
 *    a. try DHCP
 *    b. if DHCP times out, try next channel
 *    c. if DHCP response includes a link-local IP address,
 *      then acquire autoip address and apply DHCP settings (except for
 *      IP address), CONNECTED/DONE
 *
 * 4. Jump to channel 1
 *    a. acquire autoip address, CONNECTED/DONE
 */

XO Files

list of .xo files (usually most updated ones).

GComprisgcompris xo files

See also: {{OBX xobundle}} which will categorize all references to bundles (the category name needs to be determined)

Update the wireless firmware

  • First check what version you are running with: ethtool -i eth0
  • Next download the latest Libertas firmware, [1], and unzip it with: tar xzf <filename>
  • Move, delete or rename the 'usb8388.bin' file that is currently being used in /lib/firmware/'
  • Copy the new 'usb8388.bin' file from where you unzipped it into /lib/firmware/'
  • Reboot; then check the version with: ethtool -i eth0

Check Which Activity Version you have

  • Open the /usr/share/activities/{activity_name}.activity/activity.info file
  • Check the activity_version setting

Internationalization Testing

Fixing XOs with bogus clocks

Some pre-test machines (C4s at the moment) don't have valid manufacturing data. This isn't too much of a problem, but they also have clocks which are set to crazy values, which is. To fix this, boot with the X key pressed and press Esc when prompted to get an OFW prompt. At the 'ok' prompt type:

clock-node @ iselect  decimal   00 40 16   14 09 2007  set-time

The numbers here are the time and date: second, minute, hour, day, month, year. You can substitute the current time and date if you like, but the machine will activate correctly as long as it has a somewhat-sane date. You can use the date above, for example.


Turning on Activity Containerization

To play with activity containerization, you should:

  1. rainbow-daemon
  2. touch /etc/olpc-security
  3. restart sugar (e.g. type Ctrl-Alt-Erase)
  4. try out various activities; perhaps examine the output of rainbow-daemon
  5. rm /etc/olpc-security
  6. restart sugar

Note: it is important that rainbow-daemon be running when Sugar restarts. Therefore, rainbow-daemon should be started either on a virtual terminal (i.e. after htting Ctrl-Alt-F1 [F1 is the mesh-key]) or over SSH.

Please direct questions and comments to me: --Michael Stone 13:02, 17 September 2007 (EDT)


OLPC Update

This is about how to use sandboxed (differential) updates, this might change in the future.

On builds older than 609, you should run:

  1. wget http://dev.laptop.org/~mstone/rainbow-latest.rpm
  2. wget http://dev.laptop.org/~mstone/olpccontents-latest.rpm
  3. rpm -U --force olpccontents-latest.rpm rainbow-latest.rpm

to get the most recent versions of the required software.

To use the olpc-update script to upgrade (or to downgrade!), run:

  1. olpc-update <build-no>

where <build-no> is the number of the build (e.g. 610, 588) to which you would like to move.

To find the builds available

  • rsync rsync://updates.laptop.org | sort

Finally, the update mechanism preserves the build from which you ran the updater as an "alternate" image from which you can boot. To swap the "primary" and "alternate" images, hold the 'O' gamepad key during bootup.