3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-09 13:39:23 +01:00
iwd/doc/features.txt

67 lines
3.0 KiB
Plaintext
Raw Normal View History

IWD
===
IWD will start a scheduled scan to the interface if the hardware supports
that feature. If the iwd closes or dies so that the kernel netlink socket
is closed, then the scheduled scan is cancelled automatically if the kernel
supports this. This is done by giving NL80211_ATTR_SOCKET_OWNER netlink
attribute when initiating the scheduled scan.
IWD contains a network object that will contain a list of BSS that have the
same SSID and security setting. From user point of view, we will connect to
a certain SSID instead of connecting directly to a BSS. IWD will then pick
the best BSS automatically from the BSS list when connecting to a SSID.
The "best" BSS in this context is the BSS that has the highest signal strength.
IWD uses the DBus agent interface to query information from the user.
The information asked include things like passphrase etc. The user can
register only one agent to iwd. If the user does not respond in timely
manner to the query, then the pending user request is cancelled after a
timeout. The pending user request is also cancelled if user disconnects a
pending connection attempt.
Wireless monitor
================
Netlink monitor interface is created if it does not exist
The iwmon utility automates netlink monitor creation by by using RTNL
to find an existing netlink monitor interface, and in case it does not
exist, create a new one. By default the netlink monitor interface is
named 'nlmon'. Another name can be given with the '--interface'
command line option.
Once iwmon terminates, the netlink monitor interface is removed (in
case iwmon created it).
HWSIM
=====
The radio id from kernel mac80211_hwsim module is parsed properly in
hwsim. The radio id is not returned as HWSIM_ATTR_RADIO_ID but instead
it is returned in error message. If the error code > 0, then that means
the radio id. If the error code < 0, then that indicates a real error.
The hwsim uses new HWSIM_ATTR_DESTROY_RADIO_ON_CLOSE flag attribute to
tell the kernel that when the hwsim process dies, the radios it created
should be removed. For testing tools it is beneficial if the newly
created radio could be bound to the lifetime of the netlink socket.
Alternatively, using the hwsim '-k (--keep)' command line option instructs
hwsim to not destroy the created radio automatically.
The hwsim is using HWSIM_CMD_NEW_RADIO to create a new radio. When the
radio has been created, the kernel will return the used radio id and
parameters in a HWSIM_CMD_NEW_RADIO multicast event that is sent in
"config" netlink multicast group. The command HWSIM_CMD_DEL_RADIO is sent
by kernel when a hwsim radio is deleted. In this case the deleted
radio id is sent to "config" netlink multicast group.
hwsim can list radios by sending a HWSIM_CMD_GET_RADIO with the attribute
HWSIM_ATTR_RADIO_ID containing the desired radio id. If no radio id is
given on the command line, a dump of all radios is requested from the
kernel. The attributes returned are identical to those sent to the
'config' multicast group when creating a radio.