Tests/Wireless Test-scp loop
Overview
This test consists of a loop of SCP file transfers between two XOs. The transfers will alternate between the infra-structure interface (eth0) and the mesh interface (msh0).
- Its main objective is to test the libertas (wireless) firmware and driver. As a desirable side effect it will also test association to an Access Point via user interface.
- The tester should have some basic familiarity with Linux
- The test will take about 40 minutes (but it is automated) under good conditions (a not too busy wireless environment) plus preparation time (10 minutes - not automated). It is suggested that the test is repeated at least three times and a reboot is performed between each test run.
Preparation
1. Take two XOs, "A" and "B" - they should be updated to the same (and preferably latest) build.
- "A" will be the XO under test
- "B" will serve as a peer who will receive the files
2. Open a terminal at "A" and create a pair of keys to use in the SCP transfer:
$ ssh-keygen
- Provide a name for the key files or accept the default
- Leave the passphrase empty (simply type enter when prompted)
3. Copy the test script (test_scp.sh) to the current directory
4. Tranfer or copy the public key file (which ends with "pub" and is located in /home/olpc/.ssh or the directory you provided when generating the keys) to "B" and append it to the /home/olpc/.ssh/authorized_keys file (on "B")
$ cat <id_rsa_pub> >> /home/olpc/.ssh/authorized_keys
5. Conect both XOs to an access point
6. Take note of B's ip addresses for both interfaces (eth0 and msh0). (We'll call them b_eth0_ip and b_msh0_ip)
7. Confirm that both XOs can transfer data to each other via both interfaces:
at "A" type:
$ ping <b_eth0_ip> $ ping <b_msh0_ip>
If you can ping then you are ready to start
Test
1. Fire up the test script
$ bash test_scp.sh <identity_file> <b_ip_eth0> <b_ip_msh0>
<identity_file> here is the private key file (the one _not_ ending with pub - e.g. /home/olpc/.ssh/id_rsa)
2. For the first loop of the first time you run the test, you'll have to accept the peer key, typing 'yes'. After this the test will run by itself.
A counter and the scp output messages will be displayed on the screen.
Run the test for at least 100 cycles. Then reboot both XOs and repeat the test two more times (note that steps 1 to 4 of the Preparation and step 2 of the Test do not need to be repeated. In general, step 5 will be automatic and the IP addresses (on step 6) should not change if you don't take too long between the tests.
Test results (pass or fail)
Three consecutive runs of at least 100 cycles is a good pass mark.
If the test fails, capture kernel messages (as soon as possible or the information will be overwritten):
at "A" type:
$ dmesg > dmesg-test-scp.log
File a bug entitled "Fail on scp loop test" (first check if there is one already)
- Inform the build and other customizations and relevant details (e.g. if libertas firmware or any other component was changed)
- Attach dmesg-test-scp.log
- Assign the bug to "carrano" (component wireless)
If the test succeeds, please add a note to this page "discussion" (please, do not add pass or fail notes to this page)
Stressing the test
If you are confident (or you already know) that the XOs will pass the test, you can spice it up, by opening another terminal and typing (while the test is running in another terminal) ...
$ while 1; do iwlist eth0 scan; sleep 5; done
which will scan for APs every 5 seconds.