PROTOCOLS
WlanSoftmac
Defined in fuchsia.wlan.softmac/softmac.fidl
CancelScan
If supported, cancel the ongoing scan corresponding to scan_id
in the
device driver, where scan_id
is an identifier returned by
StartPassiveScan()
or StartActiveScan()
. The return value of this
function indicates whether a valid scan_id was passed and will be
canceled. The actual result of cancellation should be indicated by the
driver using fuchsia.hardware.wlan.softmac/WlanSoftmacIfc.ScanComplete()
.
A device driver indicates support for CancelScan()
using
fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported
.
Common errors include:
ZX_ERR_NOT_FOUND: The given scan_id does not match an ongoing scan.
ZX_ERR_NOT_SUPPORTED: The device does not support scan cancellation.
Request
Name | Type |
---|---|
payload |
WlanSoftmacCancelScanRequest
|
Response
Name | Type |
---|---|
result |
WlanSoftmac_CancelScan_Result
|
ClearAssociation
Notifies MAC and PHY that the peer has been de-associated.
Request
Name | Type |
---|---|
payload |
WlanSoftmacClearAssociationRequest
|
Response
Name | Type |
---|---|
result |
WlanSoftmac_ClearAssociation_Result
|
DisableBeaconing
Disables hardware beaconing.
Request
<EMPTY>
Response
Name | Type |
---|---|
result |
WlanSoftmac_DisableBeaconing_Result
|
EnableBeaconing
Enables hardware Beaconing. This API cannot be invoked while beaconing is active.
DisableBeaconing() must be called before this API can be re-invoked.
All fields in the message are required.
Common errors include:
ZX_ERR_NOT_SUPPORTED: The device does not support hardware beacons.
ZX_ERR_INVALID_ARGS: The device cannot transmit the requested beacon.
ZX_ERR_BAD_STATE: The device is already beaconing.
Request
Name | Type |
---|---|
payload |
WlanSoftmacEnableBeaconingRequest
|
Response
Name | Type |
---|---|
result |
WlanSoftmac_EnableBeaconing_Result
|
InstallKey
Install a key for encryption when transmitting or receiving protected frames.
Common errors include: ZX_ERR_INVALID_ARGS: The given config does not specify a valid key. ZX_ERR_NOT_SUPPORTED: The device does not support the given cipher.
Request
Name | Type |
---|---|
payload |
WlanKeyConfiguration
|
Response
Name | Type |
---|---|
result |
WlanSoftmac_InstallKey_Result
|
JoinBss
Join a specific BSS in which we will participate.
This applies regardless of if we are hosting the BSS or joining it
(indicated by the remote
flag in JoinBssRequest
).
If successful, the device will switch to the correct channel and perform
any internal filtering/timing operations required to join the BSS.
For client STAs, this is the first step before authenticating.
Common errors include:
ZX_ERR_NOT_SUPPORTED: The device does not support the given bss config.
Request
Name | Type |
---|---|
join_request |
fuchsia.wlan.common/JoinBssRequest
|
Response
Name | Type |
---|---|
result |
WlanSoftmac_JoinBss_Result
|
NotifyAssociationComplete
Notify the device of a successful association and configure additional parameters necessary to participate in that association.
Common errors include: ZX_ERR_BAD_STATE: The device was not previously informed of this BSS via WlanSoftmac.JoinBss().
Request
Name | Type |
---|---|
assoc_cfg |
WlanAssociationConfig
|
Response
Name | Type |
---|---|
result |
WlanSoftmacBridge_NotifyAssociationComplete_Result
|
Query
Obtain information about the device and supported features Safe to call when the softmac is not started.
Request
<EMPTY>
Response
Name | Type |
---|---|
result |
WlanSoftmac_Query_Result
|
QueryDiscoverySupport
Query the underlying device for feature support related to station discovery (e.g. scans and probes). Safe to call when the softmac is not started.
Request
<EMPTY>
Response
Name | Type |
---|---|
result |
WlanSoftmac_QueryDiscoverySupport_Result
|
QueryMacSublayerSupport
Query the underlying device for information related to how it implements MAC-level functionality. Safe to call when the softmac is not started.
Request
<EMPTY>
Response
Name | Type |
---|---|
result |
WlanSoftmac_QueryMacSublayerSupport_Result
|
QuerySecuritySupport
Query the underlying device for features related to specific security modes. Safe to call when the softmac is not started.
Request
<EMPTY>
Response
Name | Type |
---|---|
result |
WlanSoftmac_QuerySecuritySupport_Result
|
QuerySpectrumManagementSupport
Query the underlying device for features related to spectrum usage, e.g. DFS. Safe to call when the softmac is not started.
Request
<EMPTY>
Response
Name | Type |
---|---|
result |
WlanSoftmac_QuerySpectrumManagementSupport_Result
|
QueueTx
Queue a packet for transmission. May return before a packet has actually been transmitted. This call does not take ownership of the buffer passed in the WlanTxPacket.
Errors result from a failure to queue the packet for transmission. An OK result thus only indicates that the packet was queued, not that it was successfully transmitted.
Request
Name | Type |
---|---|
packet |
WlanTxPacket
|
Response
Name | Type |
---|---|
result |
WlanSoftmac_QueueTx_Result
|
SetChannel
Set the primary radio channel, e.g. in response to a channel switch event. If successful, this will trigger the channel switch immediately. This may impact the transmission of any frames that are in-flight, and might also interfere with an ongoing scan request.
Common errors include:
ZX_ERR_NOT_SUPPORTED: The device cannot switch to the requested channel.
Request
Name | Type |
---|---|
payload |
WlanSoftmacSetChannelRequest
|
Response
Name | Type |
---|---|
result |
WlanSoftmac_SetChannel_Result
|
Start
Start a softmac on the underlying device, using the given ifc to pass events upwards. Callbacks on ifc may be invoked from now until Stop() is called.
The returned sme_channel is the server endpoint of a wlan_mlme.fidl:MLME protocol, the client end of which is held by SME. This channel is used for SME <-> MLME communication.
Except where noted, WlanSoftmac APIs may only be called while the softmac is running after a successful call to Start().
Common errors include:
ZX_ERR_ALREADY_BOUND: Start
was already called on this softmac.
Request
Name | Type |
---|---|
ifc |
WlanSoftmacIfc
|
Response
Name | Type |
---|---|
result |
WlanSoftmac_Start_Result
|
StartActiveScan
Start an active scan in the device driver. Scan results will be delivered
as Beacon or Probe Response frames via WlanSoftmacIfc.Recv(). When
complete, WlanSoftmacIfc.ScanComplete() will be called with the
corresponding unique scan_id
.
The IEs specified must not result in a Probe Request MMPDU that exceed the limits defined by IEEE Std 802.11-2016, 9.2.4.7. MMPDU limit constants can be found in fuchsia.wlan.ieee80211. These limits are very large and will likely not be exceeded by specifying the most common IEs found in Probe Request frames.
A device driver indicates support for StartActiveScan()
using
fuchsia.wlan.common/ProbeRequestOffloadExtension.supported
.
Common errors include:
ZX_ERR_INVALID_ARGS: The device is not capable of performing the
requested scan, e.g. because an incompatible channel was requested.
ZX_ERR_UNAVAILABLE: The device cannot currently perform scans.
ZX_ERR_SHOULD_WAIT: Another scan is already in-progress.
Request
Name | Type |
---|---|
payload |
WlanSoftmacStartActiveScanRequest
|
Response
Name | Type |
---|---|
result |
WlanSoftmac_StartActiveScan_Result
|
StartPassiveScan
Start a passive scan in the device driver. Scan results will be delivered
as Beacon frames via WlanSoftmacIfc.Recv(). When complete,
WlanSoftmacIfc.ScanComplete() will be called with the corresponding
unique scan_id
.
A device driver indicates support for StartPassiveScan()
using
fuchsia.wlan.common/ScanOffloadExtension.supported
.
Common errors include:
ZX_ERR_INVALID_ARGS: The device is not capable of performing the
requested scan, e.g. because an incompatible channel was requested.
ZX_ERR_UNAVAILABLE: The device cannot currently perform scans.
ZX_ERR_SHOULD_WAIT: Another scan is already in-progress.
Request
Name | Type |
---|---|
payload |
WlanSoftmacStartPassiveScanRequest
|
Response
Name | Type |
---|---|
result |
WlanSoftmac_StartPassiveScan_Result
|
Stop
Shut down the softmac if it is running. Safe to call when the softmac is not running.
Request
<EMPTY>
Response
<EMPTY>
UpdateWmmParameters
Indicate the device of modified WiFi Multimedia (WMM) parameters for a particular access category (AC).
Request
Name | Type |
---|---|
payload |
WlanSoftmacUpdateWmmParametersRequest
|
Response
Name | Type |
---|---|
result |
WlanSoftmac_UpdateWmmParameters_Result
|
WlanSoftmacBridge
Defined in fuchsia.wlan.softmac/softmac.fidl
The wlansoftmac C++ driver establishes a FIDL channel serving the WlanSoftmacBridge protocol to the wlan-mlme Rust library. The WlanSoftmacBridge protocol is similar to WlanSoftmac but may not contain methods where the additional FIDL channel hinders performance.
WlanSoftmac composes a subset of its methods from WlanSoftmacBridge so the wlansoftmac driver can trivially convert messages between the Zircon channel transported WlanSoftmacBridge messages to the Driver transported WlanSoftmac messages.
TODO(fxbug.dev/126613): Merge WlanSoftmacBridge into WlanSoftmac when FIDL supports generating multiple transports for the same protocol, or generating Rust bindings for Driver transported protocols.
TODO(fxbug.dev/124830): This protocol allows wlansoftmac to eventually delete the use of Banjo from wlansoftmac. This TODO comment will exist until the migration off Banjo is complete.
NotifyAssociationComplete
Notify the device of a successful association and configure additional parameters necessary to participate in that association.
Common errors include: ZX_ERR_BAD_STATE: The device was not previously informed of this BSS via WlanSoftmac.JoinBss().
Request
Name | Type |
---|---|
assoc_cfg |
WlanAssociationConfig
|
Response
Name | Type |
---|---|
result |
WlanSoftmacBridge_NotifyAssociationComplete_Result
|
WlanSoftmacIfc
Defined in fuchsia.wlan.softmac/softmac.fidl
NotifyScanComplete
Reports completion of a scan associated with the unique scan_id
. status
indicates whether the scan completed successfully, failed due to an error,
or was cancelled.
Return status indicates the reason for scan completion: ZX_OK: All channels were scanned successfully. ZX_ERR_CANCELLED: The scan was terminated by a user request, either an explicit WlanSoftmac.CancelScan() or the initiation of an incompatible request (e.g. connect). ZX_ERR_OUT_OF_RANGE: The scan request included a prohibited channel. This may be due to the current country setting.
Request
Name | Type |
---|---|
payload |
WlanSoftmacIfcNotifyScanCompleteRequest
|
Response
<EMPTY>
Recv
Forward up a packet received over the wireless medium.
Request
Name | Type |
---|---|
packet |
WlanRxPacket
|
Response
<EMPTY>
ReportTxResult
Reports the result of an attempted transmission.
A device driver indicates support for ReportTxResult()
using
fuchsia.wlan.common/DeviceExtension.report_tx_result_supported
.
Request
Name | Type |
---|---|
tx_result |
fuchsia.wlan.common/WlanTxResult
|
Response
<EMPTY>
STRUCTS
WlanRxInfo
Defined in fuchsia.wlan.softmac/softmac.fidl
Field | Type | Description | Default |
---|---|---|---|
rx_flags |
WlanRxInfoFlags
|
Receive flags. These represent boolean flags as opposed to enums or value-based info which are represented below. Values should be taken from the WLAN_RX_INFO_FLAGS_* enum. |
No default |
valid_fields |
WlanRxInfoValid
|
Bitmask indicating which of the following fields are valid in this struct. Reserved flags must be zero. |
No default |
phy |
fuchsia.wlan.common/WlanPhyType
|
The PHY format of the device at the time of the operation. |
No default |
data_rate |
uint32
|
The data rate of the device, measured in units of 0.5 Mb/s. |
No default |
channel |
fuchsia.wlan.common/WlanChannel
|
The channel of the device at the time of the operation. This field must be included. |
No default |
mcs |
uint8
|
The modulation and coding scheme index of the device at the time of the operation. Depends on the PHY format and channel width. |
No default |
rssi_dbm |
int8
|
Received Signal Strength Indicator. |
No default |
snr_dbh |
int16
|
Signal-to-Noise Ratio, in 0.5 dB. |
No default |
WlanRxPacket
Defined in fuchsia.wlan.softmac/softmac.fidl
Field | Type | Description | Default |
---|---|---|---|
mac_frame |
vector<uint8>
|
No default | |
info |
WlanRxInfo
|
No default |
WlanSoftmacBridge_NotifyAssociationComplete_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
<EMPTY>
WlanSoftmac_CancelScan_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
<EMPTY>
WlanSoftmac_ClearAssociation_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
<EMPTY>
WlanSoftmac_DisableBeaconing_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
<EMPTY>
WlanSoftmac_EnableBeaconing_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
<EMPTY>
WlanSoftmac_InstallKey_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
<EMPTY>
WlanSoftmac_JoinBss_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
<EMPTY>
WlanSoftmac_QueryDiscoverySupport_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
Field | Type | Description | Default |
---|---|---|---|
resp |
fuchsia.wlan.common/DiscoverySupport
|
No default |
WlanSoftmac_QueryMacSublayerSupport_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
Field | Type | Description | Default |
---|---|---|---|
resp |
fuchsia.wlan.common/MacSublayerSupport
|
No default |
WlanSoftmac_QuerySecuritySupport_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
Field | Type | Description | Default |
---|---|---|---|
resp |
fuchsia.wlan.common/SecuritySupport
|
No default |
WlanSoftmac_QuerySpectrumManagementSupport_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
Field | Type | Description | Default |
---|---|---|---|
resp |
fuchsia.wlan.common/SpectrumManagementSupport
|
No default |
WlanSoftmac_QueueTx_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
<EMPTY>
WlanSoftmac_SetChannel_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
<EMPTY>
WlanSoftmac_Start_Response resource
Defined in fuchsia.wlan.softmac/softmac.fidl
Field | Type | Description | Default |
---|---|---|---|
sme_channel |
handle<channel>
|
No default |
WlanSoftmac_UpdateWmmParameters_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
<EMPTY>
WlanTxInfo
Defined in fuchsia.wlan.softmac/softmac.fidl
Field | Type | Description | Default |
---|---|---|---|
tx_flags |
uint32
|
Transmit flags. These represent boolean options as opposed to enums or other value-based info which are represented below. Values should be taken from the WLAN_TX_INFO_FLAGS_* enum. |
No default |
valid_fields |
uint32
|
Bitmask indicating which of the following fields are valid in this struct. Reserved flags must be zero. Values for fields not indicated by a flag may be chosen at the discretion of the softmac driver. |
No default |
tx_vector_idx |
uint16
|
No default | |
phy |
fuchsia.wlan.common/WlanPhyType
|
No default | |
channel_bandwidth |
fuchsia.wlan.common/ChannelBandwidth
|
No default | |
mcs |
uint8
|
The modulation and coding scheme index for this packet. Depends on the PHY format and channel width. |
No default |
WlanTxPacket
Defined in fuchsia.wlan.softmac/softmac.fidl
Field | Type | Description | Default |
---|---|---|---|
mac_frame |
vector<uint8>
|
No default | |
info |
WlanTxInfo
|
Additional data needed to transmit the packet. TODO(fxbug.dev/105579): This field is ignored by iwlwifi. |
No default |
ENUMS
WlanProtection strict
Type: uint8
Defined in fuchsia.wlan.softmac/softmac.fidl
Name | Value | Description |
---|---|---|
NONE |
0 |
|
RX |
1 |
|
TX |
2 |
|
RX_TX |
3 |
TABLES
WlanAssociationConfig
Defined in fuchsia.wlan.softmac/softmac.fidl
Argument table to be passed as the single argument to WlanSoftmac.NotifyAssociationComplete. All information here is relevant only in the context of the association with the given peer_addr. All fields in this table are required unless stated otherwise.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
bssid |
fuchsia.wlan.ieee80211/MacAddr
|
The MAC address of the peer with which we are now associated. |
2 |
aid |
uint16
|
A unique identifier for this specific association. This is unique among active associations, not necessarily historical ones. |
3 |
listen_interval |
uint16
|
|
4 |
channel |
fuchsia.wlan.common/WlanChannel
|
The channel on which we have associated with this peer. |
5 |
qos |
bool
|
QoS capable and parameters |
6 |
wmm_params |
fuchsia.wlan.common/WlanWmmParameters
|
WFA WMM v1.2, 2.2.2 |
7 |
rates |
vector<uint8>[263]
|
Concatenation of SupportedRates and ExtendedSupportedRates IEEE Std 802.11-2016, 9.4.2.3 & 9.4.2.13 |
8 |
capability_info |
uint16
|
IEEE Std 802.11-2016, 9.4.1.4 |
9 |
ht_cap |
fuchsia.wlan.ieee80211/HtCapabilities
|
IEEE Std 802.11-2016, 9.4.2.56, 57 Rx MCS Bitmask in Supported MCS Set field represents the set of MCS the peer can receive at from this device, considering this device's Tx capability. |
10 |
ht_op |
fuchsia.wlan.ieee80211/HtOperation
|
|
11 |
vht_cap |
fuchsia.wlan.ieee80211/VhtCapabilities
|
IEEE Std 802.11-2016, 9.4.2.158, 159 |
12 |
vht_op |
fuchsia.wlan.ieee80211/VhtOperation
|
WlanKeyConfiguration
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
protection |
WlanProtection
|
Which path to protect: None, TX, RX, or TX and RX. |
2 |
cipher_oui |
uint8[3]
|
IEEE Cipher suite selector. See IEEE Std 802.11-2016, 9.4.2.25.2, Table 9-131 |
3 |
cipher_type |
uint8
|
|
4 |
key_type |
fuchsia.wlan.common/WlanKeyType
|
Whether this key is a pairwise, group or peer key. |
5 |
peer_addr |
fuchsia.wlan.ieee80211/MacAddr
|
The peer MAC address for pairwise and peer keys. For group keys this value is always the broadcast address. |
6 |
key_idx |
uint8
|
Index for rotating keys, e.g. group keys. This value is always 0 for key types which aren't rotating, e.g. pairwise keys. |
7 |
key |
vector<uint8>[32]
|
|
8 |
rsc |
uint64
|
Receive Sequence Counter for group keys only. In all other cases the RSC will be 0. |
WlanSoftmacBandCapability
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
band |
fuchsia.wlan.common/WlanBand
|
The values of this struct apply to the band indicated in this field. This field is required. |
2 |
basic_rate_count |
uint8
|
Basic rates supported in units of 500 kbit/s (as defined in IEEE Std 802.11-2016, 9.4.2.3), e.g., 0x02 represents 1 Mbps. The value returned by this type indicates all the non-HT rates the device supports transmitting and receiving. The basic_rate_count field is required, and if its value is > 0, then the basic_rate_list field is required as well. |
3 |
basic_rate_list |
uint8[12]
|
|
4 |
ht_supported |
bool
|
If the device supports HT PHY mode, then ht_supported must be set to 'true' and ht_caps must be populated. If this mode is not supported, then ht_supported must be set to 'false' and ht_caps must be left unpopulated. |
5 |
ht_caps |
fuchsia.wlan.ieee80211/HtCapabilities
|
|
6 |
vht_supported |
bool
|
If the device supports VHT PHY mode, then vht_supported must be set to 'true' and vht_caps must be populated. If this mode is not supported, then vht_supported must be set to 'false' and vht_caps must be left unpopulated. |
7 |
vht_caps |
fuchsia.wlan.ieee80211/VhtCapabilities
|
|
8 |
operating_channel_count |
uint16
|
A list of operating channels considered valid by hardware, in the context of regulatory information known to the device driver, at the time of its construction during iface creation. In this context, an operating channel means a channel which APs may transmit Beacon frames on in the current regulatory domain. This list should be used to determine efficacy of subsequent requests to scan a subset of channels using the iface, or to determine which operating channel to use when starting an AP. The operating_channel_count field is required, and if its value is > 0, then the operating_channel_list field is required as well. |
9 |
operating_channel_list |
uint8[256]
|
WlanSoftmacCancelScanRequest
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
scan_id |
uint64
|
WlanSoftmacClearAssociationRequest
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
peer_addr |
fuchsia.wlan.ieee80211/MacAddr
|
WlanSoftmacEnableBeaconingRequest
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
packet_template |
WlanTxPacket
|
Points to the beacon template. Since this is just the template, some packet content can contain only minimum valid info. They will be changed later by hardware/firmware or software. |
2 |
tim_ele_offset |
uint64
|
TIM offset (in bytes) to the start of |bcn_tmpl|. This points to the first byte of TIM IE, which is the tag ID. |
3 |
beacon_interval |
uint16
|
in TU |
WlanSoftmacIfcNotifyScanCompleteRequest
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
status |
zx/Status
|
|
2 |
scan_id |
uint64
|
WlanSoftmacQueryResponse
Defined in fuchsia.wlan.softmac/softmac.fidl
High-level information describing the state of a running softmac. All fields in this response are required.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
sta_addr |
fuchsia.wlan.ieee80211/MacAddr
|
Station address. |
2 |
mac_role |
fuchsia.wlan.common/WlanMacRole
|
MAC role |
3 |
supported_phys |
vector<fuchsia.wlan.common/WlanPhyType>[64]
|
Bitmask indicating WlanInfoPhyType values supported by the hardware. |
4 |
hardware_capability |
fuchsia.wlan.common/WlanSoftmacHardwareCapability
|
Bitmask indicating enabled WlanInfoHardwareCapability values. Values defined as fuchsia.wlan.common.WlanSoftmacHardwareCapability |
5 |
band_caps |
vector<WlanSoftmacBandCapability>[16]
|
Supported bands. |
WlanSoftmacSetChannelRequest
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
channel |
fuchsia.wlan.common/WlanChannel
|
WlanSoftmacStartActiveScanRequest
Defined in fuchsia.wlan.softmac/softmac.fidl
Argument struct to be passed as the single argument to WlanSoftmac.StartActiveScan
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
channels |
vector<uint8>[256]
|
List of channels to scan on. An empty list of channels will cause a scan request to immediately return ZX_ERR_INVALID_ARGS. Invalid channel numbers will be silently ignored. The validity of a channel number depends on the current regulatory region, and a SoftMAC driver cannot always determine the region setting. This is especially the case when firmware changes the region setting dynamically. |
2 |
ssids |
vector<fuchsia.wlan.ieee80211/CSsid>[84]
|
List of SSIDs to scan for. For a list with a single SSID, the SSID will be placed in the SSID element in the Probe Request frame. For a list with more than one SSID, all SSIDs will be placed in an SSID List element in the Probe Request frame with the first SSID in the list in the required SSID element. An empty list is the same as specifying a list containing only the wildcard SSID. |
3 |
mac_header |
vector<uint8>[28]
|
Buffer containing a MAC header (as defined in IEEE Std 802.11-2016, 9.3.3.2) to include in each Probe Request frame. |
4 |
ies |
vector<uint8>[11454]
|
Buffer containing IE bytes to include in each Probe Request frame. |
5 |
min_channel_time |
zx/Duration
|
Minimum duration to spend on each channel during the scan. |
6 |
max_channel_time |
zx/Duration
|
Maximum duration to spend on each channel during the scan. |
7 |
min_home_time |
zx/Duration
|
Minimum duration to spend on the home channel(s) between the dwell time on each channel where a home channel corresponds to channels the device should otherwise be present on while not scanning. |
8 |
min_probes_per_channel |
uint8
|
Minimum number of Probe Request frames to transmit per channel visit during a scan. The definition of a channel visit may differ between device drivers, but it is roughly the interval of time spent on a specific channel during a scan. Sending more than one Probe Request frame on a channel may increase the probability that it is received in a noisy environment. |
9 |
max_probes_per_channel |
uint8
|
Maximum number of Probe Request frames to transmit per channel visit during a scan. The definition of a channel visit may differ between device drivers, but it is roughly the interval of time spent on a specific channel during a scan. Specifying 0 is invalid since at least one Probe Request frame must be transmitted for an active scan. Limiting the number of Probe Request frames sent on a channel reduces the time spent transmitting frames, and thus increase the time spent receiving frames, while scanning. |
WlanSoftmacStartPassiveScanRequest
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
channels |
vector<uint8>[256]
|
List of channels to scan on. An empty list of channels will cause a scan request to immediately return ZX_ERR_INVALID_ARGS. Invalid channel numbers will be silently ignored. The validity of a channel number depends on the current regulatory region, and a SoftMAC driver cannot always determine the region setting. This is especially the case when firmware changes the region setting dynamically. This is a required parameter. |
2 |
min_channel_time |
zx/Duration
|
Minimum duration to spend on each channel during the scan. |
3 |
max_channel_time |
zx/Duration
|
Maximum duration to spend on each channel during the scan. |
4 |
min_home_time |
zx/Duration
|
Minimum duration to spend on the home channel(s) between the dwell time on each channel where a home channel corresponds to channels the device should otherwise be present on while not scanning. |
WlanSoftmacUpdateWmmParametersRequest
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
ac |
fuchsia.wlan.ieee80211/WlanAccessCategory
|
|
2 |
params |
fuchsia.wlan.common/WlanWmmParameters
|
WlanSoftmac_StartActiveScan_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
scan_id |
uint64
|
WlanSoftmac_StartPassiveScan_Response
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
scan_id |
uint64
|
UNIONS
WlanSoftmacBridge_NotifyAssociationComplete_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmacBridge_NotifyAssociationComplete_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_CancelScan_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_CancelScan_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_ClearAssociation_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_ClearAssociation_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_DisableBeaconing_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_DisableBeaconing_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_EnableBeaconing_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_EnableBeaconing_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_InstallKey_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_InstallKey_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_JoinBss_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_JoinBss_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_QueryDiscoverySupport_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_QueryDiscoverySupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_QueryMacSublayerSupport_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_QueryMacSublayerSupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_QuerySecuritySupport_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_QuerySecuritySupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_QuerySpectrumManagementSupport_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_QuerySpectrumManagementSupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_Query_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmacQueryResponse
|
|
2 |
err |
zx/Status
|
WlanSoftmac_QueueTx_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_QueueTx_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_SetChannel_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_SetChannel_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_StartActiveScan_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_StartActiveScan_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_StartPassiveScan_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_StartPassiveScan_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_Start_Result strict resource
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_Start_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_UpdateWmmParameters_Result strict
Defined in fuchsia.wlan.softmac/softmac.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
WlanSoftmac_UpdateWmmParameters_Response
|
|
2 |
err |
zx/Status
|
BITS
WlanRxInfoFlags flexible
Type: uint32
Defined in fuchsia.wlan.softmac/softmac.fidl
Name | Value | Description |
---|---|---|
FCS_INVALID |
1 | The FCS for the received frame was invalid. |
FRAME_BODY_PADDING_4 |
2 | Padding was added after the MAC header to align the frame body to 4 bytes. |
WlanRxInfoValid flexible
Type: uint32
Defined in fuchsia.wlan.softmac/softmac.fidl
Name | Value | Description |
---|---|---|
PHY |
1 | |
DATA_RATE |
2 | |
CHAN_WIDTH |
4 | |
MCS |
8 | |
RSSI |
16 | |
SNR |
32 |
WlanTxInfoFlags flexible
Type: uint32
Defined in fuchsia.wlan.softmac/softmac.fidl
Name | Value | Description |
---|---|---|
PROTECTED |
1 | Indicate this packet should be protected. |
FAVOR_RELIABILITY |
2 | For rate control: indicate an important data frame, such as EAPOL, which should be sent reliably rather than fast, and is exempt from rate probing |
QOS |
4 | Indicate that this packet should be sent out with QoS header when possible (11n+). |
WlanTxInfoValid flexible
Type: uint32
Defined in fuchsia.wlan.softmac/softmac.fidl
Name | Value | Description |
---|---|---|
DATA_RATE |
1 | |
TX_VECTOR_IDX |
2 | |
PHY |
4 | |
CHANNEL_BANDWIDTH |
8 | |
MCS |
16 |
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
WLAN_MAC_MAX_RATES |
263
|
uint32 |