| Manager hierarchy |
| ================= |
| |
| Service org.chromium.flimflam |
| Interface org.chromium.flimflam.Manager |
| Object path / |
| |
| Methods dict GetProperties() |
| |
| Return the global system properties specified |
| in the Properties section. |
| |
| void SetProperty(string name, variant value) |
| |
| Changes the value of the specified property. Only |
| properties that are listed as read-write are |
| changeable. On success a PropertyChanged signal |
| will be emitted. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.InvalidProperty |
| |
| object CreateProfile(string name) |
| |
| Create and add new profile with the specified |
| identifier name. The name should either be in the |
| form ``name'' or ``~user/name'' where where ``user'' |
| is the login name of a user suitable for finding |
| their home directory. Both strings must contain |
| only alpha-numeric ASCII characters. |
| |
| Profiles created without a user name are stored in |
| a system directory readable only by the connection |
| mananger. Profiles created with a user name are |
| stored in the user's home directory but readable |
| only by the connection manager. |
| |
| If any existing profile is specified its contents |
| are reset to a default (minimal) contents. If the |
| profile is already registered with a CreateProfile |
| or PushProfile request then an error is returned. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.AlreadyExists |
| |
| object PushProfile(string name) |
| |
| Push the profile with the specified identifier |
| onto the profile stack. The profile must have |
| previously been created with CreateProfile. |
| The profile becomes the ``active profile'' that |
| is searched first when loading data and to which |
| updates are stored. |
| |
| A profile may be pushed only once. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.AlreadyExists |
| |
| object InsertUserProfile(string name, string user_hash) |
| |
| Add the profile with the specified identifier |
| to the profile stack. The profile must have |
| previously been created with CreateProfile. |
| The |user_hash| provided is assigned to the |
| profile and is made visible as a property of |
| the profile. |
| |
| A profile may be inserted or pushed only once. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.AlreadyExists |
| |
| object PopProfile(string name) |
| |
| Pop the top-most profile on the profile stack. |
| Any profile beneath this profile becomes the |
| ``active profile''. Any services using configuration |
| from the popped profile are disconnected and the |
| credentials invalidated (the next time |
| credentials are needed they are loaded from the |
| (new) active profile). |
| |
| The name must match the identifier of the active |
| profile. This is a safeguard against accidentally |
| removing the wrong profile. |
| |
| Note it is valid to pop all profiles from the |
| stack; in this state the connection manager does |
| not write any state to persistent storage. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.NotFound |
| [service].Error.WrongState |
| |
| object PopAnyProfile() |
| |
| Like PopProfile but do not check the profile on |
| the top of the stack; pop anything. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| |
| object PopAllUserProfiles() |
| |
| Remove all user profiles from the stack of managed |
| profiles leaving only default profiles if any exist. |
| |
| void RemoveProfile(string name) |
| |
| Remove the profile with specified identifier. |
| |
| The profile may not be resident on the stack. |
| The default profile may not be removed. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.AlreadyExists |
| |
| void RequestScan(string type) |
| |
| Request a scan for each device of the specified |
| technology. If type is the string "" then a scan |
| request is made for each technology. |
| |
| For WiFi devices this triggers a search for |
| available WiFi networks. When results are |
| available, the Device.Networks property is |
| updated and a PropertyChanged signal is issued. |
| |
| For cellular devices, this triggers a search for |
| available cellular networks, which may take up to a |
| minute or two to complete. When the results are |
| available, the Cellular.FoundNetworks property of |
| each cellular device is set with the results. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| |
| void EnableTechnology(string type) |
| |
| Enable all technologies of the specified type. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.InProgress |
| [service].Error.AlreadyEnabled |
| [service].Error.PermissionDenied |
| |
| void DisableTechnology(string type) |
| |
| Disable all technologies of the specified type. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.InProgress |
| [service].Error.AlreadyDisabled |
| |
| object ConfigureService(dict properties) |
| |
| Update the configuration of a service in memory |
| and in the profile. If no matching service exists |
| in memory it is temporarily created to carry out |
| this work and may be removed later. The object |
| path of the created service is returned. |
| |
| If a GUID property is specified in properties |
| it is used to find the service; otherwise Type, |
| SecurityClass, and type-specific properties such as |
| WiFi.SSID are used to find any existing service. |
| If no service is located in memory a new one is |
| created with the supplied properties. |
| |
| All provided parameters are applied to the in |
| memory service regardless of errors. But if an |
| error occurs while setting a property and the |
| service object was created as a result of this |
| call it is removed. In the event of multiple |
| errors the first error code is returned by |
| this call. |
| |
| See the Service Properties section for a list of |
| properties and constraints on property values. |
| See also GetService. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.TechnologyNotAvailable |
| |
| object ConfigureServiceForProfile(object profile, |
| dict properties) |
| |
| Create or update the configuration of a WiFi |
| service within a specific profile. This is |
| similar to "ConfigureService" above, except |
| that this might not change the state of the |
| current service. A matching service is found |
| by first looking for a service with matching |
| "GUID" property if specified, then by using |
| the "Mode", "SSID", and "SecurityClass" properties |
| from |properties|. |
| |
| If a matching service is found but its current |
| profile supersedes the specified profile, a new |
| profile entry is written with the specified |
| properties. This method can be used for |
| configuring a service in the default profile |
| while a separate configuration exists in the |
| user profile. In this scenario, no configured |
| properties in the user profile entry will be |
| copied to the default profile, and the user |
| profile remains unchanged. Moreover, the |
| matching service will still refer to the user |
| profile. |
| |
| A second example usage for this method is creating |
| a copy of the current service from the default |
| profile into the user profile. If a matching |
| service exists but its current profile antecedes |
| the specified profile, the configuration of the |
| current service is first copied to the new profile |
| without removing the entry in the default profile. |
| The service is then assigned to the new profile |
| and the specified properties are then applied to |
| the service and saved to the new profile, leaving |
| the original profile intact. This differs from the |
| behavior of setting the "Profile" property on the |
| service via the SetProperty or ConfigureService |
| methods, which remove the configuration from the |
| old profile. |
| |
| In situations where a matching service is not found, |
| the service isn't associated with a profile, or the |
| specified profile is already associated with the |
| matched service, the behavior of this method mimics |
| that of ConfigureService. |
| |
| Currently this method is only supported for WiFi |
| services. The specified profile must already |
| be loaded and on the Manager's profile stack. |
| If the "Profile" parameter is set in the properties |
| dictionary, it must match the profile parameter. |
| |
| This method returns the object path of the created |
| or modified service, in cases where a matching |
| service will refer to the specified profile. |
| Otherwise it returns the special path "/" to signify |
| that although the operation succeeded, there is |
| no matching service that refers to this profile. |
| |
| Possible Errors: [service].Error.IllegalOperation |
| [service].Error.InternalError |
| [service].Error.InvalidArguments |
| [service].Error.NotFound |
| [service].Error.TechnologyNotAvailable |
| |
| void FindMatchingService(dict properties) |
| |
| Find a service that matches all the properties |
| and returns the object identifier associated |
| with it. If no service exists in memory that |
| matches these arguments, an error is returned. |
| |
| See also GetService and ConfgiureService. |
| |
| Possible Errors: [service].Error.NotFound |
| |
| object GetService(dict properties) |
| |
| Return the object path of a service after |
| applying any requested configuration changes. |
| If no service exists it is created. |
| |
| If a GUID property is specified in properties |
| it is used to find the service; otherwise Type, |
| Security, and type-specific properties such as |
| WiFi.SSID are used to find any existing service. |
| If no service is located in memory a new one is |
| created with the supplied properties. |
| |
| All provided parameters are applied to the service |
| regardless of errors. But if an error occurs |
| while setting a property and the service was |
| created as a result of this call it is removed. |
| In the event of multiple errors the first error |
| code is returned by this call. |
| |
| See the Service Properties section for a list of |
| properties and constraints on property values. |
| See also ConfigureService. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.PermissionDenied |
| [service].Error.InternalError |
| [service].Error.InvalidNetworkName |
| [service].Error.InvalidPassphrase |
| [service].Error.TechnologyNotAvailable |
| |
| void SetDebugTags(string taglist) |
| |
| Set the debug tags that are enabled for logging to |
| syslog. "taglist" is a list of valid tag names |
| separated by "+". Shill silently ignores |
| invalid flags. |
| |
| string GetDebugTags() |
| Get the list of enabled debug tags. The list is |
| represented as a string of tag names separated |
| by "+". |
| |
| string ListDebugTags() |
| Get the list of all debug tags that can be enabled. |
| The list is represented as a string of tag names |
| separated by "+". |
| |
| string GetServiceOrder() |
| |
| Return a ','-separated string listing known technologies |
| in priority ordering. |
| |
| For example, the default ordering would be returned as: |
| "ethernet,wifi,cellular" |
| |
| void SetServiceOrder(string mask) |
| |
| Set the technology priority based on a provided |
| ','-separated list of technologies, sorted from highest |
| priority to lowest. |
| |
| The list may contain the following services: |
| { ethernet, wifi, cellular } |
| Technologies not included are assigned the lowest |
| priority. |
| |
| Technology priority changes occur immediately. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| |
| void RecheckPortal() |
| |
| Deprecated: Use Service.RequestPortalDetection instead. |
| Retest the portal state of all connected services |
| if a check is not currently in progress. |
| |
| dict GetNetworksForGeolocation() |
| |
| Deprecated: Use Manager.GetCellularNetworksForGeolocation() |
| and Manager.GetWiFiNetworksForGeolocation() instead. |
| Returns a dictionary (array of dictionary entries) |
| containing information about visible cellular and WiFi |
| networks which may be then used for Geolocation. |
| Each key is a string representing a network type (cellular |
| or WiFi), and the value itself is an array of dictionaries |
| mapping string key-value pairs. Each of these |
| (sub) dictionaries contains information about one single |
| network for Geolocation. |
| If there are several network devices of a particular |
| type, this method will return all of the information |
| from all of the devices. |
| For more details, see: |
| https://developers.google.com/maps/documentation/business/geolocation/ |
| |
| dict GetCellularNetworksForGeolocation() |
| |
| Returns a dictionary (array of dictionary entries) |
| containing information about visible cellular networks which |
| may be then used for Geolocation. |
| The key is a string representing cellular network type, and |
| the value itself is an array of dictionaries mapping string |
| key-value pairs. Each of these (sub) dictionaries contains |
| information about one single cellular network for |
| Geolocation. |
| If there are several cellular devices, this method will |
| return all of the information from all of the cellular |
| devices. |
| For more details, see: |
| https://developers.google.com/maps/documentation/business/geolocation/ |
| |
| dict GetWiFiNetworksForGeolocation() |
| |
| Returns a dictionary (array of dictionary entries) |
| containing information about visible WiFi networks which may |
| be then used for Geolocation. |
| The key is a string representing WiFi network type, and the |
| value itself is an array of dictionaries mapping string |
| key-value pairs. Each of these (sub) dictionaries contains |
| information about one single WiFi network for Geolocation. |
| If there are several WiFi devices, this method will return |
| all of the information from all of the WiFi devices. |
| For more details, see: |
| https://developers.google.com/maps/documentation/business/geolocation/ |
| |
| boolean SetNetworkThrottlingStatus(bool enabled, |
| uint32 upload_rate_kbits, |
| uint32 download_rate_kbits) |
| |
| Enables or disables network throttling to limit bandwidth |
| consumed by the device. Applies to all interfaces. Both |
| rates are specified in kbits/s. If throttling already |
| exists, this will override current throttling settings. |
| |
| void ScanAndConnectToBestServices() |
| |
| Forces a WiFi scan if a WiFi device is available as a |
| way of ensuring that networks recently configured can be |
| found. Then connects to the highest priority service |
| available for each technology as determined by sorting |
| all services independent of their current connectivity |
| state. Shill does not normally disrupt an active |
| connection for a given technology, even when a higher |
| priority network becomes available for that technology. |
| Calling this method will trigger a switch to higher |
| priority services for each available technology. |
| Note: The scan applies only to a WiFi device, however |
| connecting to the highest priority service will happen |
| for all technologies. |
| |
| void CreateConnectivityReport() |
| |
| For each connected service, perform a single |
| connectivity trial and report the results to the log. |
| This connectivity test does not affect Service state. |
| |
| void ClaimInterface(string claimer_name, string interface_name) |
| |
| Claim the ownership of a device |interface_name|. The |
| specified device will be added to the block list. Any |
| current connection on that device will be terminated, |
| and shill will stop managing that device. |claimer_name| |
| is deprecated and thus can be any value. |
| |
| void ReleaseInterface(string claimer_name, string interface_name) |
| |
| Release the ownership of a device |interface_name| back |
| to shill. The specified device will be removed from the |
| block list and managed by shill. |claimer_name| is |
| deprecated and thus can be any value. |
| |
| void SetDNSProxyAddresses(array{string} addresses) |
| |
| Assigns the IPv4 and IPv6 addresses of the dns-proxy |
| service. When set, shill will use these addresses as |
| the system name servers rather than those specified by |
| the relevant service. |
| |
| If the array is empty, DNS proxy address(es) will be |
| cleared and the name servers from the current default |
| network will be used. This is the same behavior as |
| ClearDNSProxyAddresses. |
| |
| This IPv4 address is enforced to be within a predetermined |
| system local subnet. |
| |
| void ClearDNSProxyAddresses() |
| |
| Clear any DNS proxy address stored in shill. When this |
| is called, shill will use the name servers from the |
| current default network for /etc/resolv.conf instead of |
| the proxy address(es). |
| |
| void DNSProxyDOHProviders(array{string, string} providers) |
| |
| Assigns the DNS-over-HTTPS service providers for use by |
| the dns-proxy service. URLs of the secure |
| DNS service endpoints are used as keys. If applicable, |
| each value is a comma-separated list of the IP addresses |
| (both v4 and v6 are supported) of the standard DNS name |
| servers that map to the secure DNS service provider. |
| |
| void AddPasspointCredentials(object profile, dict properties) |
| |
| Adds a set of Passpoint credentials to |profile|. The credentials |
| will be used to match and connect to compatible Wi-Fi networks. |
| Credentials cannot be added to the default Profile. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.NotFound |
| [service].Error.OperationFailed |
| |
| void RemovePasspointCredentials(object profile, |
| dict properties) |
| |
| Remove Passpoint credentials that matches the all |
| property of |properties|. This removes all services |
| associated with the removed credentials. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.NotFound |
| [service].Error.OperationFailed |
| |
| void SetTetheringEnabled(boolean enabled) |
| |
| DEPRECATED - Use EnableTethering and DisableTethering instead. |
| |
| Enables or disables tethering with the corresponding properties in |
| Manager.TetheringConfig. Only supports cellular and ethernet as the |
| upstream technologies. Only supports WiFi as the downstream technology. |
| Returns a string indicating the result. This could be any one of, |
| "success", "failure", "not_allowed", "invalid_properties", "abort", |
| "upstream_not_available", "downstream_wifi_failure", "wrong_state" |
| "network_setup_failure", "upstream_failure", "busy", |
| "concurrency_not_supported". |
| |
| void EnableTethering(WiFiInterfacePriority priority) |
| |
| Enables tethering with the corresponding properties in |
| Manager.TetheringConfig. Only supports cellular and ethernet as the |
| upstream technologies. Only supports WiFi as the downstream technology. |
| Returns a string indicating the result. This could be any one of, |
| "success", "failure", "not_allowed", "invalid_properties", "abort", |
| "upstream_not_available", "downstream_wifi_failure", "wrong_state" |
| "network_setup_failure", "upstream_failure", "busy". |
| |
| "priority" arg designates the priority of the underlying SoftAP |
| interface. It is currently stubbed and non-functional. |
| |
| void DisableTethering() |
| |
| Disables tethering with the corresponding properties in |
| Manager.TetheringConfig. Only supports cellular and ethernet as the |
| upstream technologies. Only supports WiFi as the downstream technology. |
| Returns a string indicating the result. This could be any one of, |
| "success", "failure", "not_allowed", "invalid_properties", "abort", |
| "upstream_not_available", "downstream_wifi_failure", "wrong_state" |
| "network_setup_failure", "upstream_failure", "busy". |
| |
| string CheckTetheringReadiness() |
| |
| Checks whether the upstream technology is ready to tether. It checks, |
| 1. If any upstream is connected. |
| 2. For cellular upstream, performs an entitlement check with the |
| carrier, and check to see if there is a known tethering APN |
| that can be used. |
| Returns a status string indicating the readiness. Possible status: |
| "ready", "not_allowed", "upstream_network_not_available". |
| |
| void SetLOHSEnabled(boolean enabled) |
| |
| Enables or disables local only hotspot with the corresponding properties in |
| Manager.LOHSConfig. Returns a string through an asynchronous callback |
| indicating the result. This currently only returns "NotImplemented". |
| |
| void SetCapportEnabled(boolean enabled) |
| |
| Enables or disables the CAPPORT functionality for all network instances. |
| After it's disabled, the network validation will skip CAPPORT query. |
| When it becomes enabled, the networks that have been detected the |
| CAPPORT server will schedule the validation automatically. |
| |
| dict CreateP2PGroup(dict properties) |
| |
| Creates a P2P group with the specified config with this device as |
| the group owner. Possible arguments are "ssid" (string), |
| "passphrase" (string), "frequency" (int32), and "priority" |
| (WiFiInterfacePriority). "priority" is mandatory. All other |
| arguments are optional and all omitted args will be chosen by the |
| platform. |
| |
| Returns a dictionary with the following entries: |
| |
| "result_code" (string): A string indicating the result of the |
| operation. This could be any one of "success", "not_allowed", |
| "not_supported", "concurrency_not_supported", "timeout", |
| "frequency_not_supported", "bad_ssid", "invalid_arguments", |
| "operation_in_progress", "operation_failed". |
| |
| "shill_id" (uint32): Only included when result_code == "success". |
| Unique ID for the newly formed P2P group. |
| |
| Some functionality is stubbed. |
| |
| dict ConnectToP2PGroup(dict properties) |
| |
| Starts a P2P connection with a P2P group with the specified |
| config. Possible arguments are "ssid" (string), "passphrase" |
| (string), "frequency" (int32), and "priority" (WiFiInterfacePriority). |
| "ssid", "passphrase", and "priority" are mandatory. If "frequency" is |
| omitted then the platform will scan all available channels. |
| |
| Returns a dictionary with the following entries: |
| |
| "result_code" (string): A string indicating the result of the |
| operation. This could be any one of "success", "not_allowed", |
| "not_supported", "concurrency_not_supported", "timeout", |
| "auth_failure", "frequency_not_supported", "group_not_found", |
| "already_connected", "invalid_arguments", "operation_in_progress", |
| "operation_failed". |
| |
| "shill_id" (uint32): Only included when result_code == "success". |
| Unique ID for the newly created P2P client. |
| |
| Some functionality is stubbed. |
| |
| dict DestroyP2PGroup(uint32 shill_id) |
| |
| Destroys the P2P group with the specified shill_id. Prior to |
| destruction of the group, all P2P clients connected to the group |
| will be disconnected. |
| |
| Returns a dictionary with the following entries: |
| |
| "result_code" (string): A string indicating the result of the |
| operation. This could be any one of "success", "not_allowed", |
| "not_supported", "timeout", "no_group", "operation_in_progress", |
| "operation_failed". |
| |
| "shill_id" (uint32): Unique ID for the requested P2P client. |
| |
| Some functionality is stubbed. |
| |
| dict DisconnectFromP2PGroup(uint32 shill_id) |
| |
| Disconnects the P2P client with the specified shill_id from it's |
| P2P group. |
| |
| Returns a dictionary with the following entries: |
| |
| "result_code" (string): A string indicating the result of the |
| operation. This could be any one of "success", "not_allowed", |
| "not_supported", "timeout", "not_connected", "operation_in_progress", |
| "operation_failed". |
| |
| "shill_id" (uint32): Unique ID for the requested P2P client. |
| |
| Some functionality is stubbed. |
| |
| Signals PropertyChanged(string name, variant value) |
| |
| This signal indicates a changed value of the given |
| property. |
| |
| Properties object ActiveProfile [readonly] |
| |
| Object path of the top-most Profile in the Profile stack. |
| |
| string AlwaysOnVpnPackage [readwrite] |
| |
| Package name of an Android VPN app to use as the "AlwaysOnVpn" |
| connection. When this property is not "", all user traffic will be |
| blackholed unless we are connected to an ARC VPN using the |
| corresponding Android app. |
| |
| boolean ArpGateway [readwrite] |
| |
| Specifies whether the DHCP client should be configured to perform |
| the extra step of performing an ARP of the gateway IP address. This |
| provides a level of assurance that the issued IP address is valid |
| and not blocked in some manner unknown by the DHCP server. |
| |
| array{string} AvailableTechnologies [readonly] |
| |
| The list of technologies for which at least one Device exists (see |
| the caveat in Devices). Order carries no meaning and is not |
| guaranteed to be consistent. |
| |
| string CheckPortalList [readwrite] |
| |
| The list of technologies for which "captive portal checking"--really |
| just connectivity quick checks--is enabled. This is a |
| comma-separated string; e.g. "wifi,cellular,vpn". |
| |
| array{string} ClaimedDevices [readonly] |
| |
| The list of the names of devices that have been claimed |
| by an external service for management by ClaimInterface method. |
| |
| array{string} ConnectedTechnologies [readonly] |
| |
| The list of technologies for which at least one Device is connected |
| (see the caveat in Devices). Order carries no meaning and is not |
| guaranteed to be consistent. |
| |
| string ConnectionState [readonly] |
| |
| The state of the highest ranked connected service. The value of |
| this property is "idle" if there are no connected services. |
| Otherwise this can be any of the connected service states, e.g, |
| "ready" or "online". |
| |
| object DefaultService [readonly] |
| |
| The object path of the connected Service with the highest |
| priority. If there is no connected Service, returns the "/" object |
| path. |
| |
| string DefaultTechnology [readonly] |
| |
| The technology of the DefaultService. |
| |
| array{object} Devices [readonly] |
| |
| List of physical Device object paths. No virtual Devices are |
| contained in this list. Order carries no meaning and is not guaranteed |
| to be consistent. |
| |
| string DHCPProperty.Hostname [readwrite] |
| |
| Optional setting to configure DHCP requests. Some DHCP servers may |
| register a DNS entry on behalf of this hostname; others may just |
| make available a table for administrators to tell what machines are |
| on their network. |
| |
| The default for this name is empty, which means that the system will |
| not report a hostname. When this property is set it will be |
| persisted in the default profile. |
| |
| bool DisableVHT [readwrite] |
| |
| Disables 802.11ac Very High Throughput (VHT) connections, reverting |
| to 802.11n. |
| |
| string DisconnectWiFiOnEthernet [readwrite] |
| |
| Option to auto disconnect WiFi and inhibit WiFi autoconnect when an |
| Ethernet service is available. Setting value to "connected" configure |
| shill to disconnect WiFi when basic network provisioning is done on |
| Ethernet, while setting value to "online" only disconnect WiFi when |
| Internet reachability is verified on Ethernet. Setting value to "off" |
| turns off this feature. "off" by default. |
| |
| array{string} EnabledTechnologies [readonly] |
| |
| The list of technologies for which at least one Device is enabled |
| (see the caveat in Devices). Order carries no meaning and is not |
| guaranteed to be consistent. |
| |
| boolean EnableDHCPQoS [readwrite] |
| |
| If set, shill will instruct dhcpcd to apply proper DSCP value on all |
| egress DHCP packets. Currently this option only affects the DHCP packets |
| on the WiFi networks. |
| |
| boolean EnableRFC8925 [readwrite] |
| |
| Specify whether DHCPv4 client should follow RFC 8925 to request option |
| 108, which will in result volunteer to drop IPv4 and prefer operating as |
| IPv6-only, if the network itself is also IPv6-only capable. |
| |
| dict LOHSConfig [readwrite] |
| |
| Dictionary that contains the following Local Only HotSpot (LOHS) related |
| properties. This intentionally mirrors the Manager.TetheringConfig and |
| reuses the same Manager.TetheringConfig property names. |
| |
| string ssid |
| the hex-encoded tethering SSID name to be advertised |
| string band |
| the local only hotspot band preference. This should be either |
| “2.4GHz” or “5GHz”. If absent, the band will be picked by Shill. |
| string security |
| the tethering security to be used. This should be "wpa2" |
| string passphrase |
| the password to be used to authenticate to the local only hotspot |
| network |
| |
| string NoAutoConnectTechnologies [readwrite] |
| |
| The list of technologies for which auto-connect is disabled. This is |
| a comma-separated string, e.g. "cellular,wifi". |
| |
| dict P2PCapabilities [readonly] |
| |
| A property that indicates the hardware capabilities and state |
| information for P2P operation on the platform. Callers should |
| request this property before utilizing the P2P API. |
| |
| boolean P2PSupported |
| Whether the platform supports P2P operations. |
| |
| string GroupReadiness |
| Indicates whether the platform is currently able to support |
| a new P2P Group Owner interface. Options: "ready", "not_ready". |
| |
| string ClientReadiness |
| Indicates whether the platform is currently able to support |
| a new P2P Client interface. Options: "ready", "not_ready". |
| |
| array{int} SupportedChannels |
| This provides the list of supported channel frequencies in MHZ. |
| Note: On Android the GC can use indoor channels by GO cannot, |
| so sending the supported channels for GO role should be done |
| here. |
| |
| array{int} PreferredChannels |
| This provides a list of channels that the platform would |
| prefer the P2P link to be created on. An empty list indicates |
| no preference. These are not ordered, so all “preferred” |
| channels should have equal priority. |
| |
| array{dict} P2PClientInfos [readonly] |
| |
| List of all P2P Client interfaces that are active on the platform. |
| The format for representation of a local P2P Client interface: |
| |
| uint32_t shill_id |
| Unique ID to represent the P2P Client, provided by Shill. |
| This is only used to disambiguate the group against other |
| P2P Clients on the platform and has no relation to any other |
| identifiers such as P2P Group ID, BSSID, mac address, |
| interface index, etc. |
| |
| string state |
| Current state of a local P2P Client interface. Possible values: |
| |
| "idle" |
| No connectivity with the Group has been established. |
| |
| "associating" |
| In the process of associating and establishing |
| L2 connectivity to the Group. |
| |
| "configuring" |
| L2 connectivity established, in the process of |
| configuring L3 connectivity. |
| |
| "connected" |
| Device has established L3 connectivity. |
| |
| "disconnecting" |
| In the process of disconnecting from the Group. |
| |
| string ssid |
| The SSID of the network to which the Client is connected, |
| or connecting. |
| |
| string passphrase (type:string) |
| The passphrase of the network to which the Client is connected, |
| or connecting. |
| |
| string group_bssid |
| The BSSID of the P2P Group Owner. |
| |
| string ipv4_address [optional] |
| This represents the ipv4 address of the local client interface |
| in its textual representation. |
| |
| string ipv6_address [optional] |
| This represents the ipv6 addresses of the local client interface |
| in its textual representation. |
| |
| string mac_address |
| The MAC address of the local client interface with format |
| in its textual representation. |
| |
| int frequency |
| This represents the selected channel on which the network |
| is hosted. |
| |
| int32_t network_id |
| Unique ID to identify the network. |
| |
| string interface |
| The client's interface name (for example "p2p-wlan0-0"). |
| |
| dict group_owner |
| Representation of the Group Owner to which the Client is |
| connecting, or connected. This dictionary has the following |
| entries: |
| |
| string mac_address |
| The MAC address of the Group Owner interface |
| in its textual representation. |
| |
| string ipv4_address |
| The IPv4 address of the Group Owner interface |
| in its textual representation. |
| |
| array{string} ipv6_addresses |
| The IPv6 addresses of the Group Owner interface. |
| Unused in the MVP, but defined here for forward |
| compatibility. |
| |
| string hostname [optional] |
| This represents the host name of the Group Owner |
| which may or may not be NULL. |
| |
| string vendor_class [optional] |
| The vendor class value that the client may choose |
| to advertise. For example Chrome OS devices advertise |
| “chromeos”. |
| |
| array{dict} P2PGroupInfos [readonly] |
| List of all local P2P Group Owner interfaces that are active |
| on the platform. The format for representation of a local |
| P2P Group Owner interface: |
| |
| uint32_t shill_id |
| Unique ID to represent the Group, provided by Shill. |
| This is only used to disambiguate the group against other |
| P2P Groups on the platform and has no relation to any other |
| identifiers such as P2P Group ID, BSSID, mac address, |
| interface index, etc. |
| |
| string state |
| Current state of a local P2P Group Owner interface. |
| Possible values: |
| |
| "idle" |
| The interface is not ready to accept clients. |
| |
| "starting" |
| The interface is in the process of forming the group. |
| |
| "configuring" |
| The group is formed at link layer, in the process |
| of setting up network configuration. |
| |
| "active" |
| The group is fully formed and ready to accept clients. |
| |
| "stopping" |
| The group is in the process of being torn down |
| and destroyed. |
| |
| string ssid |
| The SSID of the group hosted by the local interface. |
| |
| string passphrase |
| The passphrase of the group hosted by the local interface. |
| |
| string bssid |
| The BSSID of the P2P Group Owner. |
| |
| string ipv4_address [optional] |
| This represents the ipv4 address of the local interface |
| in its textual representation. |
| |
| array{string} ipv6_addresses |
| This represents the ipv6 addresses of the local interface |
| in its textual representation. |
| |
| string mac_address |
| The MAC address of the local interface with format |
| in its textual representation. |
| |
| int frequency |
| This represents the selected channel on which the group |
| is hosted. |
| |
| int32_t network_id |
| Unique ID to identify the network in Patchpnel. |
| |
| string interface |
| The group's interface name (for example "p2p-wlan0-0"). |
| |
| array{dict} clients |
| A list of clients of the P2P group. Each of these dictionaries |
| has the following entries: |
| |
| string mac_address |
| The MAC address of the client interface |
| in its textual representation. |
| |
| string ipv4_address |
| The IPv4 address of the client interface |
| in its textual representation. |
| |
| string ipv6_address [optional] |
| The IPv6 addresses of the P2P Client. Unused in the MVP, |
| but defined here for forward compatibility. |
| |
| string hostname [optional] |
| This represents the client host name. |
| |
| string vendor_class [optional] |
| The vendor class value that the client may choose |
| to advertise. For example Chrome OS devices advertise |
| “chromeos”. |
| |
| string PortalFallbackHttpUrls [readwrite] |
| |
| Comma-separated string of URLs used for HTTP connectivity |
| verification after the first connectivity verification trial. The |
| order of these URLs has no meaning. |
| |
| string PortalFallbackHttpsUrls [readwrite] |
| |
| Comma-separated string of URLs used for HTTPS connectivity |
| verification after the first connectivity verification trial. The |
| order of these URLs has no meaning. |
| |
| string PortalHttpUrl [readwrite] |
| |
| The first URL to use when doing connectivity verification over HTTP. |
| If portal detection fails with this URL, an entry in |
| PortalFallbackHTTPUrls will be used. |
| |
| string PortalHttpsUrl [readwrite] |
| |
| The first URL to use when doing connectivity verification over |
| HTTPS. If portal detection fails with this URL, an entry in |
| PortalFallbackHTTPSUrls will be used. |
| |
| string ProhibitedTechnologies [readwrite] |
| |
| The list of technologies whose Devices should be disabled and |
| prohibited from being enabled. This is a comma-separated string, |
| e.g. "cellular,wifi". All Devices that are one of these technology |
| types will be immediately disabled persistently, and when a new |
| Device of this type appears, it will be disabled by default. |
| Attempts to enable such a Device using the EnableTechnology will |
| fail. Order carries no meaning and is not guaranteed to be |
| consistent. |
| |
| array{object} Profiles [readonly] |
| |
| List of Profile object paths in the Profile stack. Elements are |
| ordered from top of the stack to bottom. |
| |
| array{object} Services [readonly] |
| |
| List of Service object paths that are visible. The first Service is |
| always the primary connected Service on the system (if there is |
| one). Services in a more connected state always come before Services |
| in a less connected state. In order: |
| * "online" |
| * "ready" |
| * "no-connectivity", "redirect-found", or "portal-suspected" |
| * "association" or "configuration" |
| * "idle" or "disconnecting" |
| * "failure" |
| |
| Between unconnected Services, connectable Services come before |
| unconnectable Services. Within the same state "bucket", Services are |
| ordered based on Technology type (see SetServiceOrder). Services in |
| the same state bucket and with the same Technology type are then |
| compared with the following (in order): |
| * "Priority" |
| * "Source" |
| * "ManagedCredentials" |
| * "AutoConnect" |
| * "Security" (currently only for WiFi) |
| * "Profile" ordering |
| * If the Service has ever connected |
| * "Strength" |
| |
| Finally, if two Services have all of those in common, the Service |
| that was created first will be placed before the other Service. |
| |
| This list represents the available services for the current selected |
| profile. If the profile gets changed then this list will be updated. |
| |
| The same list is available via the profile object itself. It is just |
| provided here for convenience of applications only dealing with the |
| current active profile. |
| |
| array{object} ServiceCompleteList [readonly] |
| |
| Complete list of Service object paths, including those that are not |
| currently visible. For example, WiFi Services that are stored in a |
| loaded Profile but cannot currently be connected are presented in |
| this list. |
| |
| The Services are listed in the same Service sorting order as the |
| "Services" property above. Change events for this property are not |
| emitted. |
| |
| array{object} ServiceWatchList [readonly] |
| |
| List of Service object paths that are in a 'non-idle' state. This |
| indicates the set of Services which are currently listed as |
| associating, configuring, or some other state other than idle, |
| failure, disconnecting, or unknown. This allows a caller to use |
| this property indication to track which Services should be monitored |
| for state changes. |
| |
| The Services are listed in the same Service sorting order as the |
| "Services" property above, and a change event for this property is |
| emitted every time the Service list is reordered, even if this list |
| has not changed. |
| |
| string SupportedVPNTypes [readonly] |
| |
| The list of supported vpn types. This is a comma-separated string; |
| e.g. "l2tpipsec,openvpn,thirdpartyvpn,arcvpn". The possible value of |
| list items are "l2tpipsec", "openvpn", "thirdpartyvpn", "arcvpn", and |
| "wireguard". |
| |
| boolean TetheringAllowed [readwrite] |
| |
| Whether tethering feature is allowed. When false, SetTetheringEnabled |
| will return failure. The value is controlled by a feature flag in Chrome. |
| Should only be modified by Chrome feature flag or tests. |
| |
| boolean ExperimentalTetheringFunctionality [readwrite] |
| |
| Whether the tethering feature is allowed on untested carriers, |
| modems and modem FW versions. When false, tethering is only allowed |
| in tested carriers/modems/FWs; when true, the feature is allowed in |
| all of them, unless tethering is disallowed by the carrier. |
| |
| dict TetheringCapabilities [readonly] |
| |
| Dictionary containing the tethering hardware capabilities of the device. |
| |
| array{string} downstream_technologies |
| array containing any/all of "wifi", "ethernet" |
| array{string} upstream_technologies |
| array containing any/all of "wifi", "cellular", "ethernet" |
| array{string} wifi_security_modes |
| array containing any/all of "wpa2", "wpa3" or "wpa2+wpa3" |
| |
| dict TetheringConfig [readwrite] |
| |
| Dictionary that contains the following Tethering related properties. |
| Changing this property while a tethering session is active will restart |
| the tethering session with new configs. If upstream_technology is not |
| changed and is cellular, the upstream network will remain unchanged |
| during the tethering restart process. If only auto_disable is changed, |
| inactivity timer will be armed/disarmed on the fly. The tethering |
| session will not be restarted. |
| |
| boolean auto_disable |
| automatically disable tethering if no devices have been |
| associated for 10 minutes. Default to true. |
| boolean MAR |
| a random MAC address is used when a mobile AP is started |
| (WiFi downstream only). Default to true. |
| string ssid |
| the hex-encoded tethering SSID name to be advertised (WiFi |
| downstream only) |
| string band |
| the tethering band preference (WiFi downstream only) |
| this should be either “2.4GHz” or “5GHz”. If absent, the band will |
| be picked by the platform. |
| string security |
| the tethering security to be used (WiFi downstream only) |
| this should be one of "wpa2", "wpa3", "wpa2+wpa3" |
| string passphrase |
| the password to be used to authenticate to the tethering network |
| (WiFi downstream only) |
| string upstream_technology |
| Preferred upstream technology to use, one of "wifi", "cellular", |
| "ethernet". If absent, Shill will use cellular as the default |
| upstream technology. |
| string downstream_device_for_test |
| the assigned downstream device, only used for testing. This |
| property is never persisted. |
| uint32 downstream_phy_index_for_test |
| The phy index of the assigned downstream device, only used for |
| testing. This property is never persisted. |
| |
| dict TetheringStatus [readonly] |
| |
| Dictionary that contains the status of the active tethering connection, |
| |
| string downstream_technology |
| one of "wifi", "ethernet". |
| string upstream_technology |
| one of "wifi", "cellular", "ethernet". |
| string state |
| state of the tethering instance. The state could be any one of |
| "idle", "starting", "active", "stopping" or "restarting". |
| string idle_reason |
| the reason why tethering is in idle state. Could be any one of |
| "initial_state", "client_stop", "user_exit", "inactive", "error" |
| "upstream_disconnect", "upstream_no_internet", "suspend", |
| "config_change", "downstream_link_disconnect", "start_timeout", |
| "downstream_network_disconnect", "upstream_not_available", |
| "concurrency". |
| array{dict} active_clients |
| string IPv4 |
| IPv4 address of the associated client expressed in the |
| dotted-decimal format. |
| array{string} IPv6 |
| IPv6 addresses of the associated client in allowed format |
| as specified in RFC 2373. |
| string MAC |
| EUI-64 or EUI-48 hardware address of the associated client. |
| string hostname |
| hostname of the associated client. This value is present |
| only if the client advertises it in its DHCP request. |
| |
| array{string} UninitializedTechnologies [readonly] |
| |
| The list of uninitialized technologies. An uninitialized technology |
| is a technology that has at least one Device that is not initialized |
| yet (i.e. the Device object is not created yet). The strings are |
| the same as the ones from the service types. |
| |
| bool WakeOnLanEnabled [readwrite] |
| |
| Specifies whether the Wake on LAN feature should be enabled on new |
| Ethernet links. Currently connected links are un-affected. |
| |
| bool WiFi.GlobalFTEnabled [readwrite] |
| |
| Specifies whether or not 802.11r Fast BSS Transition should be |
| used. |
| |
| bool WiFi.ScanAllowRoam [readwrite] |
| |
| Specifies whether or not a WiFi scan could trigger a |
| roam if a better AP is found on the same network. |
| |
| string WiFi.RequestScanType [readwrite] |
| |
| Specifies WiFi RequestScan scan type. |
| Possible values: |
| |
| "active" |
| Active scan over all channels. |
| |
| "passive" |
| Passive scan over all 6 GHz channels. |
| |
| "default" |
| Rotates the scan type between active and passive scans. |
| |
| array{string, string} DNSProxyDOHProviders [readonly] |
| |
| The DNS-over-HTTPS service providers. URLs of the secure |
| DNS service endpoints are used as keys. If applicable, |
| each value is a comma-separated list of the IP addresses |
| (both v4 and v6 are supported) of the standard DNS name |
| servers that map to the secure DNS service provider. |
| |
| boolean P2PAllowed [readwrite] |
| |
| Whether P2P feature is allowed. When false, all P2P-related calls |
| will return failure. Should only be modified by Chrome feature flag |
| or tests. |
| |
| Enums WiFiInterfacePriority |
| |
| Represents the priority level of a Wi-Fi interface. When a new |
| interface is requested, existing interfaces of lower priority may be |
| destroyed to make room for the new interfaces. |
| |
| "OPPORTUNISTIC" |
| Opportunistic requests with minimum priority; nice-to-have but |
| don’t directly impact the user. |
| |
| "BACKGROUND" |
| Background requests; not triggered by direct user input. |
| |
| "FOREGROUND_WITH_FALLBACK" |
| Foreground requests with potential fallback media. |
| |
| "FOREGROUND_WITHOUT_FALLBACK" |
| Foreground requests without any fallback media. |
| |
| "OS_REQUEST" |
| Requests from OS-native applications like network settings that |
| directly enable user use-cases. |
| |
| "USER_ASSERTED" |
| User-initiated requests in which the user has been explicitly |
| informed that some Wi-Fi functionality may stop working, and |
| agreed to start the interface anyway. Treated with maximum |
| priority. |