3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-05 03:29:24 +01:00
iwd/doc/station-api.txt
2019-10-28 21:23:05 -05:00

201 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
signal-level-agent-api.txt. 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 occuring 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)
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.
string Changed(object device, uint8 level)
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
net.connman.iwd.Device.RegisterSignalLevelAgent
(see device-api.txt.) 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.