Improve coverage for WiFi

Registered by Victor Tuson Palau

improve wifi testing by evaluating the following google solution

The autotest tools are here:

http://git.chromium.org/cgi-bin/gitweb.cgi?p=autotest.git;a=summary
git clone http://git.chromium.org/git/autotest.git

I found some wifi tests here:

server/site_wifi*
server/site_wlan*
server/site_tests/network_WiFi*
client/site_tests/network_Wifi*

From a quick look tests should be compatible with connman.

Blueprint information

Status:
Complete
Approver:
Kevin Krafthefer
Priority:
Medium
Drafter:
Ameet Paranjape
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
Accepted for archives
Implementation:
Unknown
Milestone target:
None
Completed by
Victor Tuson Palau

Related branches

Sprints

Whiteboard

Chrome WLAN test code details
----------------------------------------

Summary of what they are doing:
  1) Config/de-config router
  2) connect/disconnect client
  3) client_check_* - check the client's connection state to verify a parameter was setup as expected; e.g. client_check_bintval checks the beacon intervalset on the AP was adopted by the client
  4) monitoring (start and stop) of system events as needed
  5) Performance ping, netperf and iperf (Autotests) from client to server

Code source - http://git.chromium.org/cgi-bin/gitweb.cgi?p=autotest.git;a=blob;f=server/site_wifitest.py;h=a1955cce5ccb865b56f070847d782c08f66f2037;hb=98fc3f1cf742731e79f33bad379f8bb584d93413#l33

Additional test details:

flimflam - specific to Chrome OS a fork of ConnMan. Flimflam doesn't start wpa_supplicant (that's done by upstart, and controlled by the config file /etc/init/wpasupplicant.conf), but it does configure and drive it. Flimflam tells wpa_supplicant what driver and what interface to use via DBus messages, and the command line of flimflam (see /etc/init/flimflam.conf) sets the wireless driver to pass to wpa_supplicant. (Ubuntu uses NetworkManager)

netperf - unidirectional data transfer and request/response performance using either TCP or UDP http://www.netperf.org/
iperf - is a tool to measure the bandwidth and the quality of a network link using ping, UDP and TCP.

What do our tests do?
----------------------------
Verify the connection (with some security protocol i.e. WPA2) works.
 - Automatically using wpa_supplicant. Code is in checkbox-certification branch of Launchpad as "wlan_WPA2_test."
 - Mannually using Network Manager. Testcase is in the checkbox-compatiblity branch of Launchpad as "network.txt."

How do they work?
------------------------
Automated:
- Pre-req.: need to have a WPA2 AP already configured.
- Disable NM (NM will default to wired network if wireless fails generating a false positive)
- Use wpa_supplicant to connect to AP
- Runs very basic ping and I/O tests to see connection established and no packet loss.

Manual:
 Wireless network connection procedure:
 1.- Click on the Network Manager applet
 2.- Select a network below the 'Wireless networks' section
 3.- Notify OSD should confirm that the connection has been established
 4.- Select Test to verify that it's possible to establish an HTTP connection
 .
 Was the connection correctly established?

Next steps
--------------
Need to determine what this should accomplish long-term.
 - What kind of results do we want?
 - What are we trying to test here?

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.