History log of /external/autotest/server/site_linux_router.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4cfb751597741a75dc1894ab4ea47aff10060527 12-Dec-2015 mukesh agrawal <quiche@chromium.org> autotest (wifi): rename LinuxSystem.set_default_antenna_bitmap()

The current name of this method requires a caller to
know what "default" means. Rename the method to make
the purpose of the call more obvious.

BUG=chromium:569205
TEST=test_that chromeos1-row3-rack11-host3.cros network_WiFi_VerifyRouter

Change-Id: Ib925b0e1f3f408e97079abeddbb6f1c666ca5561
Reviewed-on: https://chromium-review.googlesource.com/317881
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: Zeping Qiu <zqiu@chromium.org>
/external/autotest/server/site_linux_router.py
41a817cfec9eea52d6a7c9826387d3df901ec085 22-Jul-2015 mukesh agrawal <quiche@chromium.org> autotest (wifi): ensure footer data is written to disk

In SiteLinuxRouter._prep_probe_response_footer(), we write()
to a file, and then send_file() over to the router.

The problem is that Python buffers write()s. So, when send_file()
tries to read the data, it may still be stuck in a buffer inside
the Python process.

Fix this, by calling flush() before send_file().

BUG=chromium:512874
TEST=network_WiFi_MalformedProbeResp

Change-Id: I24a132666d764c14c527b2e9cb8315a47e431a9c
Reviewed-on: https://chromium-review.googlesource.com/287592
Trybot-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Rebecca Silberstein <silberst@chromium.org>
Commit-Queue: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/site_linux_router.py
e2102b819e4a5a7064f52327bf87cf3060173ffd 17-Jul-2015 mukesh agrawal <quiche@chromium.org> autotest (wifi): fix file copy in LinuxRouter

When using a footer file for send_management_frame, we write
the footer data locally, and copy the file over to the DUT.

At present, we pass send_file() as file handle. This fails,
because send_file() actually wants a path. Fix this, by
passing a path instead.

While there: fix whitespace.

Test note: even without this patch, the test PASSES (that problem
is http://crbug.com/511320 and http://crbug.com/511322). So, for
now, we have to check logs to verify that the bug is fixed.
Specifically: ensure that the following error message does not
appear:

rsync: link_stat "/tmp/autotest-probe_response_footer" failed: No such file or directory

BUG=chromium:511353
TEST=network_WiFi_MalformedProbeResp

Change-Id: Iaa02d4e1a7d0f3f7fe4d4f11cc85a19a446228c0
Reviewed-on: https://chromium-review.googlesource.com/286570
Reviewed-by: Rebecca Silberstein <silberst@chromium.org>
Commit-Queue: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/site_linux_router.py
43644aa6963e3602317cc939e8f745acd48d903c 06-Jul-2015 mukesh agrawal <quiche@chromium.org> autotest (wifi): enable MaskedBSSID to run on a single-stream PHY

By default, _get_phy_for_frequency() ignores any PHY that doesn't
support dual-stream operation. This minimizes the possibility of
surprises in test results. For example, performance tests will
have hugely different results if run on single-stream PHY.

In the case of MaskedBSSID, however, this restriction puts us
in a situation where requirements are hard to satisfy. Specifically,
we'd require: two dual-stream PHYs that operate in the same band.
(We can't simply run multiple APs on a single PHY, because the APs
are deliberately configured to use the same BSSID. We'd rather not
run on multiple bands, because that takes us farther away from
the AP behavior this test is meant to emulate.)

To support MaskedBSSID on diverse hardware, we relax the requirements.
In particular, we allow the use of single-stream PHYs for MaskedBSSID.
Since MaskedBSSID tests correctness, but not performance, this should
not yield any surprising results.

To provide determinism, the single-stream PHY is chosen only after
more capable PHYs are already in use.

BUG=chromium:504529
TEST=network_WiFi_MaskedBSSID (logs showed dual-stream was used first)
TEST=network_WiFi_SimpleConnect.wifi_check5VHT80

Change-Id: I34433cf0a766a15a1528838481be514ce3bcfed9
Reviewed-on: https://chromium-review.googlesource.com/283621
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/site_linux_router.py
7fd4d0978ffd79db21e9c21e236a1a8b8c3594a4 29-Jun-2015 mukesh agrawal <quiche@chromium.org> autotest (wifi): reduce flake in RegDomain test

The network_WiFi_RegDomain test reboots the router, to ensure that
there's no stray processes running from a previous test.

Unfortunately, rebooting the router doesn't exactly get the router
back into the expected state. In particular, in the normal case,
LinuxSystem.__init__() normally removes any existing WiFi DEVs
on the system. But rebooting the system restores those DEVs. These
DEVs confuse network_WiFi_RegDomain, which assumes that it is
safe to create and configure a monitor DEV, on any PHY of its
choice.

To solve this problem, this CL moves the reboot implementation
from network_WiFi_RegDomain, into LinuxRouter and LinuxSystem.
In these classes, the reboot() method takes responsibility for
ensuring the {router,system} is in a good state after the reboot.

To meet this responsibility, we split the bulk of {LinuxRouter,
LinuxSystem} initialization code into a __setup() method. This
new method is called both, by __init__(), and by reboot(). We
use a double-underscore method, to ensure that calls from
LinuxSystem invoke LinuxSystem's setup code, rather than the
setup code for LinuxRouter.

BUG=chromium:500016
TEST=network_WiFi_RegDomain

Change-Id: I571b6bf0dff413155246765db90a145faf989255
Reviewed-on: https://chromium-review.googlesource.com/282582
Tested-by: mukesh agrawal <quiche@chromium.org>
Trybot-Ready: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/site_linux_router.py
093199192f9b024b2bcb9eef7d845127dfc5e7c2 01-Jul-2015 mukesh agrawal <quiche@chromium.org> autotest (wifi): improve reliability of LinuxRouter.start_hostapd()

When checking if hostapd has started, we were looking for
'Completing interface initialization'. Unfortunately, some errors
occur even after that point.

To avoid missing those errors, this CL looks for 'Setup of interface
done', before concluding that hostapd has started.

BUG=chromium:505958
TEST=network_WiFi_SimpleConnect.wifi_check11g
TEST=network_WiFi_SimpleConnect.wifi_checkWPA2_CCMP_PMF
pre-cq-configs: wificell-pre-cq

Change-Id: I07ddaf68c25129a958b479abd3cc45e607ed56e2
Reviewed-on: https://chromium-review.googlesource.com/282783
Reviewed-by: Paul Stewart <pstew@chromium.org>
Trybot-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/site_linux_router.py
064ea97588f6d760ec1256f37215b352efea3dfd 26-Jun-2015 mukesh agrawal <quiche@chromium.org> autotest (wifi): dynamically probe for IBSS capability

Some hardware does not support IBSS mode. Accordingly, we should
check hardware capabilities before reporting CAPABILITY_IBSS.

The exact division of labor between LinuxRouter and LinuxSystem
is not obvious to me. I'm moving IBSS detection into LinuxSystem,
because it's quite reasonable to use IBSS on a system that's not
a router.

Note: tests do not currently verify that a DUT supports IBSS.
If we add DUTs that do not support IBSS, we'll need to update
the relevant test(s).

While there: fix typo in iw_runner.

BUG=chromium:504926
TEST=test_that chromeos1-dev-host6.cros network_WiFi_IBSS.wifi_IBSS
TEST=test_that chromeos1-row3-rack11-host1.cros network_WiFi_IBSS.wifi_IBSS

First command should report PASSED, but with TEST_NA. Second command
should just report PASSED.

Change-Id: I8e875b7a137f2451493194bd12d95e435f68d61f
Reviewed-on: https://chromium-review.googlesource.com/282162
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: mukesh agrawal <quiche@chromium.org>
Trybot-Ready: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/site_linux_router.py
194b4585d71052bb706e67eaf7a60f816fae1530 17-Jun-2015 Rebecca Silberstein <silberst@chromium.org> autotest (wifi): test malformed probe responses

Add autotest for malformed probe response packets. This test covers
probe responses that include an element with an incorrect tag length.

This test covers a case where a malformed probe response may have been
the cause of a lucas device wifi disconnect. The probe response had
an incorrect length field. This test reproduces the scenario by
triggering a valid probe request. The AP in the test is configured to
repeatedly send out unsolicited (malformed) probe responses. To reduce
test flake, multiple attempts are made to receive a probe response.
The test fails if no probe responses are received, the device
disconnects or if the wifi card resets.

BUG=chromium:498018
TEST=tested on pit and lucas in wifi dev cell

Change-Id: Ib1902ab21503c65ce5028b3395ddf6f37de6888c
Reviewed-on: https://chromium-review.googlesource.com/278251
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: Rebecca Silberstein <silberst@chromium.org>
Commit-Queue: Rebecca Silberstein <silberst@chromium.org>
/external/autotest/server/site_linux_router.py
768e7b392eeb2856b71578535e35540c7e361f17 06-May-2015 mukesh agrawal <quiche@chromium.org> autotest (wifi): improve naming of some log files

The network_WiFi_OverlappingBSSScan test runs multiple
hostapd instances, and generates important information
in the hostapd logs. But the names for these log files
are hard to understand ('0' and '1').

Make the test output easier to navigate, by using
descriptive names for the hostapd logs.

Along the way:
- enhance site_linux_router, to allow for descriptive
log file names
- plumb descriptive log file names up through HostapConfig

While there:
- also use a descriptive name for the pcap
- also use descriptive names in network_WiFi_MultiAuth
- promote a lambda to a class method

BUG=chromium:485194
TEST=network_WiFi_OverlappingBSSScan.obss (new functionality)
TEST=network_WiFi_MultiAuth (new functionality w/simultaneous APs)
TEST=network_WiFi_SimpleConnect.wifi_check11a (regression check)

Change-Id: Ia87a7e28d9d8114b909ea0f8c0f8f50e8eb82a60
Reviewed-on: https://chromium-review.googlesource.com/269776
Trybot-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/site_linux_router.py
79784515ac5ecdf939bfda0affc0e59ca8156f2b 15-Apr-2015 Peter Qiu <zqiu@chromium.org> site_linux_router: fix local servers cleanup

Make a copy of self.local_servers and use it to iterate through
servers for cleanup. This avoids the problem where elements
are being removed from list while iterating through it at the same
time.

BUG=chromium:476582
TEST=Run network_WiFi_ConnectionIdentifier and
network_WiFi_VerifyRouter test

Change-Id: I243d9f9ec4507b66cc7a432877e9f140fd55bd14
Reviewed-on: https://chromium-review.googlesource.com/265831
Trybot-Ready: Zeping Qiu <zqiu@chromium.org>
Tested-by: Zeping Qiu <zqiu@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Zeping Qiu <zqiu@chromium.org>
/external/autotest/server/site_linux_router.py
cc4bd9e0e1e62cc8cb6bd4f45b46cc24343e1941 07-Apr-2015 Peter Qiu <zqiu@chromium.org> autotest: add network_WiFi_LinkMonitorFailure test

This test checks how fast the DUT detects the link failure when the
network link goes down (restarting the local server with a different
gateway IP), and how fast it reconnects back after the failure.

BUG=chromium:469761
TEST=Run this test
CQ-DEPEND=CL:264459

Change-Id: Ibf8c74f0361798b6f099ba9c9282d96d4b0d741c
Reviewed-on: https://chromium-review.googlesource.com/264457
Reviewed-by: Zeping Qiu <zqiu@chromium.org>
Commit-Queue: Zeping Qiu <zqiu@chromium.org>
Tested-by: Zeping Qiu <zqiu@chromium.org>
/external/autotest/server/site_linux_router.py
4d7bd3eceda729872137565a59b1817819991b7c 18-Mar-2015 Christopher Wiley <wiley@chromium.org> autotest: Start avahi on routers for privetd_PrivetSetupFlow

This test browses mDNS records over the WiFi network from the router,
which requires avahi running on the router. However, avahi is not
started by default.

BUG=None
TEST=Reboot a router (or stop avahi), run this test, observe that it
passes, unlike before.

Change-Id: I28ccb367b2f6958202d8a0ebd66db168408a9766
Reviewed-on: https://chromium-review.googlesource.com/260832
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Zeping Qiu <zqiu@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
4bfb1e992d002f3566800a6208bdddcb818c719e 13-Mar-2015 Peter Qiu <zqiu@chromium.org> network_WiFi_MissingBeacons: bring down AP interface to simulate AP disapperance

This is a much lightweight operation compare to the full AP teardown
(which takes more than 5 seconds to complete). This fix a possible race
where the wifi service is already removed from shill by the time we check
the state of that service. Also provides more accurate estimate for how
fast the client respond to beacon loss when AP disappears.

BUG=chromium:466355
TEST=Run this test

Change-Id: I056baae85c2ce6b0db25af56a3dc6780f94635d5
Reviewed-on: https://chromium-review.googlesource.com/259871
Reviewed-by: Zeping Qiu <zqiu@chromium.org>
Commit-Queue: Zeping Qiu <zqiu@chromium.org>
Tested-by: Zeping Qiu <zqiu@chromium.org>
/external/autotest/server/site_linux_router.py
630d6b4de994abf65f393b9b598defdaebd4dbb6 14-Feb-2015 Ben Chan <benchan@chromium.org> Fix more I/O redirection issues.

Various command invocations in autotest use the bash-specific I/O
redirection syntax '&>', which doesn't work when dash is used. Under
dash, `ls foo &> /dev/null` is executed as `ls foo &` and `> /dev/null`
separately. As the latter always returns 0, the actual exit status of
the whole command isn't correctly determined.

This CL fixes the issues by using '>file 2>&1' instead.

BUG=chromium:458678
TEST=Manually going through the code.

Change-Id: I7dd22a5e898a18c7ff3d2fb43714e985eaa05c99
Reviewed-on: https://chromium-review.googlesource.com/249996
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
/external/autotest/server/site_linux_router.py
cc770d973deaa14aa614b19d1dd0cb4d673767a8 03-Feb-2015 Christopher Wiley <wiley@chromium.org> privetd: Complete end to end bootstrapping test

BUG=brillo:8
TEST=privet_PrivetSetupFlow passes 30/30 times.

Change-Id: Idab9495c52c7db2b9f43cf4f2f1fc81bd9c102bb
Reviewed-on: https://chromium-review.googlesource.com/246662
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
ab3964fcc7d355e1c9d9de6be5ffe2b5583e52f1 26-Jan-2015 Christopher Wiley <wiley@chromium.org> privetd: Add end to end WiFi bootstrapping test

For now, this test merely sets up a router that we'll later attempt to
connect to, and confirms that the DUT is setting up its AP with an SSID
in the format that we expect. It ends by connecting the router to the
DUTs softAP as a client.

Some work is done to add additional configuration options for
the privetd device model, class, and name. This allows us
to pick out most of the characters in the SSID.

Some additional work is done to allow the router to connect to
the unencrypted bootstrapping network as a client.

BUG=brillo:8
TEST=This test passes up to the final TestNA indicating that it is
not complete. network_WiFi_TDLSPing still passes after changes to
add_connected_peer()

Change-Id: Ie46dad4c3442fadf38b7923334d522fb0113037d
Reviewed-on: https://chromium-review.googlesource.com/245462
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
9a63a8bd7e6c6cd49e673f40f1ae40234bea7321 03-Feb-2015 Peter Qiu <zqiu@chromium.org> apmanager: add autotest for bridge mode configuration

For testing configuration of the AP in bridge mode, a DHCP server is setup
on one end of the virtual ethernet pair, and the bridge interface is
configured on the othe end. hostapd will also add the AP interface to the
bridge interface, which allows the DHCP server configured on the virtual
etherenet pair to service all DHCP requests coming to the AP interface.

With this approach, the configuration support for virtual ethernet pair
and bridge mode interface are added to SiteLinuxSystem, where a linux
system will support at most one virtual ethernet pair and one bridge
mode interface.

Note that the current Stumpy router image (version b16) doesn't support
bridge mode interface in kernel (CONFIG_BRIDGE is not enabled).

BUG=chromium:448959
TEST=Run apmanager_SimpleConnect.bridge test

Change-Id: Ib462001ec7c4a9fd79ba59a2aa6ed8344a5c3d0b
Reviewed-on: https://chromium-review.googlesource.com/245756
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Zeping Qiu <zqiu@chromium.org>
Trybot-Ready: Zeping Qiu <zqiu@chromium.org>
Tested-by: Zeping Qiu <zqiu@chromium.org>
Reviewed-by: Zeping Qiu <zqiu@chromium.org>
/external/autotest/server/site_linux_router.py
b9b4685558f47fc81da44641e425c6ec64b78f5b 20-Dec-2014 Kris Rambish <krisr@chromium.org> Create the first 802.11ac perf test

BUG=chrome-os-partner:34851,chromium:444622,chromium:444627
TEST=Ran it.

Change-Id: Ifd209fe23ad1b7be1a1c62d3279adbe34b32f07f
Reviewed-on: https://chromium-review.googlesource.com/236973
Reviewed-by: Kris Rambish <krisr@chromium.org>
Tested-by: Kris Rambish <krisr@chromium.org>
Commit-Queue: Kris Rambish <krisr@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
684878e13d16aa904a6045fca344782497738631 18-Dec-2014 Christopher Wiley <wiley@chromium.org> autotest: Validate netblock strings before parsing

Consolidate all construction paths into a single helper function and
do some limited validation of passed in arguments before attempting to
parse them. This should get us more meaningful messages when tests
attempt to use invalid netblock strings in logic.

BUG=chromium:433621
TEST=network_BasicProfileProperties still passes.

Change-Id: Ic5887ed72ddd46b6dd14cb97c8e2f9747eea10ab
Reviewed-on: https://chromium-review.googlesource.com/236656
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Peter Qiu <zqiu@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
bde37ac84450ee61dffb1d9a78f80fc8aa5620b1 19-Dec-2014 Peter Qiu <zqiu@chromium.org> autotest: SimpleConnect test using apmanager

Verify client IP connectivity with an AP service provided by
apmanager.

BUG=chromium:442187
TEST=Run this test

Change-Id: I8dd771516bf13e21f3cb02bc417918863d9792a3
Reviewed-on: https://chromium-review.googlesource.com/236756
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Peter Qiu <zqiu@chromium.org>
Tested-by: Peter Qiu <zqiu@chromium.org>
/external/autotest/server/site_linux_router.py
3603922a2d0718a34eb4983663555ef9ed91a02b 14-Dec-2014 Christopher Wiley <wiley@chromium.org> autotest: Move path utilities out of wifi_test_utils

Refactor the utilities to be usable from a client context.

BUG=None
TEST=network_WiFi_SimpleConnect.wifi_checkWPA_TKIP passes.

Change-Id: If820921d777b0377f529ea40cc34c3377e192150
Reviewed-on: https://chromium-review.googlesource.com/236658
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
6b1d9e7eb7cc38012597d1ce4dcae2a6f39175a3 14-Dec-2014 Christopher Wiley <wiley@chromium.org> autotest: Consolidate WiFi/Bluetooth DNS name mangling

Adopt Bluetooth's style of rejecting IP addresses rather than
checking anything that doesn't look like the lab domain names.
Always prefer commandline specified hostnames to inferred hostnames.
While here, remove some WiFi test methods without callsites.

BUG=None
TEST=All of the following pass:
network_WiFi_SimpleConnect.wifi_checkWPA_TKIP (w/wo router_addr)
network_WiFi_AttenuatedPerf.ht40_c001
bluetooth_Sanity_Discovery

Change-Id: Ia76b0e159daeb6fe694dabd56a73fe544371de26
Reviewed-on: https://chromium-review.googlesource.com/236657
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
65fb921299de87194b60b5896bebc142f2309925 02-Dec-2014 Paul Stewart <pstew@chromium.org> Add checkTruncatedBeacon WiFi test

This tests that a client can connect to an AP even if the AP is
outputting a malformed, truncated beacon.

CQ-DEPEND=CL:232480
BUG=chrome-os-partner:33662
TEST=Run this test, on both ath9k and WP2 based cells

Change-Id: I3cf9f70fcf6445af250ff65d051816c486aee3f0
Reviewed-on: https://chromium-review.googlesource.com/232610
Reviewed-by: Peter Qiu <zqiu@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
7ad8c0d16338794f2b11eaae125aad8c457bfed8 04-Dec-2014 Paul Stewart <pstew@chromium.org> Remove extra debugging for hostapd timeout

The cause for the logging issue is due to line buffering, so its
okay to remove this now. This reverts
https://chromium-review.googlesource.com/208120

BUG=chromium:393667
TEST=network_WiFi_SimpleConnect

Change-Id: I8f8f8f3cf7ea90a1c733bc22e0660fd7ecbdc65a
Reviewed-on: https://chromium-review.googlesource.com/233186
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
eddedd3f9cb74e954b0c4b5a45947741285f1ff8 13-Oct-2014 Eric Caruso <ejcaruso@chromium.org> autotest: Add autotest for WoWLAN functionality

This is an important building block for some features, so we want
to make sure we don't regress here.

BUG=chrome-os-partner:32267
TEST=test_that using panther as AP with e.g. swanky

Change-Id: I582e05502eb5544947d007704fc14995651bdad1
Reviewed-on: https://chromium-review.googlesource.com/223390
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Eric Caruso <ejcaruso@chromium.org>
Tested-by: Eric Caruso <ejcaruso@chromium.org>
/external/autotest/server/site_linux_router.py
39e38f64f06a9550fbb9b07b3df559714d91157a 01-Oct-2014 Peter Qiu <zqiu@chromium.org> Bring up interface first before setting the frequency

This is also needed when setting up monitor interface for sending
management frames.

BUG=chrome-os-partner:32216
TEST=Run network_WiFi_ChannelScanDwellTime
DEPLOY=test_importer

Change-Id: Ia0fe387d64424d140d91cc3c28d4ad573f2275d9
Reviewed-on: https://chromium-review.googlesource.com/220650
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Peter Qiu <zqiu@chromium.org>
Tested-by: Peter Qiu <zqiu@chromium.org>
/external/autotest/server/site_linux_router.py
097f746f485e36b6ff0a72d44fc7f96e1b7f46c7 04-Sep-2014 Tien Chang <tienchang@google.com> Log hostapd stderr and stdout to separate files.

BUG=chromium:393667
TEST=Ran wifi_check5HT40, LowInitialBitrates

Change-Id: Ib153a1a6a2f7bf680d5a873829373118fb7a074b
Reviewed-on: https://chromium-review.googlesource.com/216357
Tested-by: Tien Chang <tienchang@chromium.org>
Reviewed-by: Tien Chang <tienchang@chromium.org>
Commit-Queue: Tien Chang <tienchang@chromium.org>
/external/autotest/server/site_linux_router.py
3c427ccf903838a80ad0cf2e21070c2410722675 24-Jul-2014 Christopher Wiley <wiley@chromium.org> Line buffer hostapd log output on WiFi routers

BUG=chromium:393667
TEST=WPA_TKIP still passes.

Change-Id: Iee9ff7c4a1b426506c512817ec5b8916bba778a4
Reviewed-on: https://chromium-review.googlesource.com/209678
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Mukesh Agrawal <quiche@google.com>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
e5fdbdc90049f617ca62b15f527ef51608f593dd 23-Jul-2014 Christopher Wiley <wiley@chromium.org> Collect WiFi router logs on test conclusion

BUG=chromium:395810
TEST=network_WiFi_SimpleConnect.wifi_checkWPA_TKIP still passes.
Suddenly, logs appear.

Change-Id: Ic5ccf4b9ab2c3913ca10050808c118630afbb658
Reviewed-on: https://chromium-review.googlesource.com/209508
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
ebafa130640ecd6cdc03fa63def1f88ed1fda0cc 15-Jul-2014 Christopher Wiley <wiley@chromium.org> Add some debugging for when hostapd times out during startup

TEST=network_WiFi_SimpleConnect.wifi_checkWPA_TKIP still passes with
this logic.
BUG=chromium:393667

Change-Id: I13cbc1009953e27cc816479132ac0c70a51aafc7
Reviewed-on: https://chromium-review.googlesource.com/208120
Reviewed-by: Peter Qiu <zqiu@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
a4754c0273504b9f65e359ce424a9ac48ff31c44 01-Jul-2014 Christopher Wiley <wiley@chromium.org> Fix hostapd shutdown timeouts

Fix a situation where the pgrep for hostapd sees the bash wrapper around
the pregp on the remote system, and never detects that hostapd is dead.

BUG=chromium:386336
TEST=network_WiFi_RateControl no longer times out during shutdown on a Leon in
the lab.
Change-Id: Iec2f5056c985f593cddf68301a7857392860886c
Reviewed-on: https://chromium-review.googlesource.com/206240
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/site_linux_router.py
297910b564a1772dba99d9bf24e3ae1550dfa975 01-Jul-2014 Christopher Wiley <wiley@chromium.org> Fix setting router hostname from the commandline

BUG=None
TEST=Passing the router hostname from the commandline now works as
expected.

Change-Id: I804afd313ddbfafca092a9af8e735fe50cc5cd79
Reviewed-on: https://chromium-review.googlesource.com/206306
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Peter Qiu <zqiu@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
9adeb2a17deb873553f654beddfa5750de80434d 19-Jun-2014 Christopher Wiley <wiley@chromium.org> Allow creation of WiFi router proxies outside of WiFi Tests

This enables us to construct just a LinuxRouter, instead of depending on
the WiFiTestContextManager and LinuxRouter to handle this process.

TEST=network_WiFi_SimpleConnect.wifi_checkWPA_TKIP still passes
BUG=chromium:365879

Change-Id: I3d79b84aafb7262801b3b93125025cab0ad17488
Reviewed-on: https://chromium-review.googlesource.com/204744
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
d6e503cd5cd2c5efad30f7d2df371f0c589e9647 24-Jun-2014 Christopher Wiley <wiley@chromium.org> Do hostapd log collection regardless of shutdown success

There are apparently some situations where hostapd times out.
Gather more information about what is happening in these cases
by collecting hostapd logs regardless of whether shutdown is
succesful.

While here, rewrite the hostapd instance dictionary as a namedtuple.

BUG=chromium:386336
TEST=wifi_matfunc continues to pass with these changes.

Change-Id: Ie759aefea5daca6f6c2939b941136c285de2813c
Reviewed-on: https://chromium-review.googlesource.com/205292
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
faaecd89e5cf05d2292bd7515178f759b818eebb 29-May-2014 Christopher Wiley <wiley@chromium.org> Don't set antenna mask for devices that don't support it

Newer iwlwifi parts don't support this antenna mask, and
attempting to set it causes test to fail when the command
errors out complaining about this. Work around this by
not setting the antenna mask if that operation is not supported.

BUG=chromium:377044
TEST=iwlwifi based parts can set up APs in the 2.4Ghz range after
this patch.

Change-Id: Ife691640c8961d7c19d8a1688718fecd4abe9e04
Reviewed-on: https://chromium-review.googlesource.com/203960
Reviewed-by: Peter Qiu <zqiu@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
0f64b840ff4deab3cd1c7f1bfd57b6d2d1513d37 01-May-2014 Christopher Wiley <wiley@chromium.org> Make site_linux_router work with hostapd 2.1

The newer version of hostapd does not include command line flags to
write out a pid file.

BUG=chromium:365816
TEST=network_WiFi_SimpleConnect.wifi_checkWPA_TKIP passes with the older
hostapd we use today, as well as hostapd 2.1.

Change-Id: Ifdad0199d3c3b7d2451909a102c9a200041a6e3e
Reviewed-on: https://chromium-review.googlesource.com/200260
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Peter Qiu <zqiu@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
08aafb05fb99d5087fb1bd65d4862b5a59f5939a 23-Apr-2014 Christopher Wiley <wiley@chromium.org> Make generated SSIDs in tests unique

This allows us to strongly assume that all generated SSIDs are unique.

BUG=chromium:365813
TEST=wifi_matfunc passes with this test. SSIDs are now uniquified by
log inspection.

Change-Id: Ie8e5beae1adb466001713f6fb1b4abe939e49847
Reviewed-on: https://chromium-review.googlesource.com/196543
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
c4beba05d7e439bfb9e9c7bd28e7d248782a4531 24-Mar-2014 Peter Qiu <zqiu@chromium.org> Channel scan dwell time test

This test instructs a router to continually send beacon frames for a
predefined set of BSSes at a specific interval. The BSSes are named
with an index suffix in hex numerical order. The device under test is
instructed to perform a single channel scan while the beacon frames are
being sent by the router. Based on the SSIDs in the scan results, we
can estimate the device dwell time.

BUG=chromium:354685
TEST=Run this test

Change-Id: Ib8034a112b37ba6584a2b1d8009b2126f2dbd5e4
Reviewed-on: https://chromium-review.googlesource.com/191287
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Peter Qiu <zqiu@chromium.org>
Commit-Queue: Peter Qiu <zqiu@chromium.org>
/external/autotest/server/site_linux_router.py
594570dc4b2a3445054b58e50545416e4bc48f36 15-Mar-2014 Christopher Wiley <wiley@chromium.org> Wait for correct IP subnet changes during roaming

This allows roaming tests to pass when run against drivers
that do roaming without involving userspace. In these situations
we're briefly associated with the roaming target before we detect
that our DHCP lease is invalid and re-negotiate the lease. Tolerate
that window by also waiting for the IP address on the WiFi interface
to move to the correct subnet.

Add a library to make common netblock->mask/subnet/broadcast address
calculations. Pull duplicate logic to do this out of interface.py
and site_linux_router.py.

BUG=chromium:352847
TEST=wifi_matfunc continues to pass with this change.

Change-Id: I2e6786514aee533e36eb84e1329f19891d3744ba
Reviewed-on: https://chromium-review.googlesource.com/190173
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
aeef9b52c54a27098925b44d93f270a6d8f29e3b 11-Mar-2014 Christopher Wiley <wiley@chromium.org> Remove site_linux_server

This class doesn't make sense in the new world with only a router
and a DUT. We get most of the utility of what used to be the server
by creating delegate objects which understand how to use commands in
depth. For instance, netperf is run by the NetperfRunner rather than
being split between the client and the server. NetperfRunner now
uses proxy_object.wifi_ip without worrying whether the proxy object
is a DUT or a router. Netperf runner also looks up netperf commands
by itself rather than depending on the proxy object.

BUG=chromium:351555
TEST=All of wifi_matfunc passes with this change.

Change-Id: I093a488b0999cb6c418cab04ff02b3cf0f33136a
Reviewed-on: https://chromium-review.googlesource.com/189625
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
c89c9a2bdcee11d6c01a32587c1b07deba068d9a 27-Feb-2014 Peter Qiu <zqiu@chromium.org> HostapConfig refactor

Refactor HostapConfig class to have it generate config dictionary. Updated variables' name scope to internal when possible.

BUG=chromium:347346
TEST=Run full wifi_matfunc test suite.

Change-Id: Ibbfce87fc25b57da3e411517d5da7a0e9e77aa73
Reviewed-on: https://chromium-review.googlesource.com/188169
Tested-by: Peter Qiu <zqiu@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Peter Qiu <zqiu@chromium.org>
/external/autotest/server/site_linux_router.py
2f973257222dfdb62e760d6a3cd860b756c99375 21-Feb-2014 Peter Qiu <zqiu@chromium.org> Antenna verification test for router

Added tests to verify each antenna in the router is working.

BUG=chromium:343184
TEST=1. Verify no connection failure when running this test.
2. To induce a "failure" with this test, manually put a terminator on one antenna in the router.
Run this test.
Verify connection failure or connected with weak signal (signal leak from terminator) when the terminated antenna is the only one active

Change-Id: I47e9e01ee6489b013b29d8f36238da9d1e425268
Reviewed-on: https://chromium-review.googlesource.com/187337
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Peter Qiu <zqiu@chromium.org>
Tested-by: Peter Qiu <zqiu@chromium.org>
/external/autotest/server/site_linux_router.py
2e5313a1c1857c33dcfaceadc2bbfc4702df1796 14-Feb-2014 Paul Stewart <pstew@chromium.org> Fix mental error in get_hostapd_mac

It appears this code wasn't tested before it was committed,
since it never had a chance... :-)

BUG=None
TEST=Make sure the error:
AttributeError: 'str' object has no attribute 'Interface'
doesn't happen any more due to
ap_interface = interface.Interface(interface, self.host)

Change-Id: I42aeedf3e47de64260a84bbb2386dff1f76f22b0
Reviewed-on: https://chromium-review.googlesource.com/186580
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
a3effac3fccddab79ff0b8a962ab8b457620180c 05-Feb-2014 Christopher Wiley <wiley@chromium.org> autotest: Add a test to verify correct attenuator operation

This test sets up APs on available router phys, then measures signal
levels as observed by the client at various attenuation levels. The
user is assumed to inspect these values for linear trends.

TEST=Test passes on chromeos1-grover-host2, which is the sole
remaining correctly configured grover setup. Once the attenuator
control code is updated to handle 4 attenuators per router,
we can test against these new setups.
BUG=chromium:340868

Change-Id: I996f5313313d3b8e2c5b4881daa4388b0c082dc8
Reviewed-on: https://chromium-review.googlesource.com/185246
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
80bb337cf08c8868d698ca514f59721bb971161c 23-Jan-2014 Paul Stewart <pstew@chromium.org> Fix control interface for hostapd instances

Fix deauth_client to glean the control interface out of the
config dictionary for the instance instead of expecting it to
be at the top-level instance. While here, generate a
per-interface control interface file

BUG=None
TEST=New test which calls deauth_client

Change-Id: I5e5e5258330d8ac373eb1a6d615474a77441f9b7
Reviewed-on: https://chromium-review.googlesource.com/183544
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
408d1814becea6bacde78abb0327bb09a5b542c7 14-Jan-2014 Christopher Wiley <wiley@chromium.org> autotest: Refactoring and cleanup for LinuxRouter

In general, this patch tries to remove some of the invisible state and
opaque configuration built into the router. As we've extended the
router to do more things, concepts like the "phytype" of the router no
longer make sense, because we can be multiple phytypes at once.
Fortunately, the phytype is easily inferred from the type of interface
we hope to configure. We also had a number of interfaces to configure
various aspects of how the router worked that we never used and added
complexity.

Removed params dict for LinuxRouter/LinuxSystem.
Deprecated self.router field for LinuxRouter.
Removed LinuxRouter.create_wifi_device() since we now have
hostapd/wpa_supplicant/ibss (phytype) specific method calls.
Removed LinuxRouter.destroy() method in favor of deconfig().

BUG=None
TEST=wifi_matfunc passes with these changes on a spring.

Change-Id: I1d77499b5e544813956e6f8018ca328c466046e8
Reviewed-on: https://chromium-review.googlesource.com/182636
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
5689d3618fd41cb5951a5fc2cc5f772c8997dab9 08-Jan-2014 Christopher Wiley <wiley@chromium.org> autotest: Only expect BSS's on current SSID from background scans

johannes.berg@intel.com notes that background scans are used in the
context of roaming in wpa_supplicant, and results from background scans
are restricted to BSSes on the SSID we're currently associated with.
Fix our tests to reflect this by putting the BSS we're checking for
on the same SSID as the BSS we're associated with.

While here, refactor the code for retrieving hostapd MAC addresses so
that it uses shared ip addr parsing code.

BUG=chromium:332250
TEST=This is a test that continues to pass on ath9k parts, and now seems
to pass against mwifiex parts.

Change-Id: I7069a5caf29248cca766eed0bdcb186c2e95b26d
Reviewed-on: https://chromium-review.googlesource.com/181813
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
f671a5ac963909c63ff577754925a79a602fbb4e 14-Dec-2013 Christopher Wiley <wiley@chromium.org> autotest: Make WiFiClient an instance of LinuxSystem

This lets us consolidate some packet capture code and enables
us to use dual radio stumpies as both packet capture machines
and WiFiClients at the same time.

BUG=chromium:308214
TEST=wifi_matfunc still passes with these changes.
Taking packet captures with this modified WiFiClient still works.

Change-Id: Id143357f63be5ef2c8914cf0ff295408ab9b143b
Reviewed-on: https://chromium-review.googlesource.com/180097
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
eea1236dcf4238aa8c07d62b65c9fbcb26d064d4 13-Dec-2013 Christopher Wiley <wiley@chromium.org> autotest: Remove LinuxCrosRouter and remove site_wifitest artifacts

Since we only have one router implementation, remove the hacks to
support multiple types of routers.

Since we no longer have site_wifitest, remove the interfaces it
used to call into LinuxRouter through.

While we're here, kill the |hostapd| field of LinuxRouter. It is
a dictionary that combines static constants with fields written by
the most recently instantiated router instance. Leave the similar
station dictionary since we don't allow multiple stations
simultaneously. In that case, the most recently instantiated station
is the only station.

TEST=wifi_matfunc passes with these changes.
BUG=chromium:328173

Change-Id: Idf86e2932cfd71ea5d01cc79e103f5e660ff5ae6
Reviewed-on: https://chromium-review.googlesource.com/180042
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
8c5ae9abe9e6c13f983bc495a730d0ef480108cc 04-Dec-2013 Christopher Wiley <wiley@chromium.org> autotest: Migrate network_WiFiRoaming.011PMKSACaching

BUG=chromium:325924
TEST=wifi_matfunc passes with this test added.

Change-Id: I62ded27a8242f4d58ae090846b9c0893e981033a
Reviewed-on: https://chromium-review.googlesource.com/179375
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
b01839befac23b2c49cd567b10687e2741d2bc4e 07-Dec-2013 Paul Stewart <pstew@chromium.org> Get rid of manual ARP hack in TDLSPing

Instead of plugging in an IP address manually in the TDLSPing
test, set the proper kernel parameters in the interface so the
AP no longer responds to ARP requests for the peer. This will
be useful to allow us to properly validate that ARP requests
work when TDLS operations are performed against IP addresses.
There's no need to reset these values when the test ends or
starts, since all the devices involved are removed every time
the test starts, and when they get created they return to their
default state.

BUG=chromium:326518
TEST=This is a test

Change-Id: Ia7a11027596bc3b581203e3e211da497f9a3b1fb
Reviewed-on: https://chromium-review.googlesource.com/179271
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
4f49a5d1571166da0aff2f04a7ba4b867d39b936 26-Nov-2013 Christopher Wiley <wiley@chromium.org> autotest: Fix IBSS interface teardown

This fixes network_WiFi_IBSS, which was failing during router teardown.

BUG=chromium:323361
TEST=network_WiFi_IBSS passes.

Change-Id: I70a0b56500d3ac3bcfc4a37929cbc47f518e6fb2
Reviewed-on: https://chromium-review.googlesource.com/178127
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: David James <davidjames@chromium.org>
/external/autotest/server/site_linux_router.py
6ddeba733cfdb86ae4399159a2d8c1b71ed54fa6 18-Nov-2013 Paul Stewart <pstew@chromium.org> Add router method for adding a connected peer

Add a method that attaches a client to a running hostap instance.
In a typical testbed configuration, this means that one wireless
radio in the server instance connects to the other radio. This
allows testing operations that the DUT may perform with other
devices connected to the same AP.

BUG=chromium:318166
TEST=Upcoming TDLS autotest

Change-Id: I1469d6a3e14e5fde33e53f05ff5bfd46420c6bc6
Reviewed-on: https://chromium-review.googlesource.com/177211
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
4cd4b3f90a4472f40daf1c519ccecfdad699f063 12-Nov-2013 Christopher Wiley <wiley@chromium.org> autotest: Migrate network_WiFiRoaming.005* to new framework

TEST=This is a test that passes.
BUG=chromium:263892

Change-Id: Ia7700a39057f24a731d77bc7114b920def4fadb0
Reviewed-on: https://chromium-review.googlesource.com/176477
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
e0afecb1d367afa6b957b01f31d006a4acfe022d 11-Nov-2013 Christopher Wiley <wiley@chromium.org> autotest: Detect ambiguous hostapd SSID references

LinuxRouter.get_ssid() will default to using the first instance of
hostapd that was configured, but this may not be desirable in those
rare cases where we configure multiple instances. When a developer
makes an ambiguous reference, detect this and raise an error rather
than behaving in an unexpected way.

TEST=wifi_matfunc runs correctly with this change after the remaining
WiFiManager tests are migrated.
BUG=None

CQ-DEPEND=CL:176149
CQ-DEPEND=CL:176403

Change-Id: I77ffa7063da998d89ebbd2d54480f203cb67d1f5
Reviewed-on: https://chromium-review.googlesource.com/176466
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
3099be72171ff9a3bafb81a734d57e317166e6f6 07-Nov-2013 Christopher Wiley <wiley@chromium.org> autotest: Add simple test to verify operation of dual radio router

This will assist us in bringing up multi-radio routers quickly.

TEST=suite wifi_matfunc passes with these changes to
site_linux_system.py
BUG=chromium:313963
Change-Id: Id4fa86b9df0d3ba68c9fed2e546e894ddd84aee0
Reviewed-on: https://chromium-review.googlesource.com/176117
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
e4074dde90facd7b601a5b3f58caa92b5f449e1c 30-Oct-2013 Wade Guthrie <wdg@chromium.org> autotest: Migrates network_WiFiRoaming/004SuspendTimeout to new method.

Replaces network_WiFiRoaming/004SuspendTimeout test with script and control
file in network_WiFi_RoamSuspendTimeout directory. New code conforms to test
infrastructure changes provided to address crbug.com/224443.

In this test, the DUT connects to the AP and goes to sleep. While the
DUT is asleep, the AP deauths the DUT. The test checks to see whether
the DUT reconnects after it wakes up.

BUG=chromium:263889
TEST=autotest

Change-Id: I7783c342fbe5d9fcd97d4b333996e70f58df55e4
Reviewed-on: https://chromium-review.googlesource.com/176010
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Wade Guthrie <wdg@chromium.org>
Commit-Queue: Wade Guthrie <wdg@chromium.org>
Tested-by: Wade Guthrie <wdg@chromium.org>
/external/autotest/server/site_linux_router.py
7bd2e085f97343b6222761778374ecbd7aaee210 17-Oct-2013 Christopher Wiley <wiley@chromium.org> autotest: Refactor iw related code into a delegate

This allows us to easily reuse our interfaces to iw, such as
the parsing of iw list. The iw list parsing has been improved
to additionally parse supported 802.11n MCS indices.

TEST=wifi_matfunc continues to pass with these changes
BUG=chromium:308326

Change-Id: I92da1174d981bf0ba5f97227b68157ce9c2a6ecb
Reviewed-on: https://chromium-review.googlesource.com/173642
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: David James <davidjames@chromium.org>
/external/autotest/server/site_linux_router.py
7337ff67320ead1bd86680354070b7a936be3e0d 04-Oct-2013 Christopher Wiley <wiley@chromium.org> autotest: Fix site_wifitest errors for tests in wifi_matfunc suite

site_wifitest was erroneously trying to call sync_host_times on the host
objects for the client, router, and server rather than the appropriate
wrappers. The command lookup was broken on RSPro/Netgear setups. RSPro
cells need a different command line to start hostapd and send its logs
to a file. The hostapd on those setups also doesn't seem to write out
its PID file, so move the logic that checks hostapd start health

BUG=None
TEST=network_WiFiManager tests pass again on stumpy cells. 092* passes
on an RSPro cell. The remaining 3 Manager tests still fail on RSPro
cells, but this is because wait_service expects to find that the service
is online, when it is only portalled in those setups.

Change-Id: I5db662d1567bed812c7a1879b750d870bbed0048
Reviewed-on: https://chromium-review.googlesource.com/171792
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
fcaaf021798c3bf2abddab770d594e95fbd23b58 06-Sep-2013 Wade Guthrie <wdg@chromium.org> autotest: Migrates network_WiFiRoaming/003SSIDMultiSwitchBack to new method.

Replaces a portion of network_WiFiRoaming/00SSIDMultiSwitchBack test
with script and control file in network_WiFi_SSIDMultiSwitchBack
directory. The 'low signal' tests will be submitted in a different CL.

New code conforms to test infrastructure changes provided to address
crbug.com/224443.

This roaming test configures 2 radios (different frequencies and BSSIDs) on
the same SSID, connects to one, and cuts its power to simulate an
out-of-range event. It then verifies that the DUT discovers this and
connects to the other radio. Wrote the test to use the
BeagleBone-connected RF attenuators (currently requires a specific
setup: chromeos3-grover-host1) to change the AP's transmit power rather
than the previous 'iw' command that didn't work, anyway.

This CL required various plumbing efforts in the test infrastructure:
- mulit_interface. Augmented RvRTestContextManager.configure to take, and
pass-through, multi_interface (did is_ibss while I was there) to allow
configuration of an AP to use 2 radios. Modified LinuxRouter to respond
to its multi_interface parameter.
- ap_num. Added ap_num to WifiTestContextManager.wait_for_connection and
.assert_ping_from_dut so that I could ping the second radio on an AP.
- port and MAX_ATTENUATION. Added port-specific attenuation calls to
Attenuator and made set_variable_attenuation public so that I could set
max attenuation (which is relative to the fixed_loss of the attenuator --
added MAX_ATTENUATION, as well).

BUG=chromium:263887
TEST=autotest (this one).

Change-Id: I00d3b445a22b0a94579f3b033b8f6039764d8c2a
Reviewed-on: https://chromium-review.googlesource.com/168457
Reviewed-by: Wade Guthrie <wdg@chromium.org>
Commit-Queue: Wade Guthrie <wdg@chromium.org>
Tested-by: Wade Guthrie <wdg@chromium.org>
/external/autotest/server/site_linux_router.py
b1ade0a2d46bc22cbc109c706a165ba26c46d105 16-Sep-2013 Christopher Wiley <wiley@chromium.org> autotest: Expose subnet prefix in site_linux_router

This lets tests check that the IP address they have been assigned
looks like it belongs in the correct IP range.

BUG=chromium:294856
TEST=check11b still passes

Change-Id: Ifbb22a7ecb2c89c6641694238c42d0f9fd334a86
Reviewed-on: https://chromium-review.googlesource.com/170004
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
4bca01e7a98a879e69715d88415b5922fc9aedbf 13-Sep-2013 Christopher Wiley <wiley@chromium.org> autotest: Tolerate missing dhcpd on client systems.

While routers have to have dhcpd, client systems may not. However,
WiFiClient uses LinuxSystem to look up its own capabilities. Tolerate
that we may not have dhcpd in that case.

TEST=test_that --fast chromeos3-grover-host2 e:.*check11b passes.
BUG=chromium:294856

Change-Id: I7d0a9ef9371c4d28e39b13f2ded1f6e03277e12b
Reviewed-on: https://chromium-review.googlesource.com/170021
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
32fbb7a4c65f7c412c671ec193552b5302fcd995 18-Sep-2013 Christopher Wiley <wiley@chromium.org> autotest: Automatically infer HT40+- in HostapConfig

Allow test writers to specify that they want to configure hostapd with a
strict HT40+ configuration, a strict HT40- configuration, or any
supported HT40 configuration depending on what the channel supports.

TEST=All HT40 tests remain passing. A pending test that only specifies
an HT40 test correctly picks HT40+ vs HT40- depending on the channel
selected.
BUG=None

Change-Id: I4b3b724c23a0e89e38ee5b672be577ffcdda3df3
Reviewed-on: https://chromium-review.googlesource.com/169904
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
1defc24748b13dd3606741b7b3ce65ae5fa3a645 18-Sep-2013 Christopher Wiley <wiley@chromium.org> autotest: Detect hostapd startup failures

Detect when hostapd fails to start because of invalid configurations.
For instane, HT40+ on channel 153 causes hostapd to start but later
fail during interface configuration. With this patch, this sort of
failure is detected correctly.

This should also eliminate some flake for HT40 tests since hostapd
starts up with a scan of neighboring channels (presumably to figure
out how polite it needs to be to non-802.11n clients). This causes
the first beacons from hostapd to appear significantly later than
the start of DUT WiFi scanning.

While here, use the hostapd options to daemonize itself and log output
to a file with timestamps. Clean up that file before hostapd start.

TEST=A hostapd instance asked to configure itself on channel 153 with
HT40+ will fail.
BUG=None

Change-Id: Ib91cee871ba5f405940dd5f0b23c53f4bb884eb4
Reviewed-on: https://chromium-review.googlesource.com/169871
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
4ae471eeb2afd523e73d8fef38af5e0a31b380b2 05-Sep-2013 Paul Stewart <pstew@chromium.org> Add a test for OBSS background scan back-off

This test is similar to the current BgscanBackoff test, except that
scans are triggered by the 802.11n Overlapping BSS detection scans
as opposed to wpa_supplicant's background scan mechanism. To do so,
we add configuration to wpa_supplicant to request that clients perform
these scans, then test both that the client performs the scan (by
monitoring the hostapd log) and that these scans do not disrupt the
latency.

CQ-DEPEND=CL:167975
BUG=chrome-os-partner:22474
TEST=This is a test

Change-Id: I0b4d2393f35637cf37670f79afc8e40a82f6c256
Reviewed-on: https://chromium-review.googlesource.com/168122
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
f4bc88b6ea84fe8acddd98bd060b78e06cd255d9 30-Aug-2013 Christopher Wiley <wiley@chromium.org> autotest: Clean up host objects in WiFi tests

Previously we failed to close() our host objects representing remote
routers and servers. This leaves master SSH connections idling in
the background. Clean these objects up in a uniform way in the WiFi
test context manager.

BUG=chromium:281542
TEST=test_that stops after test completion. This happened because it
is polling on a PIPE which through a nefarious series of child process
execs, ends up in the pending SSH processes.

Change-Id: I0bae0bce29bdd0f3ad563e08699b421560a6db94
Reviewed-on: https://chromium-review.googlesource.com/167573
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Wade Guthrie <wdg@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
2553694485b56d1e6d503f99420168742e6f62b5 16-Aug-2013 Paul Stewart <pstew@chromium.org> Add an alternate detection technique for WiFi_Regulatory

In addition to testing for ping packet loss, also test for
reception of a DEAUTH frame at the AP. Adherence in some
devices can only be detected by packet loss (they leave
the channel silently) so leave both detection methods in
parallel.

BUG=chrome-os-partner:20691
TEST=Run test on daisy, lumpy and a WP2 device

Change-Id: Id8610d5650c1dc0edf0c51933377bdb33f11c676
Reviewed-on: https://gerrit.chromium.org/gerrit/66015
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
0ff28ab564ed79ea0b18dabcc6b92dab35566fc4 12-Aug-2013 Christopher Wiley <wiley@chromium.org> autotest: Fix site_wifitest based tests

Due a a recent change to the way SSID's are formed:

https://gerrit.chromium.org/gerrit/#/c/64955/

site_linux_router objects now raise an exception when an SSID
is requested from a router that is not currently configured.
Fix this by removing an unecessary call to disconnect the DUT
during test cleanup. Whether the DUT is connected or not, when
profiles get popped shortly afterward, the DUT will disconnect then.

While we're here, rename _get_ssid() to _build_ssid() to distinguish it
from the more dangerous get_ssid(). The two serve very different
functions.

BUG=None
TEST=suite:wifi_matfunc passes locally.

Change-Id: Ifa9906110f59f28e191ac9b8e8ecef95fdaf6922
Reviewed-on: https://gerrit.chromium.org/gerrit/65609
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
3166e43574382ad8776da2abad5060ec45068c82 06-Aug-2013 Christopher Wiley <wiley@chromium.org> autotest: Clean up default SSID logic

This causes stumpy cells to stop having SSIDs that start with
chromeos1-shelf... This was happening because the path to the
ip command is different on stumpy cells, and this logic was hardcoding
this command. Fix this by moving the building up of default SSIDs to
inside the Linux router where it rightly belongs.

BUG=None
TEST=Ran wifi_matfunc suite, which shows that both old and new style
tests are compatible with this change. Ran a test out of
network_WiFiPerf which actually triggers the SSID generation logic
to prove that older WiFi tests also benefit from this change.

Change-Id: Ib33407503a0a1c6d8922d84e9c4458be43a6dd06
Reviewed-on: https://gerrit.chromium.org/gerrit/64955
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
99d42c95fa5c12285fb129b50445a60c9a145dd3 10-Jul-2013 Christopher Wiley <wiley@chromium.org> autotest: Move hostap_config.py to server/cros/network

TEST=Ran check11b successfully. This indicates that objects were
imported and instantiated correctly.
BUG=chromium:258537

Change-Id: Icfb68a218ca54a019610a342188469c26a706af3
Reviewed-on: https://gerrit.chromium.org/gerrit/61362
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
ebdc27dd5803bad2bf5e78f2a92661b9c7944e88 28-Jun-2013 Christopher Wiley <wiley@chromium.org> autotest: Migrate network_WiFiSecMat/023CheckWPA_AES_PMF

TEST=This is a test. It passes.
BUG=chromium:255247
Change-Id: I4b4c14f6f514d93941afe70f7b4c14d082849db0
Reviewed-on: https://gerrit.chromium.org/gerrit/60541
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
51b0f38d9deeda76bff85eaba3b1e74bf4734eb2 12-Jun-2013 Paul Stewart <pstew@chromium.org> Add regulatory test for channel move

Inject an 802.11h Spectrum Management Channel Switch Action Frame
into an actively running 802.11 connection and ensure that the
client vacates the channel.

CQ-DEPEND=CL:*39532
BUG=chrome-os-partner:19953
TEST=This is a test; Passes with Lumpy. Fails with daisy ToT, and
passes with daisy with kernel changes to support 802.11h.

Change-Id: I25a5d35e5a7f0c429ea52eb38ab9a8fce6c27211
Reviewed-on: https://gerrit.chromium.org/gerrit/58431
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
b8921c718c68ff4303a8602edd072f9ab21db407 13-Jun-2013 Christopher Wiley <wiley@chromium.org> autotest: Refactor WiFi security credentials into per type classes

This lets us be a little more abstract about the types of security
credentials we support in testing, and concentrates the relevant logic
into one place.

TEST=Passes both:
./run_remote_tests.sh --remote=chromeos1-shelf1-host3 check11b
./run_remote_tests.sh --remote=chromeos1-shelf1-host3 checkStaticWEP40
which indicates this works for both open and WEP security types.
BUG=chromium:249096
CQ-DEPEND=CL:58588

Change-Id: I085665db9bead45fcd8d0b94a136b9dac2f646da
Reviewed-on: https://gerrit.chromium.org/gerrit/58589
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
a89706d9e8c062bfa70a5a4b168c15bedadcd169 12-Jun-2013 Christopher Wiley <wiley@chromium.org> autotest: Add WEP support to new WiFi test framework

Add support for a couple more settings related to WEP encryption. Make
it easy to get appropriate shill credentials.

TEST=A test depending on these bits passes.
BUG=chromium:245808

Change-Id: I3e69d5144dbb06e1283c6652a72632819b1ddf13
Reviewed-on: https://gerrit.chromium.org/gerrit/58422
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
1febd6ad71496ac14c022f9156939daa2e1f5d71 03-Jun-2013 Christopher Wiley <wiley@chromium.org> autotest: Migrate network_WiFiMatFunc/011CheckIBSS to new framework

TEST=This is a test, it passes. In addition, running 011CheckIBSS still
passes with the modifications to site_wifitest. check11b also passes.
BUG=chromium:245907
CQ-DEPEND=CL:57385

Change-Id: Ibd370bfb5e0fd21e3bce084834e8f38a8512422d
Reviewed-on: https://gerrit.chromium.org/gerrit/57386
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
9b40620be124c36a217e3d467260c53c204f2024 06-May-2013 Christopher Wiley <wiley@chromium.org> autotest: Convert network_WiFiMatFunc/012CheckMaskedBSSID

Rewrite network_WiFiMatFunc/012CheckMaskedBSSID to use the new WiFi
framework. In the process, move the logic to trigger a scan over to
WiFiClient. Also expand hostapd_configure in site_linux_router to
handle SSID and BSSID configuration settings.

TEST=The following:
./run_remote_tests.sh --remote=chromeos1-shelf1-host4 wifi_masked_bssid
(Fails with TestNA because this is a RSPro cell)
./run_remote_tests.sh --remote=chromeos1-shelf1-host3 wifi_masked_bssid
(Passes)
./run_remote_tests.sh --remote=chromeos1-shelf1-host3 \
network_WiFiRoaming --args='test_pat=006*'
(Passes; Verifies that scanning is working for older site_wifitest tests)
BUG=chromium:230660

Change-Id: I95ffbeb2cc0361fb98289fc8623fe6dfe33eb25d
Reviewed-on: https://gerrit.chromium.org/gerrit/50557
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
e1235b673a0cbd616b6cc828052626ca2039024f 04-May-2013 Christopher Wiley <wiley@chromium.org> autotest: Migrate network_WiFiMatFunc/010CheckRxFrag to new framework

Also added HostapConfig flags for fragmentation threshold.

BUG=chromium:230660
TEST=This is a test. It passes.

Change-Id: I981499ef0c7f2dc7d517fb9bddbccc1bf18360e9
Reviewed-on: https://gerrit.chromium.org/gerrit/50088
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
a51258ec1a2018d67ee36799454983dde304130b 03-May-2013 Christopher Wiley <wiley@chromium.org> autotest: Convert DTIM period test to new WiFi framework

This is another straightforward migration of a test to the new WiFi
framework. As part of this change, we migrate powersave controls to
WiFiClient, and add DTIM period support to HostapConfig.

TEST=Ran:
./run_remote_tests.sh --remote=chromeos1-shelf1-host4 check_dtimperiod
./run_remote_tests.sh --remote=chromeos1-shelf1-host4 \
network_WiFiMatFunc --args="test_pat=007*"
Which test both that the migrated test works and that the power save
migration is functionally identical to before.
BUG=chromium:230660

Change-Id: I4593bb6c61625ef69e0bf0256288a0cc9b031846
Reviewed-on: https://gerrit.chromium.org/gerrit/50065
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
9fa7c63da6ca34e79f952beda8fecde0b87548fa 01-May-2013 Christopher Wiley <wiley@chromium.org> autotest: Convert WiFi beacon interval test to new framework

Remove the old beacon interval checking in WiFiMatFunc and replace it
with a new test in a more modern style. Expand HostapConfig to
understand beacon intervals and site_linux_router to correctly interpret
the set interval. Move the logic to check iw link values into
WiFiClient and delegate calls from site_wifitest to WiFiClient.

TEST=Ran successfully:
./run_remote_tests.sh --remote=chromeos1-shelf1-host4 check_bintval
./run_remote_tests.sh --remote=chromeos1-shelf1-host4 \
network_WiFiMatFunc --args="test_pat=006*"
These verify the migrated test and that the iw link parsing delegation to
WiFiClient is working respectively.
BUG=chromium:230660

Change-Id: I2d7a2e07da33ac602faadadf02f95d473f75b91c
Reviewed-on: https://gerrit.chromium.org/gerrit/49774
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
7d414cc0bb51ed1509834d4b4ffa300c2bb610d4 18-Apr-2013 Christopher Wiley <wiley@chromium.org> autotest: Refactor router configuration

1) Add new HostapConfig object which abstracts and aids router
configuration.
2) Change new WiFi tests to configure routers through a configure()
method on the WiFiTestContextManager. This facillitates packet
captures since we start the captures at configuration time. Routing
this call through the context lets us share a common point to
start client/server/router captures, similar to site_wifitest.

TEST=network_WiFi_SimpleConnect/control.* pass. Manually inspected the
802.11n parameters for correctness.
BUG=chromium:231429

Change-Id: Ifa4b92ce96094451864769bb5b3df806017773a1
Reviewed-on: https://gerrit.chromium.org/gerrit/48668
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
f99e6cc0b0ae18c9b82720e625145bc3d8ed0805 19-Apr-2013 Christopher Wiley <wiley@chromium.org> autotest: Fix autotest linter warnings in site_linux_router

These warnings are both annoying and lead committers to skip the linter
rather than fix old code. Fix the warnings once and for all.

TEST=network_WiFi_SimpleConnect/control.check11b passes, indicating the
file is still syntactically correct.
BUG=None.

Change-Id: Ib1847683624ec1e9ece0e4b3faf159b1901e481f
Reviewed-on: https://gerrit.chromium.org/gerrit/48666
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
05262d6941701037ff9a3d1d4016978af0b5d2e2 18-Apr-2013 Christopher Wiley <wiley@chromium.org> autotest: Fix network_WiFiMatFunc/011CheckIBSS

This still doesn't pass on Snow, but at least it fails for a reason
other than undefined variables.

BUG=None
TEST=Test runs, even if not successfully.

Change-Id: I3d5bbab10ffc95244a7df3e6347349b225c13101
Reviewed-on: https://gerrit.chromium.org/gerrit/48466
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
d89b528e0d664f8bdadbbfe669c6629abfe0f6c0 11-Apr-2013 Christopher Wiley <wiley@chromium.org> autotest: Make params optional for site_linux_router deconfig/destroy

This lets us not pass empty dictionaries about in future tests.

TEST=Ran network_WiFiMatFunc/000Check11b which performs both operations.
BUG=None

Change-Id: Ic1bf328391bdaec34fc4eacd16ce160a517b1e7d
Reviewed-on: https://gerrit.chromium.org/gerrit/47810
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
14796b31ab7e18d35fe6e0dec08679f776e5fbe0 03-Apr-2013 Christopher Wiley <wiley@chromium.org> autotest: Minor site_linux_router refactor

Expose the create method of LinuxRouter without forcing every
caller to continue passing dictionaries that only take a single
parameter. While in there, clean up quotation marks, some imports,
and add some comments. This removes just a few of the many warnings
that we're getting on each and every commit.

TEST=Ran network_WiFiMatFunc/007CheckPS which calls create()
BUG=None

Change-Id: I3453f7c36f6caac6fa045d2244dce40babe8a420
Reviewed-on: https://gerrit.chromium.org/gerrit/47282
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/site_linux_router.py
d5aafa9d70f8ae42771736eda5433652723a7bcf 25-Mar-2013 Paul Stewart <pstew@chromium.org> autotest: WiFi: Add test for an AP changing security mode

Add a test that explicitly tests whether the DUT can connect to
an AP after it has changed security mode but not its SSID or
BSSID.

BUG=chromium:206299
TEST=Run test before and after upcoming fix

Change-Id: If6070df70baffe2e2b0fe4a15e7019631b7fbdc3
Reviewed-on: https://gerrit.chromium.org/gerrit/46440
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
17350be1c4aebb42ad983b9e4e4bb1d91b232a36 14-Dec-2012 Paul Stewart <pstew@chromium.org> autotest: WiFi: Create test for PMKSA caching

Verify that client can use PMKSA caching to roam between APs.
It significantly speeds up the association process if the client
can prove to the AP that it is in possession of cached credentials
for the network instead of going through the EAP-TLS process.

In order to create this test, add functions to command the DUT to
roam to an AP instance, as well as a command to verify using the
hostapd logs that PMKSA caching was employed for authentication.

BUG=chrome-os-partner:15005
TEST=Run test

Change-Id: Ia0f40957ea2d80ad1fb693497373d2fb38a5ca9c
Reviewed-on: https://gerrit.chromium.org/gerrit/39894
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
326badbf9d4d919389d84bac6fe4e5e0aa21eb41 18-Dec-2012 Paul Stewart <pstew@chromium.org> autotest: WiFi: Fixup stopping dhcp servers selectively

Much as hostapd instances can be selectively shut down, dhcp
servers should also be selectively killed.

BUG=chrome-os-partner:15005
TEST=Run test

Change-Id: I9c7fe3d25e4a7a0b69e81354d4b5644146f9244b
Reviewed-on: https://gerrit.chromium.org/gerrit/39893
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
217378183b4fb568fe3ff261f1d3604683057d7a 06-Dec-2012 Paul Stewart <pstew@chromium.org> autotest: WiFi: Allow stopping of individual hostapd instances

Allow the "deconfig" command to take an instance number to
be removed. In order to allow this to happen, we need to
be able to do an individual interface remove (for "silent mode"
deconfig) and hostapd kill for a specific interface.

BUG=chrome-os-partner:15005
TEST=Tested for regression using network_WiFiRoaming/006BeaconLoss.
Testing for functionality using new PMKSA test.

Change-Id: Icb146b2759bf65caef931b65d81a2a90c7309234
Reviewed-on: https://gerrit.chromium.org/gerrit/39320
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
548cf452a26443b88c0f481696663c9590dbb037 28-Nov-2012 Paul Stewart <pstew@chromium.org> autotest: WiFi: Enable multi-ssid on CrOS-based routers

Enable the "multi_interface" step config option to work correctly
on a ChromeOS based router/server. This required a few changes:

- Allow multiple DHCP server instances to run in parallel on
CrOS routers. Do this by looking up the interface in the
local_server list to see which interface parameters to apply
to the configuration.
- Move code for stopping all DHCP servers to the initialization
and final teardown, instead of during server startup.
- Keep track of each hostapd instance created so the logs for
each can be retrieved separately and each can be released
when de-configuring hostapd.
- Use the (already available) "ap" parameter in client_ping
commands that are meant to address the secondary server,
since in "local_server" configurations the server IP address
is different for each AP.

BUG=chromium-os:36669
TEST=network_WiFiManager/040MutiAuth

Change-Id: I88e016086e0b8755bb9290ec964ee63d952acec1
Reviewed-on: https://gerrit.chromium.org/gerrit/38834
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
6423bb02a565f17dc3484bc71607309947c3e0b8 28-Nov-2012 Paul Stewart <pstew@chromium.org> autotest: WiFi: Enable capture on CrOS-based routers

Enable the "router_capture_all" run option to work correctly
on a ChromeOS based router/server. This required a few changes:

- Allow phy/frequency discovery to take note if multiple phys
can support the same frequency.
- Allow the _get_wlanif code to select the most appropriate
phy to perform an operation for a specific phy type.
- Detect which bus each phy is connected to.
- Allow router subtypes (like LinuxCrosRouter) to specify a
bus affinity for different roles (e.g., captures should
use the USB interface by default).
- When the router is the same as the server, do captures
using the router role, rather than the server role so we
use the above mechanisms to decide which phy would be best
to use in a given situation.

BUG=chromium-os:36670
TEST=Add "run_options=router_capture_all" to the arguments
to run_remote_tests and observe:
- pcap files are generated and avalable in the debug dir
- During the test ensure the output of "iw dev" matches
what we expect from the phy_bus_preference parameter.

Change-Id: Ic3cc42c21b6102e37df1648d694346af8620d7c0
Reviewed-on: https://gerrit.chromium.org/gerrit/38817
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
2bd823bed5f5ec2e26a992be9ac7c14e487fd887 22-Nov-2012 Paul Stewart <pstew@chromium.org> autotest: wifi: Set WiFi Address for local servers

If we are in a "local server" configuration, the IP address of the
server on the WiFi is determined by the server itself, not by
external configuration. Test for this configuration.

BUG=chromium-os:25908
TEST=network_WiFiMatFunc/060Perf24HT20

Change-Id: I986571f398673e8166eca67651eec6e02b226217
Reviewed-on: https://gerrit.chromium.org/gerrit/38494
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
05cebab1b6486ea649af78cb15746747928c2f23 29-May-2012 Paul Stewart <pstew@chromium.org> autotest: wifi: When applying SSID suffix, limit length

Some default SSIDs can become too large when a suffix is added.
Limit the SSID string length under these conditions.

BUG=chromium-os:31339
TEST=Re-run autotest

Change-Id: Ib8fded679ce631c7a961f28b7dee0805fdd52683
Reviewed-on: https://gerrit.chromium.org/gerrit/23925
Reviewed-by: Stanley Wong <stanleyw@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
24d1e319982f1850c746258af778370a5e0b536e 25-Apr-2012 Wade Guthrie <wdg@chromium.org> Autotest tests for profile testing.

BUG=chromium-os:25795
TEST=Manual testing of _these_ tests.

Change-Id: Ia2be955ee20873b494fc934ed2e4e09c34b1bd59
Reviewed-on: https://gerrit.chromium.org/gerrit/20467
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Wade Guthrie <wdg@chromium.org>
Tested-by: Wade Guthrie <wdg@chromium.org>
/external/autotest/server/site_linux_router.py
7b23a544ba76d38c6b8caa0714b736040186efb4 28-Jan-2012 Thieu Le <thieule@chromium.org> shill: Fix intermittent autotest failure during connect step

Autotest occassionally fails during the connect step because the client
does not get a DHCP response after broadcasting for a lease. The log
shows that hostapd could not add the station to the driver with
error=-EINVAL. This was caused by a race in the test framework between
killing of the existing hostapd and launching of a new hostapd. If the
new hostapd starts before the old hostapd exists, the old hostapd will
overwrite the interface mode and sets it to station (instead of ap).

BUG=chromium-os:25034
TEST=network_WiFiManager

Change-Id: I1c909d4dd5ec49b276b5362a12ae51602e5c6638
Reviewed-on: https://gerrit.chromium.org/gerrit/14995
Reviewed-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Thieu Le <thieule@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
/external/autotest/server/site_linux_router.py
bf5af62e6932c93e28dfbaf02f23b3775dc68250 21-Oct-2011 Sam Leffler <sleffler@chromium.org> autotest: wifi: always set RTS and fragmentation threshold

When constructing the hostapd config file always set the RTS and
fragmentation threshold because systems such as linux configure this on
the underlying network device and that persists across runs. This results
in one test (such as MatFunc/010CheckRxFrag altering the results of all
subsequent tests).

BUG=chromium-os:9424
TEST=downstream udp perf tests and 010CheckRxFrag to verify no regressions

Change-Id: I6e63f7ca38221905e0f6cc911aae057d4cb34602
Reviewed-on: http://gerrit.chromium.org/gerrit/10505
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Sam Leffler <sleffler@chromium.org>
Tested-by: Sam Leffler <sleffler@chromium.org>
/external/autotest/server/site_linux_router.py
05c455a7a2d30b0fdb89434f0a8e4272198b8600 12-Oct-2011 mukesh agrawal <quiche@chromium.org> autotest (wifi): when running in a VM, use dnsmasq as the DHCP
server (rather than ISC dhcpd)

this avoids the need for us to build the net-misc/dhcp package
differently for test and release images.

also: configure hostapd to log to syslog (in addition to its
own log file). this way, we'll have timestampped messages for it.

BUG=chromium-os:21484
TEST=manual (see below)

Ran network_WiFiManager.001_SSID_NonAscii, but with some tweaks
to the VM image. (In particular, installed dnsmasq and shill, and
revved hostapd.)

Change-Id: Ia1a61bd195629228ab990198a7051bc3965db5a0
Reviewed-on: http://gerrit.chromium.org/gerrit/9968
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/site_linux_router.py
9e3ff0b81388b0f1fefd4e0f80bdc995f2c0c31d 18-Aug-2011 Paul Stewart <pstew@chromium.org> autotest: Add site_cisco_router

Add the ability to configure a Cisco router with the same API as
the other site_*_router implementations. This one is special in
that we need to ssh-tunnel through a Linux SSH "server" entity.
We also keep a shell open in IOS instead of running separate ssh
invocations for each command.

TODO: This is still a work in progress -- MatFunc mostly works,
except for a couple of esoteric tests, and SecMat also works, to
the extent that Cisco supports the various functions. I'd like
to wait and do Roaming as a separate CL.

BUG=chromium-os:19327,chromium-os:19327
TEST=MatFunc, SecMat

Change-Id: Ia83bba77f33084ceec688a2d2426e5553e2a277e
Reviewed-on: http://gerrit.chromium.org/gerrit/6346
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
fe0e85ba64e15a23c3d0e2fc125c1b336992dcf7 09-Aug-2011 mukesh agrawal <quiche@chromium.org> autotest: modify WiFi-related test code, to enable testing of
WiFi connection managers in a VM. the VM is assumed to run a
cros-dev image (which has been modified for test).

BUG=chromium-os:16348
TEST=VPN,WiFiManager,WiFiMatFunc,WiFiPerf,WiFiRoaming,WiFiSecMat

the above test suites were run in the RF lab. testing yielded some
failures, but no new failures as compared to unmodified tests on the
same hardware. additionally, the WiFiManager suite was tested in
the VM, with no failures.

Change-Id: Ib207017d0eb73fa36c940a00ab1aa50993839280
Reviewed-on: http://gerrit.chromium.org/gerrit/6405
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/site_linux_router.py
5b43f4f26f35a362ea6657123e6e2b3db56cf89f 07-Jun-2011 Paul Stewart <pstew@chromium.org> wifi: Fix failing IBSS test

We need to actually return a value in git_wifi_ip.

BUG=n0ne
TEST=Rerun IBSS test (why did this work before?)

Change-Id: I9c798c1d771a80d0be66df47b0fff8d090ba79f0
Reviewed-on: http://gerrit.chromium.org/gerrit/2227
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
5977da93dba9fd4a5101fe69881c8e09377c5cd0 02-Jun-2011 Paul Stewart <pstew@chromium.org> Add ping to IBSS mode tests

Determine what the router IP address is, and allow tests
to ping the router directly if in IBSS mode

BUG=n0ne
TEST=Run both "normal" MatFunc and IBSS tests. Make sure "router"
parameter fails in non-IBSS

Change-Id: Ic177e335b69699c4220008195d87b6df459e3b6e
Reviewed-on: http://gerrit.chromium.org/gerrit/1937
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
64cc42987eaf51f5e28bbd5c01ea9c27a3cd6a61 01-Jun-2011 Paul Stewart <pstew@chromium.org> Add Beacon Loss tests

Observe that DUT marks the current service as "idle" after we
"pull the plug" on the AP. To do this, we discover what drivers
the AP uses for WiFi and reload them.

BUG=chromium-os:15981 (this CL expresses that bug)
TEST=Run test

Change-Id: I37b5f15658dec410c53e3dc1a5f8f7f1d0f34602
Reviewed-on: http://gerrit.chromium.org/gerrit/1891
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
aa52e8c1fdb0ba001c3817fde973673a101e0a3a 24-May-2011 Paul Stewart <pstew@chromium.org> Rewrite SuspendTimeout to do explicit deauth

The previous version of the SuspendTimeout test relied on setting
an inactivity timeout on the AP. This turns out to be somewhat
unreliable as the AP does some number of attempts to restore
connectivity. Instead, use the hostapd_cli interface to explicitly
deauth the DUT while it sleeps.

BUG=chromium-os:15689
TEST=Rerun -- all SuspendTimeout tests and ensure that not only do tests
pass (pings succeed) but that all the log_time_diff values appear

Change-Id: Ibb88e34a2d8150ace74cca2b0df3cf01bea8808c
Reviewed-on: http://gerrit.chromium.org/gerrit/1468
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
2ee7fdf2e964e4db606259fe4c14a5059295b41a 20-May-2011 Paul Stewart <pstew@chromium.org> Add server and router capture

Create a central object that both site_linux_server and
site_linux_router inherit from. This object can query for wireless
hardware and frequency support, and adds commands for starting and
stopping capture. This way "{router,server}_netdump_start" commands
now exist. Additionally add a command line option so that:

./bin/cros_run_wifi_tests.sh --args="run_options=router_capture_all" ...
./bin/cros_run_wifi_tests.sh --args="run_options=server_capture_all" ...

will automatically start and stop captures for all tests run.

As a part of this consolidation, the code for selecting phy interfaces
and creating devices out of the phys has been centralized and tailored
towards phasing out the old "phydevN" configuration parameter.

BUG=chromium-os:15556
TEST=Run test with "run_options={router,server}_capture_all" argument added
Used a selection of tests including 001, 002 Matfunc (doing multiple
sequential configs in a row), CheckHT40 (ensured that ht40 argument is
properly passed and traffic is captured correctly), Roaming
MultiSwitchback (make sure captures happen on both frequencies -- in
this case serially since the code doesn't yet support multiple parallel
captures).

Change-Id: I937b37b7828475835ffbcf6b119cceb6291271b8
Reviewed-on: http://gerrit.chromium.org/gerrit/1216
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
f854d2e608b906424ab209e3ef3e343ff4128d15 04-May-2011 Paul Stewart <pstew@chromium.org> Run hostapd in debugging mode and save log

Add verbose logging to hostapd and copy the log file
after exit and add it to the run_remote_tests file
hierarchy. This will allow us to diagnose authentication
failures.

In order to capture the whole log, we need to actually
kill hostapd first. This wasn't happening before in the
error condition. Change this default behavior, but allow
an override to this behavior on the command line using a
new facility. While we are here, use this same facility
to also optionally force "skip_test" suites to run.

BUG=n0ne
TEST=Run a few MatFunc tests

Change-Id: I96ef4b30f8de328c23362120025016e751f6072e
Reviewed-on: http://gerrit.chromium.org/gerrit/292
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/external/autotest/server/site_linux_router.py
c1df8d60c81c349a910b9eb41a04de6d37fc30e0 07-Apr-2011 Paul Stewart <pstew@chromium.org> Explicitly select "HT40-" for 5GHz HT40 tests

hostapd has extra checks that prevent use of the wildcard
"[HT40+][HT40-]" for ht_caps in some situations. Explicitly
select [HT40-] for channel 48 since it should be paired with
channel 44.

BUG=chromium-os:13910
TEST=Rerun test

Change-Id: I6141ebc77f15e065f6dc9e486c618a19fd4f70b9

R=sleffler@chromium.org

Review URL: http://codereview.chromium.org/6805022
/external/autotest/server/site_linux_router.py
f05d7fd533615251ed90f0e2b186a056de86e384 07-Apr-2011 Paul Stewart <pstew@chromium.org> Modify CheckIBSS to use local DHCP server on AP

The previous version of CheckIBSS used an unsupported configuration:
using the software bridge with a wireless interface in IBSS mode.
Newer versions of OpenWRT expressly forbid this configuration.
Instead, provide a facility for running a local DHCP server on the
access point for purposes of testing the IBSS mode.

BUG=chromium-os:13871
TEST=Run test on both new firmware and old

Change-Id: Iab6bc536128689f794eb9694c2503e85835a9ac4

R=sleffler@chromium.org

Review URL: http://codereview.chromium.org/6802011
/external/autotest/server/site_linux_router.py
c2b3de883e51613c5c0965f82633299b4601a0cc 03-Mar-2011 Paul Stewart <pstew@chromium.org> Test joining an IBSS (AdHoc) network

Add infrastructure to site_linux_router for "IBSS" class servers.
Create "IBSS" mode for site_wlan_connect.py

BUG=chromium-os:12042
TEST=Run test

Change-Id: If8de20485f799888561067e0db5b4e97c9c7b04d

Review URL: http://codereview.chromium.org/6603026
/external/autotest/server/site_linux_router.py
c6bbd65dd380ffc68cbf0c5ca8853346cf2d3b6a 12-Feb-2011 Sam Leffler <sleffler@chromium.org> Revert "autotest: reset wifi ap config state on deconfig"

This reverts commit 6c0fbbcc558da05cda8d24a7a40f24e921159156. Didn't catch that config does a deconfig first which breaks 1x tests that expect the capath to be carried over steps.

BUG=none
TEST=manual:run 1x_AES secmat test that had failed; verify it works again

Review URL: http://codereview.chromium.org/6508013

Change-Id: Ida55d00078a9b7ddf26befb7ff566828dc5bb67f
/external/autotest/server/site_linux_router.py
6c0fbbcc558da05cda8d24a7a40f24e921159156 12-Feb-2011 Sam Leffler <sleffler@chromium.org> autotest: reset wifi ap config state on deconfig

We intentionally accumulate ap configuration state so test cases can
concatentate state with multiple config steps. Make deconfig clear
that accumulated state so, for example, security credentials are not
accumulated when created multiple ap's.

BUG=none
TEST=used in new suspend roaming tests (to follow); regression checked w/ matfunc+secmat+roaming runs

Review URL: http://codereview.chromium.org/6473009

Change-Id: I88a8d84012289ebdfaab058f20e32fde46a71206
/external/autotest/server/site_linux_router.py
1ae854b9e62ab46ad61826ef2ee059589eb9cd63 09-Feb-2011 Paul Stewart <pstew@chromium.org> Set transmit power on config()

This alleviates any potential issue with transmit power settings
surviving from aborted tests. It also affords the option to set
txpower as a parameter to "config".

BUG=chromium-os:11591
TEST=Reran tests

Change-Id: I32d62ed286913e6df06e09781234c0f3c9956481

Review URL: http://codereview.chromium.org/6250109
/external/autotest/server/site_linux_router.py
7d49819affe407dcb05161ece4cb3413998daf45 14-Jan-2011 Nathan Williams <njw@chromium.org> Rearrange EAP setup so that it is more parameterizable for other EAP types
and so that the certificate text can be reused, leading to
easier-to-parse configurations.

BUG=chromium-os:7101, chromium-os:10108, chromium-os:10206
TEST=rerun SecMat/019*, no functional change

Review URL: http://codereview.chromium.org/6030011

Change-Id: I1dd5fca6f98d93657fe58a850bc3d2c2c07aab3b
/external/autotest/server/site_linux_router.py
9877fe411644ad101170fcf8255db2e15395cc03 10-Dec-2010 Paul Stewart <pstew@chromium.org> Start bridge before running hostapd

Start and configure the bridge to disable STP before starting
hostapd. This gets rid of a problem we've been having where
EAPOL fails on the first attempt for some WPA modes in the
testbed.

TEST=SecMat
BUG=chromium-os:10181

Change-Id: I6981cc3abedc430aa7a80deac0eb1cb3c65416c8

Review URL: http://codereview.chromium.org/5689002
/external/autotest/server/site_linux_router.py
98022e2c53977c6f8149f4059fc8e9c0979233fc 22-Oct-2010 Paul Stewart <pstew@chromium.org> Add AP command to set AP transmit power

BUG=none
TEST=New roaming test

Review URL: http://codereview.chromium.org/3972003
/external/autotest/server/site_linux_router.py
45338d2e92a8ae596b4081c40eb87a5292994f01 21-Oct-2010 Paul Stewart <pstew@chromium.org> Add capability for using both radios in the AP at once

Also provide means for setting the transmit power on
an interface.

BUG=none
TEST=<New 003SSIDMultiSwitchBack test in separate CL>
With txpower set to 0, DUT reported -81 RSSI.

Review URL: http://codereview.chromium.org/4006002
/external/autotest/server/site_linux_router.py
af5847eb6d82bb60979621905e60d9b7c646555e 21-Sep-2010 Paul Stewart <pstew@chromium.org> Be lenient if deconfig fails to find a bridge

If we are in the deconfig step, it is acceptable if brctl
cannot find the bridge it was trying to delete.

BUG=none
TEST=run_wifi_tests on SecMat

Review URL: http://codereview.chromium.org/3387009
/external/autotest/server/site_linux_router.py
66dcb0836ce102fa71d2733061428e48de5be8b3 09-Sep-2010 Paul Stewart <pstew@chromium.org> Repeat "link down" on interface during deconfig

Apparently when run on the autotest servers, the link can come back
up on br-lan after we have put it down. Hence, we repeat the process
at the same time as we try to remove br-lan.

BUG=none
TEST=run_remote_tests

Review URL: http://codereview.chromium.org/3300022
/external/autotest/server/site_linux_router.py
310928c10ce36411b757795efe1add1edcd9c4da 07-Sep-2010 Paul Stewart <pstew@chromium.org> Retry delbr on linux_router deconfig

With small but non-zero probability test bomb out doing an "addif"
in tests where there's a "config" step followed by another "config"
step. This is because in order to do the "config", we quickly do
a "deconfig" and another "config". In that short period of time
after hostapd is started, it might take a while for hostapd to come
to a halt, holding the bridge device open. If you look through the
logs, you'll find that the previous "delbr" of the bridge interface
did not succeed, but its error was ignored.

More troublingly, it seems that the automated tests seem to run into
this issue much more regularly than developers do with "run_remote_tests".

This change retries the "delbr" between sleeps if the first one
fails, and then exit with an error if the last attempt is not
successful.

BUG=none (chat from dalecurtis)
TEST=Reran SecMat 00*

Revert "Move deftxkey into first config block"

This reverts commit ad52b3d64a0ee579caa77123969288f3b9fe81d2.

Review URL: http://codereview.chromium.org/3334002
/external/autotest/server/site_linux_router.py
b8f52efb1e2e10e83c8b8c4585df7c1ef2a99621 13-Aug-2010 Paul Stewart <pstew@chromium.org> Whitespace cleanups

Whoops. Just committed some trailing whitespace. Cleaning up.

TBR=none
TEST=none
BUG=none

Review URL: http://codereview.chromium.org/3166012
/external/autotest/server/site_linux_router.py
5d1d162f7d81d42dbbe45a7a6d430916e76b65a8 12-Aug-2010 Paul Stewart <pstew@chromium.org> 802.1x EAP-TLS Authentication for wifi tests

Added the 802.1x authentication method to the list of tests. This
involved upgrading all the testbed machines to use a hostapd that had
the internal radius server enabled, reconfiguring site_wlan_connect to
be able to pass the right parameters to flimflamd in order to do a
file-based certificate authentication, and adding both client and server
routines to site_wifi.

The certificate information is hard-coded in site_eap_tls.py. The
actual key content is less interesting than the fact that this data is
usable.

Note that this test does not use the TPA to perform authentication since
this requires entd to be running, and a user logged in on console, etc.,
etc., which is difficult to accomplish over ssh.

TEST=Run test suite
BUG=none

Review URL: http://codereview.chromium.org/3139013
/external/autotest/server/site_linux_router.py
c9628b3dcc8071d29d8b3f1f37882258da4f5559 11-Aug-2010 Paul Stewart <pstew@chromium.org> Correctly auto-detect 2GHz and 5GHz phy devices

Fixed already existing code to parse "iw list" so that it can correctly
detect the 5GHz and 2GHz radios on a linux router. Also, set the
default ethernet interface to "eth0" since this is the default in our
setups and "eth1" seems strange for a default.

TEST=reran autotest with no phydevs specified
BUG=none

Review URL: http://codereview.chromium.org/3148006
/external/autotest/server/site_linux_router.py
7cb1f0622e2c2cb7389539b7ffafc70bece91284 11-Jun-2010 Paul Stewart <pstew@google.com> Add an "ssid_suffix" parameter to both "connect" and "config" rules to modify SSID per-subtest

TEST=ran autotests
BUG=

Review URL: http://codereview.chromium.org/2751007
/external/autotest/server/site_linux_router.py
60ae14630b331244bf4e3f0bac8f30c1df479bbc 08-May-2010 Nebojsa Sabovic <neb@chromium.org> Added support for per-band phys.

Review URL: http://codereview.chromium.org/2054004
/external/autotest/server/site_linux_router.py
4a7a5a11168808831fa14d3570d990ca433f435c 29-Apr-2010 Nebojsa Sabovic <neb@chromium.org> Default to 802.11g instead of 802.11b when hw_mode is not specified.

Review URL: http://codereview.chromium.org/1708018
/external/autotest/server/site_linux_router.py
49556cf16b201928ea27cd64543a3cdbc2f07d59 29-Apr-2010 Nebojsa Sabovic <neb@chromium.org> Tweak the freq->chan algorithm.

Review URL: http://codereview.chromium.org/1763019
/external/autotest/server/site_linux_router.py
bc245c62f36fbe04b0dcd90b6b380ba70c814e50 29-Apr-2010 Nebojsa Sabovic <neb@chromium.org> Allow passing multiple globs for specifying tests to run.
Ignore -ampdu and re-arange parameters so that ignored ones are lumped together.
Set region to US for the regulatory to work.
Clean up the frequency conversion some more.

Review URL: http://codereview.chromium.org/1812002
/external/autotest/server/site_linux_router.py
36c10e9f6a7b07551d8f4e4d2dac64a0dc5c4b05 28-Apr-2010 Nebojsa Sabovic <neb@chromium.org> more WiFi testing fixes

- fix client_check_* CL that was fubar
- openwrt fixups:
+ use "bridgedv" and "wiredev" a la bsd code and sample configs
+ set htcaps for ht20 and ht so 802.11n is enabled
+ split out config knobs that need support
+ purge dead client_check_config code
+ config['hw_mode'] may not be set, deal with it (not sure if this is
the right fix but it allows tests like CheckPerf24HT20 to run)

Tested with WiFiMatFunc and WiFiSecMat suites; verified tests that
previously failed now pass.

Review URL: http://codereview.chromium.org/1763012
/external/autotest/server/site_linux_router.py
bae8fd484885aa0fa6a97c339d945a55b872e7d4 23-Apr-2010 Nebojsa Sabovic <neb@chromium.org> Integrate with autotest log.

Review URL: http://codereview.chromium.org/1696006
/external/autotest/server/site_linux_router.py
4cc2ce9b47e3160ffba3b935eff8e133762e0368 22-Apr-2010 Nebojsa Sabovic <neb@chromium.org> Rolled up change to wireless test suite for OpenWRT.

Review URL: http://codereview.chromium.org/1736001
/external/autotest/server/site_linux_router.py
19bb0a7d2c74fde128d3669491d793987dd4cbd0 12-Apr-2010 Sam Leffler <sleffler@google.com> WiFi test cleanups

- move config file handling into WiFiTest class
- move router autodetect to router classes
- auto-detect BSD router wireless and wired nics

Review URL: http://codereview.chromium.org/1512032
/external/autotest/server/site_linux_router.py
138ff91d225e28632f959c734bcd056b730a3320 07-Apr-2010 Nebojsa Sabovic <neb@chromium.org> Updated wifi tests to work with an OpenWrt router.

Review URL: http://codereview.chromium.org/1517016
/external/autotest/server/site_linux_router.py
6969d1d0ddbb239f4e1f9594a2790ae36a66a8a8 16-Mar-2010 Sam Leffler <sleffler@google.com> automated WiFi test framework and start of tests

Review URL: http://codereview.chromium.org/669118
/external/autotest/server/site_linux_router.py