summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--proto/src/wifi.proto202
1 files changed, 202 insertions, 0 deletions
diff --git a/proto/src/wifi.proto b/proto/src/wifi.proto
index 7eefb7e667c3..debb1578451a 100644
--- a/proto/src/wifi.proto
+++ b/proto/src/wifi.proto
@@ -238,6 +238,9 @@ message WifiLog {
// Histogram of the delta between scan result RSSI and RSSI polls
repeated RssiPollCount rssi_poll_delta_count = 51;
+
+ // List of events
+ repeated StaEvent sta_event_list = 52;
}
// Information that gets logged for every WiFi connection.
@@ -460,3 +463,202 @@ message SoftApReturnCodeCount {
// Result of attempt to start SoftAp
optional SoftApStartResult start_result = 3;
}
+
+message StaEvent {
+ message ConfigInfo {
+ // The set of key management protocols supported by this configuration.
+ optional uint32 allowed_key_management = 1 [default = 0];
+
+ // The set of security protocols supported by this configuration.
+ optional uint32 allowed_protocols = 2 [default = 0];
+
+ // The set of authentication protocols supported by this configuration.
+ optional uint32 allowed_auth_algorithms = 3 [default = 0];
+
+ // The set of pairwise ciphers for WPA supported by this configuration.
+ optional uint32 allowed_pairwise_ciphers = 4 [default = 0];
+
+ // The set of group ciphers supported by this configuration.
+ optional uint32 allowed_group_ciphers = 5;
+
+ // Is this a 'hidden network'
+ optional bool hidden_ssid = 6;
+
+ // Is this a Hotspot 2.0 / passpoint network
+ optional bool is_passpoint = 7;
+
+ // Is this an 'ephemeral' network (Not in saved network list, recommended externally)
+ optional bool is_ephemeral = 8;
+
+ // Has a successful connection ever been established using this WifiConfiguration
+ optional bool has_ever_connected = 9;
+
+ // RSSI of the scan result candidate associated with this WifiConfiguration
+ optional int32 scan_rssi = 10 [default = -127];
+
+ // Frequency of the scan result candidate associated with this WifiConfiguration
+ optional int32 scan_freq = 11 [default = -1];
+ }
+
+ enum EventType {
+ // Default/Invalid event
+ TYPE_UNKNOWN = 0;
+
+ // Supplicant Association Rejection event. Code contains the 802.11
+ TYPE_ASSOCIATION_REJECTION_EVENT = 1;
+
+ // Supplicant L2 event,
+ TYPE_AUTHENTICATION_FAILURE_EVENT = 2;
+
+ // Supplicant L2 event
+ TYPE_NETWORK_CONNECTION_EVENT = 3;
+
+ // Supplicant L2 event
+ TYPE_NETWORK_DISCONNECTION_EVENT = 4;
+
+ // Supplicant L2 event
+ TYPE_SUPPLICANT_STATE_CHANGE_EVENT = 5;
+
+ // Supplicant L2 event
+ TYPE_CMD_ASSOCIATED_BSSID = 6;
+
+ // IP Manager successfully completed IP Provisioning
+ TYPE_CMD_IP_CONFIGURATION_SUCCESSFUL = 7;
+
+ // IP Manager failed to complete IP Provisioning
+ TYPE_CMD_IP_CONFIGURATION_LOST = 8;
+
+ // IP Manager lost reachability to network neighbors
+ TYPE_CMD_IP_REACHABILITY_LOST = 9;
+
+ // Indicator that Supplicant is targeting a BSSID for roam/connection
+ TYPE_CMD_TARGET_BSSID = 10;
+
+ // Wifi framework is initiating a connection attempt
+ TYPE_CMD_START_CONNECT = 11;
+
+ // Wifi framework is initiating a roaming connection attempt
+ TYPE_CMD_START_ROAM = 12;
+
+ // SystemAPI connect() command, Settings App
+ TYPE_CONNECT_NETWORK = 13;
+
+ // Network Agent has validated the internet connection (Captive Portal Check success, or user
+ // validation)
+ TYPE_NETWORK_AGENT_VALID_NETWORK = 14;
+
+ // Framework initiated disconnect. Sometimes generated to give an extra reason for a disconnect
+ // Should typically be followed by a NETWORK_DISCONNECTION_EVENT with a local_gen = true
+ TYPE_FRAMEWORK_DISCONNECT = 15;
+ }
+
+ enum FrameworkDisconnectReason {
+ // default/none/unknown value
+ DISCONNECT_UNKNOWN = 0;
+
+ // API DISCONNECT
+ DISCONNECT_API = 1;
+
+ // Some framework internal reason (generic)
+ DISCONNECT_GENERIC = 2;
+
+ // Network Agent network validation failed, user signaled network unwanted
+ DISCONNECT_UNWANTED = 3;
+
+ // Roaming timed out
+ DISCONNECT_ROAM_WATCHDOG_TIMER = 4;
+
+ // P2P service requested wifi disconnect
+ DISCONNECT_P2P_DISCONNECT_WIFI_REQUEST = 5;
+
+ // SIM was removed while using a SIM config
+ DISCONNECT_RESET_SIM_NETWORKS = 6;
+ }
+
+ // Authentication Failure reasons as reported through the API.
+ enum AuthFailureReason {
+ // Unknown default
+ AUTH_FAILURE_UNKNOWN = 0;
+
+ // The reason code if there is no error during authentication. It could also imply that there no
+ // authentication in progress,
+ AUTH_FAILURE_NONE = 1;
+
+ // The reason code if there was a timeout authenticating.
+ AUTH_FAILURE_TIMEOUT = 2;
+
+ // The reason code if there was a wrong password while authenticating.
+ AUTH_FAILURE_WRONG_PSWD = 3;
+
+ // The reason code if there was EAP failure while authenticating.
+ AUTH_FAILURE_EAP_FAILURE = 4;
+ }
+
+ // What event was this
+ optional EventType type = 1;
+
+ // 80211 death reason code, relevant to NETWORK_DISCONNECTION_EVENTs
+ optional int32 reason = 2 [default = -1];
+
+ // 80211 Association Status code, relevant to ASSOCIATION_REJECTION_EVENTs
+ optional int32 status = 3 [default = -1];
+
+ // Designates whether a NETWORK_DISCONNECT_EVENT was by the STA or AP
+ optional bool local_gen = 4 [default = false];
+
+ // Network information from the WifiConfiguration of a framework initiated connection attempt
+ optional ConfigInfo config_info = 5;
+
+ // RSSI from the last rssi poll (Only valid for active connections)
+ optional int32 last_rssi = 6 [default = -127];
+
+ // Link speed from the last rssi poll (Only valid for active connections)
+ optional int32 last_link_speed = 7 [default = -1];
+
+ // Frequency from the last rssi poll (Only valid for active connections)
+ optional int32 last_freq = 8 [default = -1];
+
+ // Enum used to define bit positions in the supplicant_state_change_bitmask
+ // See {@code frameworks/base/wifi/java/android/net/wifi/SupplicantState.java} for documentation
+ enum SupplicantState {
+ STATE_DISCONNECTED = 0;
+
+ STATE_INTERFACE_DISABLED = 1;
+
+ STATE_INACTIVE = 2;
+
+ STATE_SCANNING = 3;
+
+ STATE_AUTHENTICATING = 4;
+
+ STATE_ASSOCIATING = 5;
+
+ STATE_ASSOCIATED = 6;
+
+ STATE_FOUR_WAY_HANDSHAKE = 7;
+
+ STATE_GROUP_HANDSHAKE = 8;
+
+ STATE_COMPLETED = 9;
+
+ STATE_DORMANT = 10;
+
+ STATE_UNINITIALIZED = 11;
+
+ STATE_INVALID = 12;
+ }
+
+ // Bit mask of all supplicant state changes that occured since the last event
+ optional uint32 supplicant_state_changes_bitmask = 9 [default = 0];
+
+ // The number of milliseconds that have elapsed since the device booted
+ optional int64 start_time_millis = 10 [default = 0];
+
+ optional FrameworkDisconnectReason framework_disconnect_reason = 11 [default = DISCONNECT_UNKNOWN];
+
+ // Flag which indicates if an association rejection event occured due to a timeout
+ optional bool association_timed_out = 12 [default = false];
+
+ // Authentication failure reason, as reported by WifiManager (calculated from state & deauth code)
+ optional AuthFailureReason auth_failure_reason = 13 [default = AUTH_FAILURE_UNKNOWN];
+}