9a865ec91cf32d41496a28d800279cd86832b027 |
|
18-May-2016 |
mukesh agrawal <quiche@google.com> |
WifiLogger: revert large ringbuffers for userdebug/eng When the WiFi code is sufficiently mature, we'll use this patch to return to using small ring buffers on all builds. Note that this patch is not a literal/full revert of CL:1048267. The reason for the more focused change is to minimize merge conflicts, in case other code changes by the time this CL lands. BUG=28822174 TEST=unit tests Change-Id: I9facadf8aaf779e0627b15815a426b86bde692a1
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
1bf155710ada7a6ee27453a120690d2c91a0fec5 |
|
19-May-2016 |
mukesh agrawal <quiche@google.com> |
WifiLogger: fetch packet fate on dump() We've observed that it's tricky to detect when a connection fails. Consequently, even if the user is careful to generate a bugreport while the device is in the failed state, the bugreport will not include packet fate data for the most recent connection. Improve the utility of packet fate, by fetching the most recent fate on the call to dump(). With this change in place, we'll get packet fates for the most recent connection attempt (even if it's still in progress). BUG=28849396 TEST=unit tests, manual Manual test - configure bullhead for open network - configure bullhead for wpa-2 network, wrong password - let bullhead fail connecting to wpa-2 network - let bullhead succeed connecting to open network $ adb dumpsys > /tmp/dumpsys $ grep 'fates ---' /tmp/dumpsys --------------------- Last failed connection fates ---------------------- --------------------- Latest fates ---------------------- Change-Id: Iaeb2584020f70ac5d2f3139bac72ea07a7ddce81
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
8df302f5b9c647f69acee24e09fa20d8b5c54c4a |
|
18-May-2016 |
mukesh agrawal <quiche@google.com> |
WifiLogger: use large ringbuffers on eng/userdebug We're having trouble resolving some field reports, due to insufficient time coverage in the HAL ring buffers. Increase the ringbuffer size of eng/userdebug builds, to make it easier to debug issues reported by dogfooders. This change will be reverted closer to launch. (b/28822174 has been filed for the reversion.) BUG=28729317 TEST=unit tests Change-Id: I5884dee05db79245d211a457ff44b5e7b96ddbcb
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
37e073350c5e3bdac08d4fa2a0cc9f37190d1173 |
|
22-Apr-2016 |
Ningyuan Wang <nywang@google.com> |
Optimize logcat fetching by using logcat -t option WifiLogger::getOutput() sometimes takes more than a few seconds because it fetchs the entire logcat buffer then takes the most recent 127 lines. Since it is a blocking call, it may increase the chance that WifiService being killed by WatchDog. This change uses logcat -t option, only fetching the most recent 127 lines. It significantly reduces the time of the blocking call. BUG=28298654 TEST=unit tests, manual test Manual test: - boot device $ adb logcat -d | wc -l -> repeat until >127 $ adb bugreport > /tmp/bugreport - check that ‘system log:’ section contains 127 lines. Change-Id: Ifcfb9e53a7c8b731e76cab1f25cec1bc0c83f33e
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
0b775f08887d4d52e57a06c6a8680aa10a1c7bb8 |
|
21-Apr-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "WifiLogger: fix bug in HAL callback registration" into nyc-dev
|
956fd40b6145c4aba9160e10bfc1ea609873ce8d |
|
20-Apr-2016 |
mukesh agrawal <quiche@google.com> |
WifiLogger: fix bug in HAL callback registration When we call WifiLogger.startLogging(), WifiLogger may or may not register callbacks for ring-buffer data delivery, and WiFi alerts. Whether or not WifiLogger registers the callbacks depends on whether or not the callbacks have already been reigstered. If WifiLogger has already registered callbacks, then a new call to startLogging() will skip callback registration. Now, it's not entirely clear if this already-registered check is necessary. It is certainly conceivable that the HAL implementations allow us to replace existing callbacks, without explicitly removing the existing callbacks first. But, the necessity of the check aside, the immediate problem is that the already-registered check fails to handle the case where an early registration failed. This CL revises the code, to handle this case. While there: - Fix some whitespace issues. - Remove unnecessary comment about the effects of resetLogHandler(). (Even if the comment _were_ necessary, it should be part of the Javadoc for resetLogHandler().) BUG=28274991 TEST=(new) unit tests, manual Manual test: - boot device $ adb shell dumpsys | grep -A1 'ring-buffer = driver_prints_rb' ring-buffer = driver_prints_rb <base64 encoded data...> Change-Id: I04e9bc1863aaf5bda00ca9cf8dc35696ae1e5f24
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
590f3fc2045389d5ef274c4b3bd6162d93b1a0ac |
|
13-Apr-2016 |
Samuel Tan <samueltan@google.com> |
Log summarized packet fate reports When verbose debugging is not turned on, log summarized packet fate reports that include the timestamp, direction, fate, protocol, and type of the network frame, but nothing more. These one-line summaries will be logged to the system dump in table format. BUG: 28150622 TEST: 'runtest frameworks-wifi' passes. TEST: Manually trigger a WiFi connection failure (e.g. enter wrong password for a secured network), and examine the output of 'adb shell dumpsys' for the logged packet fate summaries. Change-Id: Id4cc9c3cdc85d209788e0eb1c51e5a47e04d0a6a
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
2ecb62764d26c3f0d95a9dc5c0a616af1b2bf8de |
|
12-Apr-2016 |
mukesh agrawal <quiche@google.com> |
wifi service: nuke verbose logs on no-verbose When a user disables verbose Wi-Fi logging, they probably don't want to retain firmware dumps or driver dumps. Similarly for packet fate logs (at least in raw form). Nuke such data on entering non-verbose mode, accordingly. While there: update reportConnectionFailure(), to use the recently added isVerboseLoggingEnabled() method. BUG=27554392 BUG=27528124 TEST=unit tests Change-Id: I8da6c1a4ab11e5f43b9e660fb64efed62e7cb9e3
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
d0cb2fae195ebb9f658095667f3c7b7b8d69a204 |
|
07-Apr-2016 |
mukesh agrawal <quiche@google.com> |
wifi service: add support for driver dump HAL API Implement the framework side of the driver dump HAL API: - When a bugreport is generated, ask the HAL to provide a driver memory dump. - When dumping a bugreport, include the driver memory dump (if available). Along the way: add a stub implementation of the driver dump HAL API, in case a particular vendor HAL does not implement the API. While there: declare the (existing) callback for firmware memory dumps as static. There's no need for on_firmware_memory_dump() to be visible outside of com_android_server_wifi_WifiNative.cpp. (Modules that need access to on_firmware_memory_dump() will be provided with a pointer; they don't need to reference the function by name.) BUG=27554392 TEST=unit tests TEST=bullhead: dumpsys + verify that driver dump is present TEST=angler: dumpsys + verify we properly handle unimplemented API Change-Id: I619b9c819a41a795c1119a8c2fa22447f0c44b56
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
f8c50b1e8239d843dd01e6dcf956629dad0771c1 |
|
12-Apr-2016 |
mukesh agrawal <quiche@google.com> |
WifiLogger: make firmware dump conditional on verbose We want to make firmware memory dump conditional on verbose logging for it's own sake. But this also sets the stage for the driver dump feature to be conditional on verbose. (Driver dump is still in the works.) BUG=21661292 BUG=27554392 TEST=compile (more tests to come) Change-Id: I22a753d785d1023a94f5c2e753714bc918b41fdf
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
d604bbd63d620244ef43408de10f65ead01d5026 |
|
06-Apr-2016 |
mukesh agrawal <quiche@google.com> |
wifi service: use large ringbuffers in verbose mode When the user has chosen to enable wi-fi verbose logging, we'd like to use larger ring buffers. Make it so. BUG=27578082 TEST=unit tests Change-Id: I1e2447df2beda455cea37072e91fa0aac338bb3f
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
ed510cfa64decd813f76faf9bb1b0a70b74b9898 |
|
01-Apr-2016 |
mukesh agrawal <quiche@google.com> |
WifiLogger: add support for packet fate 1) Provide a method for other parts of wifi service to report connection failures to WifiLogger. 2) Start packet fate monitoring if/when we start logging in verbose mode. 3) Fetch packet fates on failure, as appropriate. 4) Include packet fate information in dumps. While there: a) Change visibility of the single-arg dump() method in BaseWifiLogger. (Only derived classes should be calling that overload.) b) Disambiguate the call from WifiLogger.dump() to BaseWifiLogger.dump(), by adding |super| to the expression. c) Remove unused WifiNative.WIFI_ERROR_UNINITIALIZED BUG=27528124 TEST=unit tests Change-Id: Ica85ce39e79983194c3930ef54c29ac07454faed
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
fef1495477206d4cabfc95325d71de41790cf9cc |
|
02-Mar-2016 |
mukesh agrawal <quiche@google.com> |
make ringbuffer size configurable Different builds of the WiFi service may want to have different ring buffer sizes. To allow for this, have the WiFi service consult Resources for the size to use. BUG=27264418 TEST=unit tests TEST=add Log call in WSM ctor, verify size from values.xml was used Change-Id: Ie6adc9efe107dfeaf4894aaff35c0beb6f7f9819
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
b46c550a7305e6c42af4ca92a964b801c33f1f72 |
|
02-Mar-2016 |
mukesh agrawal <quiche@google.com> |
WifiLogger: manage ring buffers by bytes At present, we manage the ring buffers by the number of entries, rather than the number of bytes. Since the size of an entry is variable, managing by the number of entries doesn't give us solid control over the amount of memory used. To solve this, switch from LimitedCircularArray<byte[]>, to ByteArrayRingBuffer. ByteArrayRingBuffer limits the number of bytes, rather than the number of entries. To facilitate testing, make two of WifiLogger's inner classes (BugReport and LimitedCircularArray) package-private, instead of strictly private. BUG=27264379 TEST=(new) unit tests Change-Id: I2ed6557bd0b40db3227e1e22ea7ff9f8a27ab2ba
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
28a073ae465df4e92b11bc8c9b3a1890de375d30 |
|
16-Feb-2016 |
mukesh agrawal <quiche@google.com> |
WifiLogger: fix startLogging() startLogging() asks the native layer for meta-data about the ring buffers, and then, if meta-data was _not_ available, starts logging the ring buffers. That's pretty much the opposite of what we want. Perhaps even exactly the opposite of what we want. Invert the condition, to actually start the ring buffers. BUG=26981286 TEST=unit tests Change-Id: I3acf227a9b8d4a8970d9bdc7a52fefa101a32852
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
7e0315140767e6f12200f7dbbe7aff43b4f75089 |
|
13-Nov-2015 |
Vinit Deshpande <vinitd@google.com> |
Capture kernel logs with bugreport This change captures kernel logs along with Wifi firmware dump; since lost kernel logs have been a big reason for unresolved bugs. It also ensures that we dump version information regardless of whether or not firmware debugging is ON. Change-Id: I3e44e4b34af3d5d878de242aa344d2950d9b3b1e
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
eee1d479d8d402a2e78e2f143e957030cfc77749 |
|
29-Dec-2015 |
Vinit Deshpande <vinitd@google.com> |
First WifiStateMachine UnitTests Change-Id: I044b54f18f1a75b5b33c3fc9fc71a8da820d2521
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
18786eca942042388748b0d98979f21c9dff4a89 |
|
20-Nov-2015 |
Mitchell Wills <mwills@google.com> |
Turn WifiNative into a singleton for each interface Change-Id: Ida8225c1c8434f5cffbdfd2ebbc4a7b240976a15
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
e28ce6be22c1389847e77d2be9c8390689cdf395 |
|
24-Sep-2015 |
Vinit Deshpande <vinitd@google.com> |
Disable wifi firmware logging by default This is really needed for debugging phase, which is over now; and disabling it will reduce surface area Bug: 24317401 Change-Id: I0acf9efc94333cb274d4286df9c853431d86883d
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
674602ce4a5e0c6df7e67230310ad842deb532e9 |
|
09-Sep-2015 |
Vineeta Srivastava <vsrivastava@google.com> |
Revert "Dump more ring buffer data in bugreports" This reverts commit d564996d66942dc11ccbafa70c38ef26320b8b8a. Bug: 23790222 Change-Id: I28862a3ed9938184d1540b89a878189eefc084f9
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
d564996d66942dc11ccbafa70c38ef26320b8b8a |
|
27-Aug-2015 |
Vinit Deshpande <vinitd@google.com> |
Dump more ring buffer data in bugreports This change caches wifi ring buffer data for last one hour instead of caching fixed size of data. This will help debug transitional issues better. This change also captures firmware dump when IP reachablity is lost. hopefully, this will help debug elusive connectivity issues. Bug: 23320188 Change-Id: I03c944967b73aeeb56df05f481e41f90715291f4
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
9a41261e4f688411a7038781ca959b2007965f06 |
|
09-Jul-2015 |
Vinit Deshpande <vinitd@google.com> |
Capture an additional report when user captures a bugreport Currently, all ringbuffer data and memory dump are captured when an error is discovered. But that leaves a lot of scenarios where we don't have this data. This change captures this data on each dupmsys operation as well. This change also captures firmware memory dump to debug additional problems. Bug: 22390445 Change-Id: I1fab1dacc4b11287697e9b7d97670bebc4c4bac5
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
b797893fc1966803d0c013faac42e6396a37a384 |
|
26-Jun-2015 |
xinhe <xinhe@google.com> |
Use wifi_reset_log_handler to stop logging b/22098062 Change-Id: I6bc701ba81a9dad323403a39e3cb385153d2ed88
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
6414301b7b685307e8ae8cea6976ed05cc49b254 |
|
25-Jun-2015 |
Vinit Deshpande <vinitd@google.com> |
Re-enable Driver/Firmware based logs Change-Id: If2c929a1156d936ac1a17681d1f171ae1f9dd1bf
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
a1276378c5a215774193e745568d6dec0d19a722 |
|
10-Jun-2015 |
Vinit Deshpande <vinitd@google.com> |
Ensure FW version in bugreport Change-Id: I851b92a77abe647ed904ed4d55dddfdc0dfff366
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
ba5908f65b0470be02ec7b5c035a3aec22eb0c11 |
|
10-Jun-2015 |
Vinit Deshpande <vinitd@google.com> |
Temporarily disable wifi logger It is causing memory corruption; we'll enable it after that is dealt with. Bug: 21730601 Bug: 21668637 Change-Id: I0c0d9410b7498f80d937ed4cf494e569d3e51cd4
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
f7db07b9cc88ceef2ca3d77414834d0d75b4ece7 |
|
06-Jun-2015 |
Vinit Deshpande <vinitd@google.com> |
Capture alert data; and require verbose to capture firmware dump This change starts capturing data on firmware alert. Alerts by default capture FW memory dump. It also requires 'wifi verbose debugging' to be enabled to capture firmware dumps; they are taking too much space. Change-Id: I9bf8c274eef263be4c2fda62bed128048f36b972
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
d27cbe81e1b51f09081c667c275019e63a0399a2 |
|
06-Jun-2015 |
Vinit Deshpande <vinitd@google.com> |
Fix a null pointer exception in logger Bug: 21668637 Change-Id: I677c971cb06fbcb638d9a40f6aee3114d517f0ba
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
0bf150b2d69ec62df905bc6f8603437dc4caee1f |
|
01-Jun-2015 |
Vinit Deshpande <vinitd@google.com> |
Enable ring buffer logging and auto-logging of failures This change extracts ring buffer data from firmware; and automatically logs driver/firmware logs when any failure is detected. Change-Id: I20c8cc00e8ac1d1b4f35da6d309e972cd8ea5d19
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
03ba4a5b108ab2bbdb5d0e7be46ac45c00a6d9ff |
|
28-Apr-2015 |
xinhe <xinhe@google.com> |
Initial bring up for debug framework Change-Id: I0e78897d1440f0b7c56740ff7890e2f3d6a0d951
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|
a0d34d3626bd9631039a485d2d428b1b7de390e2 |
|
19-Mar-2015 |
Pierre Vandwalle <vandwalle@google.com> |
initial logger stuff Change-Id: Ie08d4184efe40c91969914ce84a1a6f1d255ec21
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiLogger.java
|