mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-21 11:42:46 +01:00
8115105835
Document the initial "Changed" method call following SignalLevelAgent registration.
199 lines
6.4 KiB
Plaintext
199 lines
6.4 KiB
Plaintext
Station hierarchy
|
|
=================
|
|
|
|
Service net.connman.iwd
|
|
Interface net.connman.iwd.Station
|
|
Object path /net/connman/iwd/{phy0,phy1,...}/{1,2,...}
|
|
|
|
Methods void Scan()
|
|
|
|
Schedule a network scan.
|
|
|
|
Possible errors: net.connman.iwd.Busy
|
|
net.connman.iwd.Failed
|
|
|
|
void Disconnect()
|
|
|
|
Disconnect from the network. This also disables
|
|
iwd from trying to autoconnect to any other network
|
|
with this device.
|
|
|
|
Possible errors: net.connman.iwd.Busy
|
|
net.connman.iwd.Failed
|
|
net.connman.iwd.NotConnected
|
|
|
|
array(on) GetOrderedNetworks()
|
|
|
|
Return the list of networks found in the most recent
|
|
scan, sorted by their user interface importance
|
|
score as calculated by iwd. If the device is
|
|
currently connected to a network, that network is
|
|
always first on the list, followed by any known
|
|
networks that have been used at least once before,
|
|
followed by any other known networks and any other
|
|
detected networks as the last group. Within these
|
|
groups the maximum relative signal-strength is the
|
|
main sorting factor.
|
|
|
|
Every record returned contains a tuple of the
|
|
following values.
|
|
|
|
object Object
|
|
|
|
net.connman.iwd.Network object representing
|
|
the network.
|
|
|
|
int16 SignalStrength
|
|
|
|
Network's maximum signal strength expressed
|
|
in 100 * dBm. The value is the range of 0
|
|
(strongest signal) to -10000 (weakest signal)
|
|
|
|
array(sns) GetHiddenAccessPoints() [experimental]
|
|
|
|
Returns a list (possibly empty) of detected hidden
|
|
access points. The list is sorted according to the
|
|
relative signal strength of each access point.
|
|
|
|
Every record returned contains a 3-tuple of the
|
|
following values.
|
|
|
|
string Address
|
|
|
|
Access Point's address
|
|
|
|
int16 SignalStrength
|
|
|
|
Access Point's signal strength expressed in
|
|
100 * dBm. The value is the range of 0
|
|
(strongest signal) to -10000 (weakest signal)
|
|
|
|
string Type
|
|
|
|
The type of the hidden Access Point. Same
|
|
values as Network.Type.
|
|
|
|
void ConnectHiddenNetwork(string ssid)
|
|
|
|
Tries to find and connect to a hidden network for the
|
|
first time. Only hidden networks of type 'psk' and
|
|
'open' are supported. WPA-Enterprise hidden networks
|
|
must be provisioned.
|
|
|
|
The ssid parameter is used to find the hidden network.
|
|
If no network with the given ssid is found, an
|
|
net.connman.iwd.NotFound error is returned.
|
|
|
|
In the unlikely case that both an open and pre-shared
|
|
key hidden network with the given ssid is found an
|
|
net.connman.iwd.ServiceSetOverlap error is returned.
|
|
|
|
Once the hidden network is found, the connection will
|
|
proceed as normal. So the user agent will be asked
|
|
for a passphrase, etc.
|
|
|
|
This method should only be called once to provision
|
|
a hidden network. For all future connections the
|
|
regular Network.Connect() API should be used.
|
|
|
|
Possible errors: net.connman.iwd.Busy
|
|
net.connman.iwd.Failed
|
|
net.connman.iwd.InvalidArguments
|
|
net.connman.iwd.NotConfigured
|
|
net.connman.iwd.NotConnected
|
|
net.connman.iwd.NotFound
|
|
net.connman.iwd.ServiceSetOverlap
|
|
net.connman.iwd.AlreadyProvisioned
|
|
net.connman.iwd.NotHidden
|
|
|
|
void RegisterSignalLevelAgent(object path,
|
|
array(int16) levels)
|
|
|
|
Register the agent object to receive signal strength
|
|
level change notifications on the
|
|
net.connman.iwd.SignalLevelAgent interface, see
|
|
below. The "levels" parameters decides the
|
|
thresholds in dBm that will generate a call to the
|
|
agent's Changed method whenever current RSSI crosses
|
|
any of the values. The values must be passed in
|
|
descending order. The number and distance between
|
|
requested threshold values is a compromise between
|
|
resolution and the frequency of system wakeups and
|
|
context-switches that are going to be occurring to
|
|
update the client's signal meter. Only one agent
|
|
can be registered at any time.
|
|
|
|
Possible Errors: [service].Error.InvalidArguments
|
|
[service].Error.Failed
|
|
[service].Error.AlreadyExists
|
|
[service].Error.NotSupported
|
|
|
|
void UnregisterSignalLevelAgent(object path)
|
|
|
|
Unregister an existing agent.
|
|
|
|
Possible Errors: [service].Error.InvalidArguments
|
|
[service].Error.NotFound
|
|
|
|
Properties string State [readonly]
|
|
|
|
Reflects the general network connection state. One of:
|
|
|
|
"connected", "disconnected", "connecting",
|
|
"disconnecting", "roaming"
|
|
|
|
object ConnectedNetwork [readonly, optional]
|
|
|
|
net.connman.iwd.Network object representing the
|
|
network the device is currently connected to or to
|
|
which a connection is in progress. This property
|
|
will be updated with the object path of the Network
|
|
object as soon as the connection process is initiated,
|
|
and will remain for as long as the connection is in
|
|
progress, completed and the network has not been
|
|
disconnected.
|
|
|
|
On disconnection this property becomes invalid and
|
|
disappears from the property list. Refer to the
|
|
State property documentation if you need to track
|
|
the actual state of the connection.
|
|
|
|
boolean Scanning [readonly]
|
|
|
|
Reflects whether the station is currently scanning
|
|
for networks. net.connman.iwd.Network objects are
|
|
updated when this property goes from true to false.
|
|
|
|
SignalLevelAgent hierarchy
|
|
==========================
|
|
|
|
Service unique name
|
|
Interface net.connman.iwd.SignalLevelAgent
|
|
Object path freely definable
|
|
|
|
Methods void Release(object device) [noreply]
|
|
|
|
This method gets called when the service daemon
|
|
unregisters the agent. An agent can use it to do
|
|
cleanup tasks. There is no need to unregister the
|
|
agent, because when this method gets called it has
|
|
already been unregistered.
|
|
|
|
void Changed(object device, uint8 level) [noreply]
|
|
|
|
This method gets called when the signal strength
|
|
measurement for the device's connected network changes
|
|
enough to go from one level to another out of the N
|
|
ranges defined by the array of (N-1) threshold values
|
|
passed to RegisterSignalLevelAgent(). It also gets
|
|
called immediately after the signal level agent is
|
|
registered. The level parameter is in the range from 0
|
|
to N, 0 being the strongest signal or above the first
|
|
threshold value in the array, and N being the weakest
|
|
and below the last threshold value. For example if
|
|
RegisterSignalLevelAgent was called with the array [-40,
|
|
-50, -60], the 'level' parameter of 0 would mean signal
|
|
is received at -40 or more dBm and 3 would mean below
|
|
-60 dBm and might correspond to 1 out of 4 bars on a UI
|
|
signal meter.
|