New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 730281 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

Wifi quality: disconnect/reconnect + traffic stress test

Project Member Reported by briannorris@chromium.org, Jun 7 2017

Issue description

Per our review of recent Wifi issues, there are several sorts of bugs that could be caught by running variations of a "stress" test, for long periods of time, and checking for major issues.

Potential stressors:

* periodic disconnect/reconnect attempts
* data traffic (e.g., iperf, netperf) -- either TCP or UDP; sometimes, flooding the interface beyond its capacity has been useful
* suspend/resume

---

Existing stress tests:

AIUI, we have tests that cover 1 (or maybe 2) of the above stressors, but we're not very good at doing the combination. e.g., the wifi_perf suite tests data traffic performance. network_WiFi_SuspendStress covers suspend/resume + reconnect.

---

Sample background:

Some of the following reproduced primarily in combination with specific APs, but some are rather generic.

https://b.corp.google.com/issues/35583150 : DUT see problems with various APs with what amounts to 'iperf -s' + 'while true; do iw mlan0 disconnect; sleep 10; done' in parallel

https://b.corp.google.com/issues/35582684#comment9 : iperf UDP flooding link + 'while true; do iw mlan0 disconnect; sleep 10; done'

Probably more (feel free to add more background).

---

Monitoring:

We should test for some (but maybe not all) of these:

* failures to reassociate (within some threshold; transient failure is OK)
* crashes
* firmware crashes (this could be covered by one of the previous 2, although FW crashes sometimes become "recoverable" when drivers know how to automatically reset/reload their firmware)
* performance? should we monitor major changes?
* excessive packet drops? this will be tough in combination with disconnect/reconnect and/or suspend/resume, but we could coordinate this still (reconnect, wait for the link to stabilize, then start measuring drops (e.g., just a ping test?))

---

There should be something in one of our regular suites (e.g., wifi_matfunc) that covers some portion of this. I see that some aspects of this are covered in network_WiFi_Chaos* tests, but it's not clear to me how often this gets run nor whether I can currently browse any actual results from this.

---

Potential approach:

1. Address anything we can with Chaos; educate the team on what currently runs (or doesn't) and improve this so it's a useful form of developer feedback. Consider adding new devices.

2. Develop (or port from network_WiFi_Chaos*) tests to run on a testbed AP (e.g., in wificell, or on dev's desks, as would run in wifi_matfunc)

Depending on the scope of #1, that may not be a requirement for this bug, except insofar as it can help inform #2.
 

Comment 1 by kirtika@google.com, Jun 20 2017

Cc: curtissa@google.com
Labels: -Pri-3 Pri-2
Alex, do you want to take this next? 

Comment 2 by kirtika@google.com, Aug 16 2017

Cc: yoshi@chromium.org briannorris@chromium.org
 Issue 756162  has been merged into this issue.

Comment 3 by yoshi@chromium.org, Jan 3 2018

Cc: -yoshi@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, Feb 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/501b609043d1e332b8638a2fe8e2de1e4a39c6ca

commit 501b609043d1e332b8638a2fe8e2de1e4a39c6ca
Author: Kirtika Ruchandani <kirtika@google.com>
Date: Tue Feb 06 03:09:01 2018

autotest-server-tests: add a wifi stress test

Add an entry for network_WiFi_StressTest to the ebuild.

BUG=chromium:730281
TEST=None

Change-Id: I2b34f3647e7cc0823bacc971732bce9e56bd4ff2
Reviewed-on: https://chromium-review.googlesource.com/901024
Commit-Ready: Kirtika Ruchandani <kirtika@chromium.org>
Tested-by: Kirtika Ruchandani <kirtika@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/501b609043d1e332b8638a2fe8e2de1e4a39c6ca/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-9999.ebuild

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/64a973ffe07490f2125ee80e1f839f699f2bcb27

commit 64a973ffe07490f2125ee80e1f839f699f2bcb27
Author: Brian Norris <briannorris@chromium.org>
Date: Thu Jun 28 19:47:07 2018

network/interface: abstract 'module_name' property

Other tests might like to play with the Wifi driver (e.g.,
rmmod/modprobe), so let's factor out this method of retrieving the
driver's kernel module name.

BUG=chromium:730281
TEST=network_WlanDriver still works

Change-Id: I290a7958d53421ef497b25a994b8f5bc30fa8b91
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/982386
Reviewed-by: Kirtika Ruchandani <kirtika@chromium.org>

[modify] https://crrev.com/64a973ffe07490f2125ee80e1f839f699f2bcb27/client/common_lib/cros/network/interface.py
[modify] https://crrev.com/64a973ffe07490f2125ee80e1f839f699f2bcb27/server/cros/network/wifi_client.py

Labels: Enterprise-Triaged

Sign in to add a comment