文本文件  |  760行  |  24.51 KB

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 ProposeScan() --DEPRECATED--

			Start a scan operation if possible.

			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 to complete. When the results are available,
			the property Cellular.FoundNetworks (see below) is
			set with the results.

			Possible Errors: [service].Error.InvalidArguments

		object path AddIPConfig(string method) --DEPRECATED--

			This function only remains so it does not trigger
			an error in the caller, and returns the path "/",
			and never returns an error.  In flimflam it used to
			provide the ability to create IPConfig objects
			to the device to provide IPv4 or IPv6 setup state.

		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 SetCarrier(string carrier)

			(Cellular only) Set the modem carrier firmware. For
			example, switch between CDMA (Verizon Wireless/Sprint)
			and Generic UMTS. The Cellular.SupportedCarriers
			property lists all supported carriers.

			Possible Errors: [service].Error.Failure
					 [service].Error.NotSupported

		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

		string PerformTDLSOperation(string operation,
					    string peer) [readwrite]

			(WiFi only) Perform a TDLS operation on a peer
			station.  The |peer| argument should be a mac
			address specified in traditional colon-separated
			hexidecimal notation, e.g., "aa:bb:cc:dd:ee:ff",
			or an IPv4 address on the same subnet of this
			device, e.g., "192.168.1.1".  The |operation|
			parameter should be one of the following:

				"Discover" : Perform TDLS discovery with |peer|.
				"Setup" : Setup TDLS peering with |peer|.
				"Status" : Return TDLS status for |peer|.
				"Teardown" : Tear down TDLS peering with |peer|.

			The method returns without an error if the operation
			is initiated successfully with the supplicant, but
			before it is clear whether the operation actually
			succeeded.

			All methods except "Status" return an empty string.
			For "Status", the returned string can be one of:

				"Connected" : The TDLS link is active.
				"Disabled" : TDLS is disabled on this device.
				"Disconnected" : The TDLS link has been
						 disconnected.
				"Nonexistent" : No information is known
						about this TDLS peer.
				"Unknown" : The TDLS link is in an unknown
					    state.

			Possible Errors:
				[service].Error.InProgress
					An IP-to-MAC address lookup is being
					performed.  The caller should retry
					this operation.
				[service].Error.InvalidArguments
					The |operation| is unknown or the
					|peer| address is misformatted or
					does not belong to the local subnet.
				[service].Error.OperationFailed
					The TDLS or ARP operation failed.

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"

			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]

			(Celluar 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
			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.Carrier [readonly]

			(Cellular only) The name of the carrier for
			which the device is configured.

		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 Identifer 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.

		int16 Cellular.PRLVersion [readonly]

			(Cellular only) The revision of the Preferred
			Roaming List that is loaded in the modem.
			Cellular.PRLVersion is primarily useful 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.

		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" or "sim-puk".

			uint32 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.

			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{string} Cellular.SupportedCarriers [readonly]

			(Cellular only) A list of supported carriers. Each
			carrier can be used as an argument to the SetCarrier
			method.

		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.

		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 Interface [readonly]

			The device interface (for example "eth0" etc.)

			This value is for pure informational purposes. It
			is not guaranteed that it is always present.

		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.

		int32 LinkMonitorResponseTime [readonly]

			Latest running average of the link monitor response
			for this device in milliseconds, if the link monitor
			is active.

		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.


		string Name [readonly]

			The device name (for example "Wireless" etc.)

			This name can be used for directly displaying it in
			the application. It has pure informational purpose
			and there is not guarantee that it is present.

		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 RoamThreshold [readwrite]

			(Defined in WiFi)

			The roam threshold is the AP signal-to-noise value (in
			dB) below which wpa_supplicant will attempt to roam to
			a new AP. This property applies to all WiFi services
			except those that have their per-service RoamThreshold
			set. Changes to this property will take effect immediately
			if the current service does not have its RoamThreshold
			property set. Otherwise, it will take effect the next time
			we connect to a WiFi service that does not have its
			RoamThreshold property set.

		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 Cellular, WiFi and WiMAX)

			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.)

		string WakeOnWiFiFeaturesEnabled [readwrite]

			(Defined in WiFi)

			The wake on WiFi features that are currently enabled.
			The value of this property is "packet" if only wake on
			packet is enabled, "ssid" if only wake on ssid is enabled,
			"packet_and_ssid" if both wake on packet and wake on ssid
			are 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)

		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 whitelist than the NIC supports for net detect. Changes to this
			property will take effect at the next system suspend.

		void AddWakeOnPacketConnection(string endpoint)

			(WiFi only) Program a wake-on-packet rule into the NIC to wake
			the system from suspend upon receiving packets from the source IP
			address in the string argument. The format of the argument is:

			<source_ip>

			where <source_ip> is the source IP address of the TCP
			connection. IPV4 and IPV6 addresses are specified with
			the standard conventions for IPV4 and IPV6 addresses.
			The following are a few non-exhaustive examples:

			IPV4: 1.2.3.4, 192.142.3.10
			IPV6: a::bc:f:5:6d:7:8, abd::20

			The request is valid until removed.  However, on shill
			restart, any wake-on-packet rules are cleared.

			Possible errors: [service].Error.InvalidArguments (argument parsing error)
					 [service].Error.NotFound (there is no such connection)
					 [service].Error.NotSupported (wake-on-packet not supported)

		void RemoveWakeOnPacketConnection(string endpoint)

			(WiFi only) Removes a wake-on-packet rule previously programmed into the
			NIC to wake the system from suspend upon receiving packets from the
			source IP address in the string argument. The argument format is the
			same as that of AddWakeOnPacketConnection.

			Possible errors: [service].Error.InvalidArgument (argument parsing error)
					 [service].Error.NotFound (no such request is active)
					 [service].Error.NotSupported (wake-on-packet not supported)

		void RemoveAllWakeOnPacketConnections()

			(WiFi only) Removes all wake-on-packet rules programmed into the NIC.
			This is useful to ensure the NIC is in a known state.

			Possible errors:
					 [service].Error.NotSupported (wake-on-packet not supported)