Test Config Notes: Difference between revisions
(→Misc) |
|||
(90 intermediate revisions by 34 users not shown) | |||
Line 1: | Line 1: | ||
{{Developers}} |
|||
===Firmware Notes=== |
|||
{{Translations}} |
|||
{{RightTOC}} |
|||
[http://dev.laptop.org/~wmb/ Mitch Bradley's stuff] |
|||
==Builds & infrastructure== |
|||
=== Step 0: get a developer key and do disable-security === |
|||
[[Boot Process]] (as of q2d03) |
|||
Instructions for this are available at [[Activation and Developer Keys]] |
|||
===Turn your XO into a sniffer=== |
|||
=== olpc-update === |
|||
# Install tcpdump ('yum install tcpdump' will probably do it) |
|||
# <code>killall NetworkManager</code> (is this really necessary?) |
|||
# <code>echo ${TRAFFIC_MASK} > /sys/class/net/msh0/device/libertas_rtap</code> |
|||
# <code>ifconfig rtap0 up</code> |
|||
# <code>tcpdump -i rtap0 -w outputfile.dump </code> |
|||
# when you done capturing traffic type ctrl-c |
|||
This section has been moved to [[Olpc-update]]. |
|||
TRAFFIC_MASK bits: |
|||
===Firmware notes=== |
|||
* Data frames: 0x1 |
|||
* Mgmt frames but beacons: 0x2 |
|||
* Beacons: 0x4 |
|||
* [http://dev.laptop.org/~wmb/ Mitch Bradley's stuff] |
|||
===Keyboard Shortcuts=== |
|||
* [[Keyboard Shortcuts]] |
|||
* [[Get the real word processor]] |
|||
* [[Cheat codes]] |
|||
* [[Boot Process]] |
|||
===Turn on All logs=== |
|||
To install a new firmware version: [[Manual Firmware Install]] |
|||
* 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 [[OLPC Trial-2 Software Release Notes#Enabling logging|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. |
|||
=== |
===Fixing XO clock data=== |
||
* cd /boot |
|||
* modify olpc.fth |
|||
* add ignore_loglevel inside quotations |
|||
From build 693 on (maybe earlier), the time is set automatically the first time you connect to the network. |
|||
===Turn on MPP Capability=== |
|||
As of build 570, automatic MPP ([[Mesh Network Details|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: |
|||
From build 641 on (maybe earlier), if you have a good internet connection you can set the date/time by logging in as root and typing: |
|||
/sbin/chkconfig --level 345 NetworkManagerDispatcher on |
|||
/sbin/service NetworkManagerDispatcher start |
|||
ntpdate pool.ntp.org |
|||
Next time you reboot (or the next time you click on an AP) the mesh portal will come back on. |
|||
~~ You can find out the current date and time in a terminal window by typing "date". |
|||
===Testing of Different Connection Configurations=== |
|||
There is currently no way to get the clock to be on the "desktop" or home screen; but you could write that in Python as a change to Sugar-shell, and submit the improvement to the XO team! |
|||
#[[Under a Tree]] |
|||
Let Love Flow |
|||
#[[Connected to AP]] |
|||
[[User:Irielesli|Listen]]~~ |
|||
#[[One Laptop acting as MPP]] |
|||
#[[Same Mesh Same Server]] |
|||
On unupgraded early Give One Get One laptops, ntpdate may not be installed. You can set the date/time manually by logging in as root and typing: |
|||
===Test the Network and Mesh Details=== |
|||
*[[Test_Network_Configuration|Step by step testing]] to examine your connectivity and network status. Run this '''[http://wiki.laptop.org/images/8/8a/Status.sh linux script]''' to view an overview of these results. |
|||
date |
|||
===Reformat a bad USB drive=== |
|||
MAC: |
|||
# Insert the USB into your mac |
|||
# Open Disk Utility (which you can find in the applications/utilities directory) |
|||
# Click on '967.5 MB USB 2.0...', the usb disk on the left. |
|||
# Click on the Partition tab |
|||
# Click on Partition to reformat the USB (this erases everything on the stick) |
|||
which will show the laptop's current time and date. Using the same date and time format returned by the date command, type: |
|||
===Testing Activation and Developer Keys=== |
|||
*[[Guide to Secure Install]] |
|||
date --set "Mon Apr 1 etc. etc." |
|||
Some pre-test machines 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 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. |
|||
[[Fix Clock| Steps to fix bad clock value on write protected machines]] |
|||
===Customizing a NAND image=== |
===Customizing a NAND image=== |
||
Line 70: | Line 54: | ||
*See [[Customizing NAND images]] |
*See [[Customizing NAND images]] |
||
===Internationalization testing=== |
|||
===Basic Linux Commands=== |
|||
All the information for Quanta to put into SPI flash to ensure a laptop will come up using the appropriate keyboard and language is described here: [[mfg-data]] |
|||
[http://www.ss64.com/bash/ A list of commands] |
|||
* [[OLPC Keyboard layouts]] |
|||
* cd : change directory (e.g. cd {path to directory} |
|||
* [[Testing localization]] |
|||
* pwd : print working directory (tells you what your current directory is) |
|||
* [[Checking the Layout configuration]] |
|||
* ls : lists all in the directory |
|||
* [[Olpc-utils|Localization utilities]] (Olpc-utils) |
|||
* ls -al : lists everything in directory, including hidden directories |
|||
* Create a language pack to add to a release build: [[Localization/LanguagePacks]] |
|||
* 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}) |
|||
===Kernel changelog analysis=== |
|||
* -r : recursive (makes any command recursive, e.g. cp -r will copy the entire directory) |
|||
* rm : remove (e.g. rm {path to file}) |
|||
At http://dev.laptop.org/~bert/joyride-pkgs.html is the joyride |
|||
* mount : mount a usb device (e.g. mount /media/{usb_stick_name} (usb sticks are in the /media directory) |
|||
changelog. In it you'll see the version of the kernel. |
|||
* umount : unmount a usb device |
|||
An example of a Kernel change is in joyride build #258, and the new version |
|||
* halt -p : shutdown |
|||
of the kernel for joyride build #258 is kernel.i586 0:2.6.22-20071111.5.olpc.c1d02f5e6853b99 |
|||
* wget : get file from web (e.g. wget {url_to_file} |
|||
* unzip : will unzip a file (use with .xo) |
|||
You can find that information for _any_ kernel by running 'uname -r'. |
|||
* ifconfig :shows network connections (enter command in root) |
|||
That 'c1d02f5e6853b99' uniquely identifies the version of the kernel. |
|||
You can look it up in git (or gitweb) and see the changelog for |
|||
precisely that kernel: |
|||
http://dev.laptop.org/git?p=olpc-2.6;a=log;h=c1d02f5e6853b99 |
|||
From that page, you should fairly easily be able to work out whether the |
|||
patch you're interested in is included or not. |
|||
==Sugar & Activities== |
|||
See [[Activities]]. |
|||
===Check which activity version you have=== |
|||
In [[Release notes/8.2.0]], the [[Home view]] in List view mode displays the version of each installed activity. |
|||
In any release, each activity's <tt>activity.info</tt> file has this information. |
|||
* In [[Terminal Activity]], |
|||
cat ~olpc/Activities/''Activity_name''.activity/activity/activity.info |
|||
** There may still be activities in the old location <tt>/usr/share/activities/</tt> |
|||
* Look for the <tt>activity_version</tt> setting. |
|||
===Turning suspend/resume or screen saver off=== |
|||
You can turn off suspend/resume by typing: |
|||
touch /etc/ohm/inhibit-suspend |
|||
To turn off power management: |
|||
* For one boot (till the laptop is rebooted): |
|||
** As [[root]], type: |
|||
/sbin/service ohmd stop |
|||
* For all reboots: |
|||
** As root, type: |
|||
rpm -e ohm |
|||
To turn off the screen saver, type: |
|||
xset dpms force off |
|||
===Control panel=== |
|||
*[[Sugar Control Panel]] |
|||
===Keyboard shortcuts=== |
|||
* [[Keyboard shortcuts]] |
|||
* [[Cheat codes]] |
|||
==Wireless & network== |
|||
===Removing network config settings=== |
|||
# Open a virtual terminal |
|||
# rm /home/olpc/.sugar/default/nm/network.config |
|||
===Connectivity to Apple Extreme=== |
|||
# Goto: http://www.corecoding.com/utilities/wep2hex.php and convert the password into a hex phrase. |
|||
# Click on the AP in the neighborhood mesh view |
|||
# Choose Hex input for the key; and choose 'shared' key instead of 'open'. |
|||
# You should be able to associate and authenticate now. |
|||
;[[Wireless_Access_Point_Compatibility|Matrix of Wireless AP]] - Volunteer test results |
|||
===Testing of different connection configurations=== |
|||
#[[Under a Tree]] |
|||
#[[Connected to AP]] |
|||
#[[One Laptop acting as MPP]] |
|||
#[[Same Mesh Same Server]] |
|||
===Test the network and mesh details=== |
|||
*[[Test_Network_Configuration|Step by step testing]] to examine your connectivity and network status. Run this '''[http://wiki.laptop.org/images/8/8a/Status.sh linux script]''' to view an overview of these results. |
|||
*[[Wireless Airtime Analysis]] - analysis tool for wifi |
|||
*[[Telepathy debugging]] |
|||
===Modify the |
===Modify the mesh discovery sequence=== |
||
You can put the following values in <tt>/etc/NetworkManager/mesh-start</tt> |
You can put the following values in <tt>/etc/NetworkManager/mesh-start</tt> |
||
Line 124: | Line 180: | ||
*/ |
*/ |
||
=== |
===Update the wireless firmware=== |
||
Please note that you do NOT need to get newer versions of wireless firmware if you are running a released version of OS. All releases include an appropriate, tested version of wireless firmware. These notes are for testing purposes only. |
|||
*[http://olpc.download.redhat.com/activities/ List of .xo files] (usually most updated ones). |
|||
* You can check what version you are running with: ''ethtool -i eth0'' |
|||
*[[GCompris]] — [http://gcompris.net/incoming/xo/ gcompris xo files] |
|||
* Next download the latest Libertas firmware, ([http://laptop.org/teamwiki/index.php/Tech:Wireless non-released], [http://dev.laptop.org/pub/firmware/libertas/ released]), 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/' (if the .bin file has a name other than usb8388, change it to usb8388.bin) |
|||
* You could Reboot, or simply rmmod usb8xxx ,then modprobe usb8xxx ; then check the version with: ''ethtool -i eth0'' |
|||
===Turn on wireless debug=== |
|||
*See also: {{tl|OBX xobundle}} which will categorize all references to bundles ({{pending|the category name needs to be determined}}) |
|||
Instructions on how to enable driver debug can be found [[Libertas_Debug |here]]. |
|||
===Update the wireless firmware=== |
|||
===Turn your XO into a sniffer=== |
|||
* First check what version you are running with: ''ethtool -i eth0'' |
|||
* Next download the latest Libertas firmware, [http://laptop.org/teamwiki/index.php/Tech:Wireless], 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/' (if the .bin file has a name other than usb8388, change it to usb8388.bin) |
|||
* Reboot; then check the version with: ''ethtool -i eth0'' |
|||
# Install tcpdump ('yum install tcpdump' will probably do it) |
|||
===Check Which Activity Version you have=== |
|||
# <code>killall NetworkManager</code> |
|||
# <code>ifconfig msh0 down</code> |
|||
# <code>ifconfig eth0 down</code> |
|||
# <code>echo ${TRAFFIC_MASK} > /sys/class/net/eth0/lbs_rtap</code> |
|||
# <code>ifconfig rtap0 up</code> |
|||
# <code>tcpdump -i rtap0 -w outputfile.dump </code> |
|||
# when you done capturing traffic type ctrl-c |
|||
TRAFFIC_MASK bits: |
|||
* Open the /usr/share/activities/{activity_name}.activity/activity.info file |
|||
* Check the activity_version setting |
|||
* Data frames: 0x1 |
|||
===Internationalization Testing=== |
|||
* Mgmt frames but beacons: 0x2 |
|||
* Beacons: 0x4 |
|||
===Capturing wireless data=== |
|||
* [[OLPC Keyboard layouts]] |
|||
* [[Checking the Layout configuration]] |
|||
* [[Olpc-utils|Localization utilities]] (Olpc-utils) |
|||
Instructions for capturing wireless data can be found [[Wireless#Capturing_wireless_traffic_on_the_xo|here]]. |
|||
===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: |
|||
===Turn on MPP Capability=== |
|||
clock-node @ iselect decimal 00 40 16 14 09 2007 set-time |
|||
In build 693 and later, automatic MPP ([[Mesh Network Details|mesh portal]]) is turned off. If you want to turn it on, edit /etc/NetworkManager/dispatcher.d/mpp.py and remove the line near the start which says 'exit 0'. Next time you connect to a network, the mesh portal will turn on. |
|||
In build 570 or so, automatic MPP ([[Mesh Network Details|mesh portal]]) is also turned off. If you want to turn it on in these early builds, log in as root (either from the VT with Ctl+Alt+F1 or 'su -' from the Dev Console in sugar), and do: |
|||
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. |
|||
/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. |
|||
===Turning on Activity Containerization=== |
|||
To play with activity containerization, you should: |
|||
Warning: Laptops in MPP mode will not participate properly in sharing with other XO laptops. |
|||
==== MPP with ppp or eth0 ==== |
|||
To make an XO into an MPP with PPP (modem) or Eth0 (usb-eth dongle): [[XO_with_USB_Cellular_Modem]] |
|||
===Mesh and WDS=== |
|||
Some information on issues related to bad interactions between Linksys wireless routers and the XO can be found [[Mesh_and_WDS|here]]. |
|||
===Setting up Jabber server=== |
|||
[[Ejabberd Configuration]] |
|||
==Security== |
|||
===Activation and developer keys=== |
|||
To learn about activation and developer's keys and how to un-secure a laptop, see [[Activation and Developer Keys]]. |
|||
How to pre-activate a laptop: [[Pre-Activate an XO]] |
|||
===Turning on/off activity isolation (containerization)=== |
|||
In Update.1 (build 630+), isolation is enabled. |
|||
; To turn off isolation |
|||
''rm /etc/olpc-security && reboot'' |
|||
; To re-enable isolation |
|||
''touch /etc/olpc-security && reboot'' |
|||
In earlier joyride builds, to play with activity containerization, you should: |
|||
# rainbow-daemon |
# rainbow-daemon |
||
Line 175: | Line 276: | ||
== |
==Logs== |
||
===What logs go with which bugs=== |
|||
This is about how to use [[SoftwareBinaryDifferentialUpdate|sandboxed (differential) updates]], this might change in the future. |
|||
* '''Activities''' |
|||
** All activity logs are located in /home/olpc/.sugar/default/logs |
|||
** Activity logging is turned on by default in builds after 650/joyride 350 |
|||
** These logs will contain any warnings and or errors with tracebacks, which should help the developers debug their activity |
|||
** Also, the shellservice.log will sometimes contain information as to why an activity failed to launch. |
|||
** Note: each time you restart X, the old logs will be stored in a directory in the same location, and new ones will be generated. |
|||
* '''Journal''' |
|||
** There is a journal log in /home/olpc/.sugar/default/logs |
|||
** Also, the datastore.log file often has implications for problems with the journal. |
|||
*** Especially with problems resuming files or transferring files to/from USB keys |
|||
* '''Network/Collaboration Problems''' |
|||
** /var/log/messages |
|||
*** This is a circular buffer, which contains a lot of low level debugging information |
|||
** in /home/olpc/.sugar/default/logs |
|||
*** presenceservice.log contains higher level network debugging information |
|||
*** telepathy-gabble.log/telepathy-salut.log (logs for salut and gabble; the collaboration software) |
|||
* '''Kernel Problems''' |
|||
** dmesg (another circular buffer, which contains low level debugging information) |
|||
===Turn on all logs=== |
|||
On builds older than 613, you should flash update to get the most recent versions of the required software. [[Autoreinstallation image]] |
|||
* See [[Attaching Sugar logs to tickets]] |
|||
** [[Telepathy-debug]] has more on enabling Telepathy log files. |
|||
===To turn on full kernel logging=== |
|||
To use the olpc-update script to upgrade (or to downgrade!),: |
|||
* cd /boot |
|||
* modify olpc.fth |
|||
* add ignore_loglevel inside quotations |
|||
===Get version info=== |
|||
First, run |
|||
See [[How to check the OS and firmware versions]]. |
|||
==School Server== |
|||
* rsync rsync://updates.laptop.org | sort |
|||
*[[XS_Configuration_Management#Example_Configurations|Example School Server install]] |
|||
<pre> |
|||
*[[Schoolserver Testing]] |
|||
# rsync rsync://updates.laptop.org | sort |
|||
*[[School server network debugging]] |
|||
build-612 |
|||
*[[Telepathy-debug]] |
|||
build-616 |
|||
build-617 |
|||
build-debian |
|||
build-debian-big |
|||
build-frs |
|||
build-joyride-53 |
|||
build-joyride-56 |
|||
build-joyride-58 |
|||
build-joyride-59 |
|||
build-joyride-66 |
|||
build-joyride-67 |
|||
build-joyride-68 |
|||
build-joyride-76 |
|||
build-meshtest |
|||
build-meshtest-47 |
|||
build-meshtest-56 |
|||
build-meshtest-73 |
|||
build-meshtest-74 |
|||
</pre> |
|||
==Misc== |
|||
To find the builds available, and make sure that you are connected to the server. Then, run |
|||
===Reformat a bad USB drive=== |
|||
: olpc-update <build-no> |
|||
See [[Firmware/Storage/Formats|more details]]. |
|||
where <build-no> is the number of the build (e.g. 610, 588) to which you would like to move, e.g., |
|||
===Basic Linux commands=== |
|||
olpc-update 617 |
|||
(See [[Category:linux software]] ) |
|||
or |
|||
===Manufacturing data=== |
|||
olpc-update joyride-74 |
|||
Manufacturing data describes the hardware of a laptop as well as its activation setting. |
|||
or |
|||
[[mfg-data]] |
|||
olpc-update meshtest-74 |
|||
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. |
|||
===Capturing wireless data=== |
|||
Instructions for capturing wireless data can be found [[Wireless#Capturing_wireless_traffic_on_the_xo|here]]. |
|||
[[Category:Preparing for testing]] |
|||
[[category:tests]] |
|||
[[Category:XO localization]] |
Latest revision as of 01:32, 18 November 2015
Please copy/paste "{{Translationlist | xx | origlang=en | translated={{{translated}}}}}" (where xx is ISO 639 language code for your translation) to Test Config Notes/translations | HowTo [ID# 298155] +/- |
Builds & infrastructure
Step 0: get a developer key and do disable-security
Instructions for this are available at Activation and Developer Keys
olpc-update
This section has been moved to Olpc-update.
Firmware notes
To install a new firmware version: Manual Firmware Install
Fixing XO clock data
From build 693 on (maybe earlier), the time is set automatically the first time you connect to the network.
From build 641 on (maybe earlier), if you have a good internet connection you can set the date/time by logging in as root and typing:
ntpdate pool.ntp.org
~~ You can find out the current date and time in a terminal window by typing "date". There is currently no way to get the clock to be on the "desktop" or home screen; but you could write that in Python as a change to Sugar-shell, and submit the improvement to the XO team! Let Love Flow Listen~~
On unupgraded early Give One Get One laptops, ntpdate may not be installed. You can set the date/time manually by logging in as root and typing:
date
which will show the laptop's current time and date. Using the same date and time format returned by the date command, type:
date --set "Mon Apr 1 etc. etc."
Some pre-test machines 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 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.
Steps to fix bad clock value on write protected machines
Customizing a NAND image
Internationalization testing
All the information for Quanta to put into SPI flash to ensure a laptop will come up using the appropriate keyboard and language is described here: mfg-data
- OLPC Keyboard layouts
- Testing localization
- Checking the Layout configuration
- Localization utilities (Olpc-utils)
- Create a language pack to add to a release build: Localization/LanguagePacks
Kernel changelog analysis
At http://dev.laptop.org/~bert/joyride-pkgs.html is the joyride changelog. In it you'll see the version of the kernel. An example of a Kernel change is in joyride build #258, and the new version of the kernel for joyride build #258 is kernel.i586 0:2.6.22-20071111.5.olpc.c1d02f5e6853b99
You can find that information for _any_ kernel by running 'uname -r'.
That 'c1d02f5e6853b99' uniquely identifies the version of the kernel.
You can look it up in git (or gitweb) and see the changelog for
precisely that kernel:
http://dev.laptop.org/git?p=olpc-2.6;a=log;h=c1d02f5e6853b99
From that page, you should fairly easily be able to work out whether the patch you're interested in is included or not.
Sugar & Activities
See Activities.
Check which activity version you have
In Release notes/8.2.0, the Home view in List view mode displays the version of each installed activity.
In any release, each activity's activity.info file has this information.
cat ~olpc/Activities/Activity_name.activity/activity/activity.info
- There may still be activities in the old location /usr/share/activities/
- Look for the activity_version setting.
Turning suspend/resume or screen saver off
You can turn off suspend/resume by typing:
touch /etc/ohm/inhibit-suspend
To turn off power management:
- For one boot (till the laptop is rebooted):
- As root, type:
/sbin/service ohmd stop
- For all reboots:
- As root, type:
rpm -e ohm
To turn off the screen saver, type:
xset dpms force off
Control panel
Keyboard shortcuts
Wireless & network
Removing network config settings
- Open a virtual terminal
- rm /home/olpc/.sugar/default/nm/network.config
Connectivity to Apple Extreme
- Goto: http://www.corecoding.com/utilities/wep2hex.php and convert the password into a hex phrase.
- Click on the AP in the neighborhood mesh view
- Choose Hex input for the key; and choose 'shared' key instead of 'open'.
- You should be able to associate and authenticate now.
- Matrix of Wireless AP - Volunteer test results
Testing of different connection configurations
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.
- Wireless Airtime Analysis - analysis tool for wifi
- Telepathy debugging
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 */
Update the wireless firmware
Please note that you do NOT need to get newer versions of wireless firmware if you are running a released version of OS. All releases include an appropriate, tested version of wireless firmware. These notes are for testing purposes only.
- You can check what version you are running with: ethtool -i eth0
- Next download the latest Libertas firmware, (non-released, released), 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/' (if the .bin file has a name other than usb8388, change it to usb8388.bin)
- You could Reboot, or simply rmmod usb8xxx ,then modprobe usb8xxx ; then check the version with: ethtool -i eth0
Turn on wireless debug
Instructions on how to enable driver debug can be found here.
Turn your XO into a sniffer
- Install tcpdump ('yum install tcpdump' will probably do it)
killall NetworkManager
ifconfig msh0 down
ifconfig eth0 down
echo ${TRAFFIC_MASK} > /sys/class/net/eth0/lbs_rtap
ifconfig rtap0 up
tcpdump -i rtap0 -w outputfile.dump
- when you done capturing traffic type ctrl-c
TRAFFIC_MASK bits:
- Data frames: 0x1
- Mgmt frames but beacons: 0x2
- Beacons: 0x4
Capturing wireless data
Instructions for capturing wireless data can be found here.
Turn on MPP Capability
In build 693 and later, automatic MPP (mesh portal) is turned off. If you want to turn it on, edit /etc/NetworkManager/dispatcher.d/mpp.py and remove the line near the start which says 'exit 0'. Next time you connect to a network, the mesh portal will turn on.
In build 570 or so, automatic MPP (mesh portal) is also turned off. If you want to turn it on in these early builds, 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.
Warning: Laptops in MPP mode will not participate properly in sharing with other XO laptops.
MPP with ppp or eth0
To make an XO into an MPP with PPP (modem) or Eth0 (usb-eth dongle): XO_with_USB_Cellular_Modem
Mesh and WDS
Some information on issues related to bad interactions between Linksys wireless routers and the XO can be found here.
Setting up Jabber server
Security
Activation and developer keys
To learn about activation and developer's keys and how to un-secure a laptop, see Activation and Developer Keys.
How to pre-activate a laptop: Pre-Activate an XO
Turning on/off activity isolation (containerization)
In Update.1 (build 630+), isolation is enabled.
- To turn off isolation
rm /etc/olpc-security && reboot
- To re-enable isolation
touch /etc/olpc-security && reboot
In earlier joyride builds, to play with activity containerization, you should:
- rainbow-daemon
- touch /etc/olpc-security
- restart sugar (e.g. type Ctrl-Alt-Erase)
- try out various activities; perhaps examine the output of rainbow-daemon
- rm /etc/olpc-security
- 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)
Logs
What logs go with which bugs
- Activities
- All activity logs are located in /home/olpc/.sugar/default/logs
- Activity logging is turned on by default in builds after 650/joyride 350
- These logs will contain any warnings and or errors with tracebacks, which should help the developers debug their activity
- Also, the shellservice.log will sometimes contain information as to why an activity failed to launch.
- Note: each time you restart X, the old logs will be stored in a directory in the same location, and new ones will be generated.
- Journal
- There is a journal log in /home/olpc/.sugar/default/logs
- Also, the datastore.log file often has implications for problems with the journal.
- Especially with problems resuming files or transferring files to/from USB keys
- Network/Collaboration Problems
- /var/log/messages
- This is a circular buffer, which contains a lot of low level debugging information
- in /home/olpc/.sugar/default/logs
- presenceservice.log contains higher level network debugging information
- telepathy-gabble.log/telepathy-salut.log (logs for salut and gabble; the collaboration software)
- /var/log/messages
- Kernel Problems
- dmesg (another circular buffer, which contains low level debugging information)
Turn on all logs
- See Attaching Sugar logs to tickets
- Telepathy-debug has more on enabling Telepathy log files.
To turn on full kernel logging
- cd /boot
- modify olpc.fth
- add ignore_loglevel inside quotations
Get version info
See How to check the OS and firmware versions.
School Server
Misc
Reformat a bad USB drive
See more details.
Basic Linux commands
(See )
Manufacturing data
Manufacturing data describes the hardware of a laptop as well as its activation setting. mfg-data