| Device hierarchy |
| ================ |
| |
| Service org.chromium.flimflam |
| Interface org.chromium.flimflam.Device |
| Object path [variable prefix]/{device0,device1,...} |
| |
| Methods dict GetProperties() |
| |
| Returns properties for the device object. See |
| the properties section for available properties. |
| |
| 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 |
| |
| void ClearProperty(string name) |
| |
| Reset the specified parameter to its "factory" |
| value and remove any previously set value from |
| the profile. Only properties that are listed as |
| read-write are changeable. |
| |
| void Enable() |
| |
| Enable the device. |
| |
| Possible Errors: [service].Error.PermissionDenied |
| |
| void Disable() |
| |
| Disable the device. |
| |
| void RequirePin(string pin, boolean require) |
| |
| (Cellular only) Enable or disable PIN protection for |
| a cellular modem's SIM card. If 'require' is true, |
| then a PIN will need to be supplied (by calling |
| EnterPin) before the modem is usable. If 'require' |
| is false, a PIN will not be required. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.NotSupported |
| [service].Error.PinError |
| |
| In the case of PinError, the error message gives |
| more detail: [interface].PinRequired |
| [interface].PinBlocked |
| [interface].IncorrectPin |
| |
| void EnterPin(string pin) |
| |
| (Cellular only) Provide a PIN to unlock a SIM card. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.NotSupported |
| [service].Error.PinError |
| |
| In the case of PinError, the error message gives |
| more detail: [interface].PinRequired |
| [interface].PinBlocked |
| [interface].IncorrectPin |
| |
| void UnblockPin(string puk, string pin) |
| |
| (Cellular only) Provide a PUK code to unblock a PIN. |
| When an incorrect PIN has been entered too many times |
| (three is generally the number of tries allowed), the |
| PIN becomes "blocked", and the SIM card can only be |
| unlocked by providing a PUK code provided by the |
| carrier. At the same time, a new PIN must be specified. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.NotSupported |
| [service].Error.PinError |
| |
| In the case of PinError, the error message gives |
| more detail: [interface].PinRequired |
| [interface].PinBlocked |
| [interface].IncorrectPin |
| |
| void ChangePin(string old_pin, string new_pin) |
| |
| (Cellular only) Change the PIN used to unlock a SIM |
| card. The existing PIN must be provided along with |
| the new PIN. |
| |
| Possible Errors: [service].Error.InvalidArguments |
| [service].Error.NotSupported |
| [service].Error.PinError |
| |
| In the case of PinError, the error message gives |
| more detail: [interface].PinRequired |
| [interface].PinBlocked |
| [interface].IncorrectPin |
| |
| void Register(string network_id) |
| |
| (Cellular only) Initiate registration on the network |
| specified by network_id, which is in the form MCCMNC. |
| If the network ID is the empty string, then switch |
| back to automatic registration mode before initiating |
| registration. |
| |
| If registration succeeds, the network_id is remembered, |
| and is saved in the profile, so that the same network |
| will be tried again if the modem is disabled and then |
| re-enabled, or if the system is restarted or resumed. |
| |
| If registration fails, the network_id is not |
| remembered, and is not saved in the profile. If it was |
| already in the profile, it is deleted. In addtion, one |
| more attempt is made to register, after switching back |
| to automatic registration mode. |
| |
| void RenewDHCPLease() |
| |
| Request the renewal of all DHCPv4 and DHCPv6 leases. |
| |
| void Reset() |
| |
| Reset the device. The implementation is device- |
| dependent. In some cases, the device and its associated |
| service(s) may be destroyed after the physical device |
| is reset. In such case, a new device is expected to be |
| created after the physical device reappears on the |
| system. Currently, device reset is only supported by |
| cellular devices managed by ModemManager. |
| |
| Possible Errors: [service].Error.Failure |
| [service].Error.NotSupported |
| |
| void ResetByteCounters() |
| |
| Reset the device's persisted counters of transmitted |
| |
| void SetUsbEthernetMacAddressSource(string source) |
| |
| (Ethernet only) Set MAC address source for USB Ethernet |
| adapter. The |source| parameter should be one of the |
| following: |
| |
| "designated_dock_mac" : Computer's designated dock MAC |
| address. |
| "builtin_adapter_mac" : Computer's built-in NIC MAC |
| address. |
| "usb_adapter_mac" : USB Ethernet adapter's built-in NIC |
| MAC address. |
| |
| Possible Errors: |
| [service].Error.InvalidArguments |
| The |source| is unknown. |
| [service].Error.NotSupported |
| Device does not support MAC address |
| change. |
| |
| Signals PropertyChanged(string name, variant value) |
| |
| This signal indicates a changed value of the given |
| property. |
| |
| Properties string Address [readonly] |
| |
| The low-level (physical) address of the device. |
| |
| string BgscanMethod [readwrite] |
| |
| (WiFi only) A string identifying the background scan |
| algorithm. |
| Possible values: |
| "simple" [default] |
| "learn" |
| "none" |
| |
| A change to this property takes affect on the next |
| association. |
| |
| uint16 BgscanShortInterval [readwrite] |
| |
| (WiFi only) Time in seconds between background scans |
| when actively searching for better APs (e.g., when |
| roaming). |
| |
| A change to this property takes affect on the next |
| association. |
| |
| int32 BgscanSignalThreshold [readwrite] |
| |
| (WiFi only) Receive signal strength threshold (in dBm), |
| for the currently connected network, below which |
| roaming is triggered. |
| |
| A change to this property takes affect on the next |
| association. |
| |
| boolean Cellular.AllowRoaming [readwrite] |
| |
| (Cellular only) Will be deprecated once Chrome completes |
| the transition to Cellular.PolicyAllowRoaming and |
| Service.AllowRoaming. |
| |
| Whether cellular data connections |
| are allowed when the device is roaming (i.e, |
| not registered on the home network). When this |
| property is false, data connections are not |
| allowed while roaming (regardless of the AutoConnect |
| setting of associated services). |
| |
| If a connection was established while on the home |
| network, and the device begins roaming, the data |
| connection is terminated. |
| |
| If the property is true, and a data connection was |
| established while roaming, and then the property is |
| set to false, the connection is terminated. |
| |
| If the Cellular.ProviderRequiresRoaming property |
| is true, that setting will override this property's |
| setting. |
| |
| By default Cellular.AllowRoaming is false. |
| |
| string Cellular.DeviceID [readonly] |
| |
| (Cellular only) The device ID of the physical |
| underlying device, if known, using the form |
| "[bus-type]:[vendor-ID]:[device-ID]". |
| |
| Valid bus types: "pci" or "usb". |
| |
| Vendor and device IDs are 4-character, zero-padded |
| hexadecimal numbers (e.g., "0f0a"). |
| |
| Examples: "pci:0123:fedc", "usb:dead:beef" |
| |
| string Cellular.EID [readonly] |
| |
| (Cellular only) For GSM / LTE modems, the EUICCID |
| (Embedded Universal Integrated Circuit Card Identifier) |
| of an eSIM card installed in the device, commonly |
| abbreviated as eID. Blank otherwise. |
| |
| dict Cellular.HomeProvider [readonly] [GSM only] |
| |
| (Cellular only) Description of the operator that |
| issued the SIM card currently installed in the modem. |
| The dictionary may contain the following string-valued |
| properties: |
| |
| "name" The operator name |
| "country" The two-letter country code. |
| "network_id" The MCC (Mobile Country Code) |
| and MNC (Mobile Network Code) of the |
| operator on whose network the device is |
| registered. The value of the property is |
| the simple concatenation of the MCC and |
| the MNC, with no separator. The first |
| three digits are always the MCC, and |
| the following two or three digits are the |
| MNC. |
| |
| string Cellular.MEID [readonly] |
| |
| (Cellular only) For CDMA modems, the Mobile |
| Equipment Identifer of the modem. |
| |
| string Cellular.IMEI [readonly] |
| |
| (Cellular only) The International Mobile Equipment |
| Identity of the modem. |
| |
| string Cellular.ICCID [readonly] |
| |
| (Cellular only) For GSM / LTE modems, the Integrated |
| Circuit Card Identifier of the SIM card installed in |
| the device. Blank otherwise. |
| |
| string Cellular.IMSI [readonly] |
| |
| (Cellular only) For GSM modems, the International |
| Mobile Subscriber Identity of the SIM card |
| installed in the device. |
| |
| string Cellular.ESN [readonly] |
| |
| (Cellular only) The Electronic Serial Number of |
| the modem. |
| |
| string Cellular.MDN [readonly] |
| |
| (Cellular only) The Mobile Directory Number |
| (i.e., phone number) of the device. |
| |
| string Cellular.MIN [readonly] |
| |
| (Cellular only) The Mobile Identification Number |
| of the device. The MIN is often the same as |
| the MDN, but may change if a user changes to a |
| different service provider. |
| |
| string Cellular.ModelID [readonly] |
| |
| (Cellular only) The hardware model of the modem. The |
| contents of this property are unspecified, and are |
| useful primarily as a diagnostic aid. |
| |
| string Cellular.Manufacturer [readonly] |
| |
| (Cellular only) The manufacturer of the modem. The |
| contents of this property are unspecified, |
| and are useful primarily as a diagnostic aid. |
| |
| string Cellular.FirmwareRevision [readonly] |
| |
| (Cellular only) The revision of firmware that is |
| loaded in the modem. The contents of this property |
| are unspecified, and are useful primarily as a |
| diagnostic aid. |
| |
| string Cellular.HardwareRevision [readonly] |
| |
| (Cellular only) The hardware revision of |
| the modem. The contents of this property are |
| unspecified, and are useful primarily as a |
| diagnostic aid. |
| |
| boolean Cellular.ProviderRequiresRoaming [readonly] |
| |
| (Celluar only) Indicates that the cellular |
| provider (determined based on IMSI and SPN) |
| requires roaming. This is important to |
| certain MVNOs which have no home network and |
| wish to provide network services without |
| regard to the Cellular.AllowRoaming setting. |
| |
| boolean Cellular.PolicyAllowRoaming [readwrite] |
| |
| (Cellular only) Whether cellular data connections |
| are allowed when the device is roaming (i.e, |
| not registered on the home network). When this |
| property is false, data connections are not |
| allowed while roaming (regardless of the AutoConnect, |
| or roaming setting of associated services). |
| |
| If a connection was established while on the home |
| network, and the device begins roaming, the data |
| connection is terminated. |
| |
| If the property is true, and a data connection was |
| established while roaming, and then the property is |
| set to false, the connection is terminated. |
| |
| If the Cellular.ProviderRequiresRoaming property |
| is true, that setting will override this property's |
| setting. |
| |
| By default Cellular.PolicyAllowRoaming is true. |
| |
| dict Cellular.SIMLockStatus [readonly] |
| |
| (Cellular only) For GSM modems, a dictionary |
| containing two properties describing the state |
| of the SIM card lock. The two properties are: |
| |
| string LockType |
| |
| If this string is empty, the SIM card is not |
| PIN-locked. Otherwise, it specifies the type |
| of lock in effect: "sim-pin", "sim-puk", "sim-puk2" or |
| one of the modem personalization locks: |
| "network-pin", "network-puk", |
| "service-provider-pin", "service-provider-puk", |
| "dedicated-sim", |
| "corporate-pin", "corporate-puk", |
| "network-subset-pin", "network-subset-puk". |
| Active personalization lock means the SIM card is |
| incompatible with modem configuration. |
| |
| int32 RetriesLeft |
| |
| If LockType is empty or is "sim-pin", then |
| this property gives the number of attempts |
| remaining to supply a correct PIN before the |
| PIN becomes blocked, at which point a PUK |
| provided by the carrier would be necessary |
| to unlock the SIM (and the LockType changes to |
| "sim-puk"). |
| |
| If LockType is "sim-puk", then this property |
| gives the number of attempts remaining to supply |
| a correct PUK before the SIM card becomes |
| permanently locked, at which point the SIM |
| card must be replaced. This state is indicated |
| when LockType is "sim-puk" and RetriesLeft is |
| zero. |
| |
| For other values of LockType, this property gives the |
| number of attempts remaining to supply a correct PIN or |
| PUK before the modem becomes blocked. |
| |
| boolean LockEnabled |
| |
| Indicates whether SIM locking is enabled, |
| i.e., whether, when the device is powered |
| on, a PIN or PUK will need to be entered to |
| unlock the SIM. This differs from the |
| LockType property, which indicates whether |
| the device is currently waiting for a PIN |
| to be entered. The SIM can currently be |
| unlocked (LockType is ""), but at the same |
| time locking can be enabled (LockEnabled is |
| True). |
| |
| boolean Cellular.SIMPresent [readonly] |
| |
| (Cellular only) For GSM or LTE modems, indicates |
| whether a SIM card is present or not. |
| |
| array{dict} Cellular.SIMSlotInfo [readonly] |
| |
| (Cellular only) List of available SIM slots with the |
| following properties for each dictionary entry. |
| The dictionaries are ordered by SIM slot starting at 0. |
| |
| string EID |
| |
| For eSIM capable SIM cards only, the EID of |
| the SIM Card. Only available when a profile is |
| active (i.e. ICCID is not empty). |
| |
| string ICCID |
| |
| The ICCID of the active SIM profile if any. |
| |
| boolean Primary |
| |
| true if the slot is primary (active). |
| |
| boolean Cellular.UseAttachAPN [readwrite] |
| |
| (Cellular only) Whether shill should explicitly |
| set in the modem the desired 'attach APN' before |
| registering to the network by using the data from |
| the mobile operator database. When this property is |
| false, the modem will use its own internal database |
| or get the value from the network. |
| |
| If the property is set true, and a data connection was |
| already established, the connection will be first |
| terminated. |
| |
| By default Cellular.UseAttachAPN is false. |
| |
| array{dict} Cellular.FoundNetworks [readonly] [GSM only] |
| |
| (Cellular only) The result of the most recent |
| scan operation. The property is an array |
| of dictionaries, with each (string, string) entry |
| from the following properties: |
| |
| "status" The availability of the network. Values |
| are "unknown", "available", "current", |
| and "forbidden". |
| "network_id" The network id in the form MCC/MNC |
| (without the '/') |
| "short_name" Short-format name of the network operator |
| "long_name" Long-format name of the network operator |
| "technology" Access technology used by the network, e.g. |
| "GSM", "UMTS", "EDGE", "HSPA", etc. |
| |
| array{dict} Cellular.APNList [readonly] [GSM only] |
| |
| (Cellular only) The list of APNs associated with |
| the home provider (ref. Cellular.HomeProvider property) |
| The property is an array of dictionaries, with each |
| (string, string) entry from the following properties: |
| |
| "apn" The APN, to be used when making |
| connections. |
| "username" The username to be passed along with the |
| APN when making connections. This property |
| is present only if a username is required. |
| "password" The password to be passed along with the |
| APN when making connections. This property |
| is present only if a password is required. |
| "name" Optional description of the APN, not localized. |
| "localized_name" |
| Optional description of the APN, localized. |
| "language" |
| If the "localized_name" property is present, this |
| gives the two-letter language code for the locale |
| of the localized name. If "localized_name" exists, |
| then this property will always exist as well. |
| "network_id" The MCCMNC of this network. |
| "authentication" |
| Authentication method for sending the username and |
| password. If it is non-empty, it is either "PAP" or |
| "CHAP". |
| "attach" Whether or not this APN is an attach APN. |
| "ip_type" Either "ipv4", "ipv6", or "ipv4v6", which |
| specifies which version of IP we should get |
| addresses for when using this APN. The latter |
| specifies dual-stack operation. |
| |
| bool EapAuthenticatorDetected [readonly] |
| |
| (Ethernet only) Indicates whether an EAP (802.1X) |
| authenticator has been detected on this link. |
| This may mean that EAP credentials are necessary |
| to gain full access to this network. |
| |
| bool EapAuthenticationCompleted [readonly] |
| |
| (Ethernet only) Indicates whether an EAP (802.1X) |
| authentication is currently valid on this interface. |
| |
| bool Ethernet.LinkUp [readonly] |
| |
| (Ethernet only) Indicates whether the underlying |
| device has detected the presence of a physical link. |
| |
| bool Ethernet.PPPoE |
| |
| (Ethernet only) Configures an Ethernet device to be |
| the carrier for a PPPoE connection. Changing this |
| property can tear down the Ethernet/PPPoE service |
| associated with the Ethernet device. |
| |
| string Ethernet.DeviceBusType [readonly] |
| |
| (Ethernet only) Device bus type. Possible values are |
| "pci", "usb" and "". Equals to "" only in the error |
| case. |
| |
| string Ethernet.UsbAdapterMacAddressSource [readonly] |
| |
| (Ethernet only) MAC address source for USB Ethernet |
| adapter. Possible values are "designated_dock_mac", |
| "builtin_adapter_mac", "usb_adapter_mac" and "". |
| Equals to "" only if unset. |
| |
| bool Inhibited [readwrite] |
| |
| (Cellular only) When set to true, Shill will not switch |
| slots or attempt to connect to Cellular. Any pending |
| Cellular connect requests will be cancelled when the |
| Inhibited state changes. |
| |
| string Interface [readonly] |
| |
| The Device's interface name (for example "eth0"). |
| |
| object SelectedService [readonly] |
| |
| Object path of the currently selected service path. |
| The selected service of a device is the service for |
| which it is currently receiving link events. WiFi |
| is slightly different in that it sets the link event |
| immediately after requesting a connection so that |
| failures to connect are correctly attributed. |
| |
| The device guarantees that if it is connected, the |
| connected service will appear in SelectedService. |
| However, SelectedService could be just "/", indicating |
| no selected service. The SelectedService is also |
| not guaranteed to be online (e.g. it could be in the |
| process of being connected, or an error state). |
| |
| array{object} IPConfigs [readonly] |
| |
| List of IPConfig objects paths. Every object path |
| represents a Layer 3 configuration record for |
| the device. In shill, for a connected device, |
| the IPv4 configuration is represented in the |
| first object path in this array. This object is also |
| referenced in the the "IPConfig" property of the |
| connected Service. If the kernel has assigned a |
| globally scoped IPv6 address to this interface, it |
| is reported as an additional object path in this |
| array. |
| |
| Whenever either the IPv4 or IPv6 state changes |
| in a way that modifies the contents of either of |
| these IPConfigs, a PropertyChanged signal will be |
| emitted for the Device's IPConfig property. |
| |
| boolean IPv6Disabled [readwrite] |
| |
| A switch to force disabling IPv6 on the device. |
| Disabling and enabling this switch has no impact on |
| IPv4 connectivity. |
| |
| dict LinkStatistics [readonly] |
| |
| (WiFi only) A dictionary providing current link |
| statitistics. This can include the following |
| properties, depending on whether the system is |
| connected and the capabilities of the specific |
| WiFi device. |
| |
| int8 AverageReceiveSignalDbm |
| |
| Reports the running average of signal |
| strength to the connected AP. |
| |
| uint32 InactiveTimeMilliseconds |
| |
| Reports the time in milliseconds since |
| the last activity by the station. |
| |
| int8 LastReceiveSignalDbm |
| |
| Reports the signal strength of the last |
| received packet. |
| |
| uint32 PacketReceiveSuccesses |
| |
| Reports the number of successfully received |
| packets. |
| |
| uint32 PacketTransmitFailures |
| |
| Reports the number of failed packet |
| transmission attempts. |
| |
| uint32 PacketTrasmitSuccesses |
| |
| Reports the number of successful packet |
| transmission attempts. |
| |
| string TransmitBitrate |
| |
| Reports the transmit bitrate of the last |
| successful outbound packet in a textual format |
| which includes additional 802.11n transmit |
| parameters. |
| |
| uint32 TransmitRetries |
| |
| Reports the number of times the system has had |
| to retry an outgoing packet. |
| |
| |
| boolean MacAddressRandomization |
| |
| Deprecated; see MacAddressRandomizationEnabled. |
| |
| boolean MacAddressRandomizationSupported[readonly] |
| |
| True if the device supports randomizing its MAC address |
| during scans when not connected to any APs already. |
| |
| boolean MacAddressRandomizationEnabled |
| |
| Indicates whether the device is currently configured to |
| randomize its MAC address during scans while not already |
| connected to any APs. Setting this value will configure |
| the device to act appropriately. |
| |
| This was formerly named MacAddressRandomization; |
| users of shill should use this property now. |
| |
| Possible errors : [service].Error.NotSupported |
| |
| string Name[readonly] |
| |
| Deprecated; use Interface instead. |
| |
| boolean Powered [readonly] |
| |
| Indicates whether the device is on or off. |
| |
| This value does not influence the value of the |
| Policy property. |
| |
| The value of this property can be changed by other |
| parts of the system (including the kernel). An |
| example would be modifications via the "ifconfig" |
| command line utility. |
| |
| uint64 ReceiveByteCount [readonly] |
| |
| The number of bytes received on this interface. |
| This value is persisted and accumulated across |
| connection manager restarts. Shill retrieves |
| these counters from all interfaces every 60 seconds |
| so this value returned might be slightly old. |
| |
| uint16 ScanInterval [readwrite] |
| |
| (Defined in WiFi and Cellular) |
| |
| The scan interval is the time in seconds between |
| automated scan attempts. Setting this value to |
| 0 will disable the periodic scanning. |
| |
| The default value is 180 and so every 3 minutes |
| a scan procedure will be triggered. |
| |
| This property is not available with all types |
| of devices. Some may not support background |
| scanning at all. |
| |
| boolean Scanning [readonly] |
| |
| (Defined in WiFi and Cellular) |
| |
| Indicates that a device is currently performing a |
| network scan. |
| |
| uint64 TransmitByteCount [readonly] |
| |
| The number of bytes transmitted on this interface. |
| This value is persisted and accumulated across |
| connection manager restarts. Shill retrieves |
| these counters from all interfaces every 60 seconds |
| so this value returned might be slightly old. |
| |
| string Type [readonly] |
| |
| The device type (for example "ethernet", "wifi" etc.) |
| |
| boolean WakeOnWiFiSupported [readonly] |
| |
| (Defined in WiFi) |
| |
| Whether wake on WiFi feature is supported in shill. |
| |
| boolean WakeOnWiFiAllowed [readwrite] |
| |
| (Defined in WiFi) |
| |
| Whether wake on WiFi feature is allowed. When false, |
| WakeOnWiFiFeaturesEnabled cannot be modified and is |
| pinned to "none". The value is controlled by a feature |
| flag in Chrome. Should only be modified by Chrome |
| feature flag or tests. |
| |
| string WakeOnWiFiFeaturesEnabled [readwrite] |
| |
| (Defined in WiFi) |
| |
| The wake on WiFi features that are currently enabled. |
| The value of this property is "darkconnect" if the dark |
| connect feature is enabled, and "none" if all wake on |
| WiFi features are disabled. |
| |
| Possible errors: [service].Error.NotSupported (wake on WiFi not supported) |
| [service].Error.InvalidArguments (invalid wake on WiFi feature) |
| |
| string LastWakeReason [readonly] |
| |
| (Defined in WiFi) |
| |
| The reason of the last wake up. |
| Possible values of this property: |
| "WiFi.Disconnect": woke up by NL80211_WOWLAN_TRIG_DISCONNECT |
| "WiFi.Pattern": woke up by NL80211_WOWLAN_TRIG_PKT_PATTERN |
| "WiFi.SSID": woke up by NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS |
| "Unknown": woke up by other reasons e.g. timer |
| |
| uint32 WakeToScanPeriodSeconds [readwrite] |
| |
| (Defined in WiFi) |
| |
| The length of time (in seconds) between each instance where the system |
| is woken from suspend to scan for networks in dark resume. Changes to this |
| property will take effect at the next system suspend. |
| |
| uint32 NetDetectScanPeriodSeconds [readwrite] |
| |
| (Defined in WiFi) |
| |
| The length of time (in seconds) between each instance where the wireless |
| NIC performs Net Detect scans while the system is suspended. Changes to |
| this property will take effect at the next system suspend. |
| |
| boolean ForceWakeToScanTimer [readwrite] |
| |
| (Defined in WiFi) |
| |
| If true, forces shill to start an RTC timer that wakes the system |
| periodically to scan for networks if the system is going into suspend |
| while disconnected. This will likely be used for testing only. Otherwise, |
| if this property is false, shill will only start this timer if it has more |
| SSIDs to allow than the NIC supports for net detect. Changes to this |
| property will take effect at the next system suspend. |