History log of /frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
815dbc39bb667779f67804b7c324db507eb27ab8 06-Jun-2017 Roshan Pius <rpius@google.com> WifiLastResortWatchdog: Clear failure counts on HAL init

These counters should be reset whenever we restart wpa_supplicant and
initialize the HAL.
This is to clear these counters on wifi stack restarts (internal or user
initiated).

Bug: 38422186
Test: Unit tests
Change-Id: Icf7e558cbc667da37eb471a7d98ac11b5d8f073d
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java
96a9dbeb3a622e44c13ff7be8decf36d06ff7dbb 18-May-2017 Roshan Pius <rpius@google.com> SelfRecovery: Module for initiating internal stack restarts

Adding a new module for initiating stack restarts when we detect some
kind of failure internally. This module essentially moves the
|restartWifiStack| functionality out of WifiLastResortWatchdog so that it
can be reused by WifiStateMachine for HAL/wificond crashes.
The 3 reasons for triggering self recovery currently are:
1. Last resort watchdog bite.
2. HAL crash.
3. Wificond crash.

TBD: We could potentially perform the same recovery on a supplicant crash.

Bug: 36586897
Test: Manual tests by crashing the HAL & wificond.
Test: Unit tests.
Change-Id: Id3e0c2cc7b339ff02ae4a5597a1f2009cb946125
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java
da22e3d28b62005dce5fddd75207bd3d7a1745e1 26-Jul-2016 Glen Kuhne <kuh@google.com> WiFiMetrics: Add LastResortWatchdog success metric

Added a metric that tracks how often WifiLastResortWatchdog triggers
successfully fix wifi, allowing wifi to connect to a network after
triggering. It does not count a success, if the connection occurs
after a new network becomes available.

BUG=30407550
TEST=Unit Tests

Change-Id: I68d1f003fee9eb8074c04db141bd7b5c3089d57b
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java
fca64fc16ec43befde2e7ac7c3bfd84ced1f7778 16-Jun-2016 Rebecca Silberstein <silberst@google.com> WifiInjector: add WifiServiceImpl objects

Move objects created in WifiServiceImpl into WifiInjector to facilitate
unittests. The first call should be to create an instance of
WifiInjector. This call takes the Context as a parameter and is used to
initialize the instance. This instance is also stored in the class and
subsequent calls should use the WifiInjector.getInstance() call.
Exceptions are thrown if the constructor is called multiple times or
will a null Context parameter. An exception is also thrown if
getInstance is called before the WifiInjector constructor has been
called.

This change also allows the setWifiController method of
WifiLastResortWatchdog to be removed.

This change also removes the local variable for the
WifiLastResortWatchdog instance in WifiStateMachine. Instead of holding
the LastResortWatchdog, calls from WifiStateMachine will get the
instance from WifiInjector when they are needed. This is due to the
dependence triangle between WifiStateMachine, WifiController and
WifiLastResortWatchdog.

BUG: 28845563
Change-Id: Iad99cd9c03672b07d2d2eb67eb1f9821e402055f
TEST: runtest frameworks-wifi
TEST: manually checked connection to wifi, tethering and wifi reconnect
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java
75727af748e2b53baf365139ecfa7bf87a449d04 28-May-2016 Rebecca Silberstein <silberst@google.com> WifiLastResortWatchdog: dynamic verbose logging

Switch WifiLastResortWatchdog over to using the dynamic support for wifi
verbose logging.

This CL also cleans up some logging to remove misleading ages for
network summary information.

BUG: 29008073
Change-Id: Ieb2632ca0f114c2009e3f41801ff897c84a60ffd
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java
11ad3437e833ead2c7c235f173824db16ee4ea02 27-May-2016 Rebecca Silberstein <silberst@google.com> WifiLastResortWatchdog: reset wifi on trigger

Added wifi reset on WifiLastResortTrigger. The reset is implemented by
sending the CMD_RESTART_WIFI message to WifiController.

BUG: 27856267
Change-Id: Icb7c3a211afcd234cfcd25a42665aed03c33f5e1
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java
91a8893f047b8a193e4516ab772b6f43882777f5 30-Apr-2016 Rebecca Silberstein <silberst@google.com> WifiLastResortWatchdog: update config if not null

When new scan results are processed, networks already stored as the
available networks may have updated configs passed in, but they may also
have null configs. The null configs should not be used to update the
stored config. Added a check to determine if the passed in config is
not null before the update.

In addition, debugging output also reported the value of
HasEverConnected as false for networks with a null config. This was
updated to report null_config instead.

Added tests covering config updates.
Added tests for debugging output.

BUG: 28451079
Change-Id: Iff9888ab87c61619b2f865516eca22d87eb4f4b8
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java
5f001750a0ce82a8b3a47ac566117d4de27f3e23 22-Apr-2016 Glen Kuhne <kuh@google.com> WifiLastResortWatchdog metrics

Added logging of various metrics to the WifiLastResortWatchdog. These
metrics count the number of times the Watchdog triggers, and stats
counting the number of networks present at failure time for different
failure types.

BUG=27856474

Change-Id: If43836b1c33791fefb8000196b231c312161feef
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java
83f2b8087178705445e4d1618eaac832f9c633f4 20-Apr-2016 Glen Kuhne <kuh@google.com> WifiLastResortWatchdog trigger logic

Implemented trigger condition logic that is checked after a failure is
counted. The condition takes into account: failure counts, wifi
connected state, past connections to saved networks and whether the
watchdog has fired since the wifi environment changed.

Please note: This change only implements the logic for deciding when to
trigger, not the trigger itself.

BUG=27856709

Change-Id: I91ad6127a72ca24c72a5520348c4fff83f16b559
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java
8fe3e3497daf08b71ffc8c33cb7b139df6667448 14-Apr-2016 Glen Kuhne <kuh@google.com> WifiLastResortWatchdog failure counting

Implemented watchdog methods and calls to them from WifiStateMachine to
count association rejection, authentication failure & dhcp failures.

This will allow the watchdog to determine when all available networks
are failing, and Wifi Framework has no other options, however this Cl
does not implement that logic.

BUG=27855690
BUG=27856523

Change-Id: I416bfd0e0340823de5ca04f2d040bff7a751b677
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java
09abbe29be6e552a2531b0367bd6d29647d33767 30-Mar-2016 Glen Kuhne <kuh@google.com> Created LastResortWatchdog class

Created the WifiLastResortWatchdog class, that will handle restarting
the wifi stack as a last resort when wifi is failing.
Implemented the logic that tracks failure counts for all available
networks, and the maintaining of that list of available networks.

BUG=27856523

Change-Id: I8c944d033955ad7e5cc9484cce8f20cd3755312e
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLastResortWatchdog.java