fuchsia.wlan.fullmac

Added: HEAD

PROTOCOLS

WlanFullmacImpl

Defined in fuchsia.wlan.fullmac/fullmac.fidl

Protocol definition for communication from the platform to the fullmac vendor driver.

AssocResp

Request

NameType
payload WlanFullmacImplAssocRespRequest

Response

<EMPTY>

AuthResp

Request

NameType
payload WlanFullmacImplAuthRespRequest

Response

<EMPTY>

Connect

Request

NameType
payload WlanFullmacImplConnectRequest

Response

<EMPTY>

Deauth

Request

NameType
payload WlanFullmacImplDeauthRequest

Response

<EMPTY>

Disassoc

Request

NameType
payload WlanFullmacImplDisassocRequest

Response

<EMPTY>

EapolTx

Request

NameType
payload WlanFullmacImplEapolTxRequest

Response

<EMPTY>

GetIfaceCounterStats

Request

<EMPTY>

Response

NameType
payload WlanFullmacImpl_GetIfaceCounterStats_Result

GetIfaceHistogramStats

Request

<EMPTY>

Response

NameType
payload WlanFullmacImpl_GetIfaceHistogramStats_Result

Init

Initialize the FullMAC driver. This is the first request that the platform will make to the FullMAC driver.

On initialization, MLME provides the client end to the WlanFullmacImplIfc protocol. The driver must return the SME server end channel, which is used internally by the platform. Typically, the SME server end channel is given to the FullMAC driver by fuchsia.wlan.phyimpl/WlanPhyImpl.CreateIface.

If Init completes successfully, the platform will begin making other WlanFullmacImpl requests to the FullMAC driver, and the FullMAC driver is free to make WlanFullmacImplIfc requests to the platform. The platform may continue making WlanFullmacImpl requests until the WlanFullmacImpl server unbinds.

Common errors include:

  • ZX_ERR_ALREADY_BOUND: Init was already called on this FullMAC driver.

Request

NameType
payload WlanFullmacImplInitRequest

Response

NameType
payload WlanFullmacImpl_Init_Result

OnLinkStateChanged

Request

NameType
payload WlanFullmacImplOnLinkStateChangedRequest

Response

<EMPTY>

Query

Returns high-level information describing the state of the FullMAC driver. This is safe to call even before the call to WlanFullmacImpl::Start.

Request

<EMPTY>

Response

NameType
payload WlanFullmacImpl_Query_Result

QueryMacSublayerSupport

Request

<EMPTY>

Response

NameType
payload WlanFullmacImpl_QueryMacSublayerSupport_Result

QuerySecuritySupport

Request

<EMPTY>

Response

NameType
payload WlanFullmacImpl_QuerySecuritySupport_Result

QuerySpectrumManagementSupport

Request

<EMPTY>

Response

NameType
payload WlanFullmacImpl_QuerySpectrumManagementSupport_Result

Reconnect

Request

NameType
payload WlanFullmacImplReconnectRequest

Response

<EMPTY>

Roam

Initiate a roam attempt, which moves association to a different BSS within the ESS.

Request

NameType
payload WlanFullmacImplRoamRequest

Response

<EMPTY>

SaeFrameTx

Transmit an SAE authentication frame.

Request

NameType
frame SaeFrame

Response

<EMPTY>

SaeHandshakeResp

Informs the driver of the result of an SAE handshake.

Request

NameType
payload WlanFullmacImplSaeHandshakeRespRequest

Response

<EMPTY>

SetKeys

Sets security keys for a connection. This is typically called after a successful key exchange.

Note that the platform assumes that the driver will automatically delete keys on a disconnect or key rotation.

Request

NameType
payload WlanFullmacImplSetKeysRequest

Response

NameType
resp WlanFullmacSetKeysResp

StartBss

Request

NameType
payload WlanFullmacImplStartBssRequest

Response

<EMPTY>

StartScan

Request

NameType
payload WlanFullmacImplStartScanRequest

Response

<EMPTY>

StopBss

Request

NameType
payload WlanFullmacImplStopBssRequest

Response

<EMPTY>

WmmStatusReq

Request

<EMPTY>

Response

<EMPTY>

WlanFullmacImplIfc

Defined in fuchsia.wlan.fullmac/fullmac.fidl

Protocol definition for communication from the fullmac vendor driver to the platform.

AssocInd

Request

NameType
payload WlanFullmacImplIfcAssocIndRequest

Response

<EMPTY>

AuthInd

Request

NameType
payload WlanFullmacImplIfcAuthIndRequest

Response

<EMPTY>

ConnectConf

Request

NameType
payload WlanFullmacImplIfcConnectConfRequest

Response

<EMPTY>

DeauthConf

Request

NameType
payload WlanFullmacImplIfcDeauthConfRequest

Response

<EMPTY>

DeauthInd

Report that the driver deauthenticated.

Request

NameType
payload WlanFullmacImplIfcDeauthIndRequest

Response

<EMPTY>

DisassocConf

Report the result of a previously-issued disassociate request. IEEE 802.11-2020 6.3.9.2.

Request

NameType
payload WlanFullmacImplIfcDisassocConfRequest

Response

<EMPTY>

DisassocInd

Report that disassociation with the specified peer occurred (IEEE 802.11-2020 6.3.9.3).

Request

NameType
payload WlanFullmacImplIfcDisassocIndRequest

Response

<EMPTY>

EapolConf

Report the result of a EAPoL frame transmission (IEEE 802.11-2020 6.3.22.2). EAPoL frames are transmitted by the platform via WlanFullmacImpl::EapolTx.

Request

NameType
payload WlanFullmacImplIfcEapolConfRequest

Response

<EMPTY>

EapolInd

Report that an EAPoL frame was received.

Request

NameType
payload WlanFullmacImplIfcEapolIndRequest

Response

<EMPTY>

OnChannelSwitch

Request

NameType
ind WlanFullmacChannelSwitchInfo

Response

<EMPTY>

OnPmkAvailable

Inform the platform that the PMK is available after a driver-handled SAE handshake.

Request

NameType
payload WlanFullmacImplIfcOnPmkAvailableRequest

Response

<EMPTY>

OnScanEnd

Request

NameType
payload WlanFullmacImplIfcOnScanEndRequest

Response

<EMPTY>

OnScanResult

Request

NameType
payload WlanFullmacImplIfcOnScanResultRequest

Response

<EMPTY>

OnWmmStatusResp

Request

NameType
status zx/Status
wmm_params fuchsia.wlan.common/WlanWmmParameters

Response

<EMPTY>

RoamConf

Report the result of an MLME-initiated roam attempt.

Request

NameType
payload WlanFullmacImplIfcRoamConfRequest

Response

<EMPTY>

RoamResultInd

Report the result of a fullmac-initiated roam attempt.

Request

NameType
payload WlanFullmacImplIfcRoamResultIndRequest

Response

<EMPTY>

RoamStartInd

Report that a fullmac-initiated roam attempt is in progress. Fullmac must send this start indication for all roam attempts.

Request

NameType
payload WlanFullmacImplIfcRoamStartIndRequest

Response

<EMPTY>

SaeFrameRx

Receive an SAE authentication frame.

Request

NameType
frame SaeFrame

Response

<EMPTY>

SaeHandshakeInd

Request

NameType
payload WlanFullmacImplIfcSaeHandshakeIndRequest

Response

<EMPTY>

SignalReport

Request

NameType
ind WlanFullmacSignalReportIndication

Response

<EMPTY>

StartConf

Report the result of a WlanFullmacImpl::StartBss request.

Request

NameType
payload WlanFullmacImplIfcStartConfRequest

Response

<EMPTY>

StopConf

Report the result of a WlanFullmacImpl::StopBss request.

Request

NameType
payload WlanFullmacImplIfcStopConfRequest

Response

<EMPTY>

WlanFullmacImplIfcBanjo

Defined in fuchsia.wlan.fullmac/fullmac.fidl

AssocInd

Request

NameType
payload WlanFullmacImplIfcAssocIndRequest

Response

<EMPTY>

AuthInd

Request

NameType
payload WlanFullmacImplIfcAuthIndRequest

Response

<EMPTY>

ConnectConf

Request

NameType
payload WlanFullmacImplIfcConnectConfRequest

Response

<EMPTY>

DeauthConf

Request

NameType
payload WlanFullmacImplIfcDeauthConfRequest

Response

<EMPTY>

DeauthInd

Report that the driver deauthenticated.

Request

NameType
payload WlanFullmacImplIfcDeauthIndRequest

Response

<EMPTY>

DisassocConf

Report the result of a previously-issued disassociate request. IEEE 802.11-2020 6.3.9.2.

Request

NameType
payload WlanFullmacImplIfcDisassocConfRequest

Response

<EMPTY>

DisassocInd

Report that disassociation with the specified peer occurred (IEEE 802.11-2020 6.3.9.3).

Request

NameType
payload WlanFullmacImplIfcDisassocIndRequest

Response

<EMPTY>

EapolConf

Report the result of a EAPoL frame transmission (IEEE 802.11-2020 6.3.22.2). EAPoL frames are transmitted by the platform via WlanFullmacImpl::EapolTx.

Request

NameType
payload WlanFullmacImplIfcEapolConfRequest

Response

<EMPTY>

EapolInd

Report that an EAPoL frame was received.

Request

NameType
payload WlanFullmacImplIfcEapolIndRequest

Response

<EMPTY>

OnChannelSwitch

Request

NameType
ind WlanFullmacChannelSwitchInfo

Response

<EMPTY>

OnPmkAvailable

Inform the platform that the PMK is available after a driver-handled SAE handshake.

Request

NameType
payload WlanFullmacImplIfcOnPmkAvailableRequest

Response

<EMPTY>

OnScanEnd

Request

NameType
payload WlanFullmacImplIfcOnScanEndRequest

Response

<EMPTY>

OnScanResult

Request

NameType
payload WlanFullmacImplIfcOnScanResultRequest

Response

<EMPTY>

OnWmmStatusResp

Request

NameType
status zx/Status
wmm_params fuchsia.wlan.common/WlanWmmParameters

Response

<EMPTY>

RoamConf

Report the result of an MLME-initiated roam attempt.

Request

NameType
payload WlanFullmacImplIfcRoamConfRequest

Response

<EMPTY>

RoamResultInd

Report the result of a fullmac-initiated roam attempt.

Request

NameType
payload WlanFullmacImplIfcRoamResultIndRequest

Response

<EMPTY>

RoamStartInd

Report that a fullmac-initiated roam attempt is in progress. Fullmac must send this start indication for all roam attempts.

Request

NameType
payload WlanFullmacImplIfcRoamStartIndRequest

Response

<EMPTY>

SaeFrameRx

Receive an SAE authentication frame.

Request

NameType
frame SaeFrame

Response

<EMPTY>

SaeHandshakeInd

Request

NameType
payload WlanFullmacImplIfcSaeHandshakeIndRequest

Response

<EMPTY>

SignalReport

Request

NameType
ind WlanFullmacSignalReportIndication

Response

<EMPTY>

StartConf

Report the result of a WlanFullmacImpl::StartBss request.

Request

NameType
payload WlanFullmacImplIfcStartConfRequest

Response

<EMPTY>

StopConf

Report the result of a WlanFullmacImpl::StopBss request.

Request

NameType
payload WlanFullmacImplIfcStopConfRequest

Response

<EMPTY>

STRUCTS

WlanFullmacAntennaId

Defined in fuchsia.wlan.fullmac/fullmac.fidl

Identifier for antenna.

FieldTypeDescriptionDefault
freq WlanFullmacAntennaFreq No default
index uint8

0 indexed antenna number of freq.

No default

WlanFullmacBandCapability

Defined in fuchsia.wlan.fullmac/fullmac.fidl

FieldTypeDescriptionDefault
band fuchsia.wlan.ieee80211/WlanBand

The values of this struct apply to the band indicated in this field.

No default
basic_rates vector<uint8>:12

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.

No default
ht_supported bool

If the device supports the HT PHY mode in this band, then ht_supported is set to true, and the value in ht_caps indicates the capabilities. Otherwise, ht_supported is set to false.

No default
ht_caps fuchsia.wlan.ieee80211/HtCapabilities No default
vht_supported bool

If the device supports the VHT PHY mode in this band, then vht_supported is set to true, and the value in vht_caps indicates the capabilities. Otherwise, vht_supported is set to false.

No default
vht_caps fuchsia.wlan.ieee80211/VhtCapabilities No default
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.

No default
operating_channel_list array<uint8, 256> No default

WlanFullmacChannelSwitchInfo

Defined in fuchsia.wlan.fullmac/fullmac.fidl

FieldTypeDescriptionDefault
new_channel uint8 No default

WlanFullmacHistBucket

Defined in fuchsia.wlan.fullmac/fullmac.fidl

Histogram bucket.

FieldTypeDescriptionDefault
bucket_index uint16

Index into a lookup table for each histogram type. The lookup table for each type is described below in the comments for each type.

No default
num_samples uint64

The count of samples in the bucket.

No default

WlanFullmacIfaceCounterStats

Defined in fuchsia.wlan.fullmac/fullmac.fidl

FieldTypeDescriptionDefault
rx_unicast_total uint64 No default
rx_unicast_drop uint64 No default
rx_multicast uint64 No default
tx_total uint64 No default
tx_drop uint64 No default

WlanFullmacImpl_GetIfaceCounterStats_Response

Defined in fuchsia.wlan.fullmac/fullmac.fidl

FieldTypeDescriptionDefault
stats WlanFullmacIfaceCounterStats No default

WlanFullmacImpl_GetIfaceHistogramStats_Response

Defined in fuchsia.wlan.fullmac/fullmac.fidl

FieldTypeDescriptionDefault
stats WlanFullmacIfaceHistogramStats No default

WlanFullmacImpl_QueryMacSublayerSupport_Response

Defined in fuchsia.wlan.fullmac/fullmac.fidl

FieldTypeDescriptionDefault
resp fuchsia.wlan.common/MacSublayerSupport No default

WlanFullmacImpl_QuerySecuritySupport_Response

Defined in fuchsia.wlan.fullmac/fullmac.fidl

FieldTypeDescriptionDefault
resp fuchsia.wlan.common/SecuritySupport No default

WlanFullmacImpl_QuerySpectrumManagementSupport_Response

Defined in fuchsia.wlan.fullmac/fullmac.fidl

FieldTypeDescriptionDefault
resp fuchsia.wlan.common/SpectrumManagementSupport No default

WlanFullmacNoiseFloorHistogram

Defined in fuchsia.wlan.fullmac/fullmac.fidl

Histogram for noise floor samples.

FieldTypeDescriptionDefault
hist_scope WlanFullmacHistScope No default
antenna_id WlanFullmacAntennaId

If hist_scope is PER_ANTENNA, antenna_id must be provided.

No default
noise_floor_samples vector<WlanFullmacHistBucket>:255

Sparse histogram of noise floor of current channel in dBm. Each sample's bucket_index is an index into this list of dBm values: [-255, -254, ... -1]. For example, if noise_floor_samples contains a WlanFullmacHistBucket with bucket_index = 165 and num_samples = 50, that means there were 50 frames counted that had a noise floor of -90 dBm.

No default
invalid_samples uint64

Count of invalid samples encountered, if any.

No default

WlanFullmacRssiHistogram

Defined in fuchsia.wlan.fullmac/fullmac.fidl

Histogram for received signal strength indicator (RSSI).

FieldTypeDescriptionDefault
hist_scope WlanFullmacHistScope No default
antenna_id WlanFullmacAntennaId

If hist_scope is PER_ANTENNA, antenna_id must be provided.

No default
rssi_samples vector<WlanFullmacHistBucket>:255

Sparse histogram of RSSI of AP in dBm. Each sample's bucket_index is an index into this list of dBm values: [-255, -254, ... -1]. For example, if rssi_samples contains a WlanFullmacHistBucket with bucket_index = 225 and num_samples = 50, that means there were 50 frames counted that had a signal level of -30 dBm.

No default
invalid_samples uint64

Count of invalid samples encountered, if any.

No default

WlanFullmacRssiStats

Defined in fuchsia.wlan.fullmac/fullmac.fidl

FieldTypeDescriptionDefault
hist vector<uint64> No default

WlanFullmacRxRateIndexHistogram

Defined in fuchsia.wlan.fullmac/fullmac.fidl

Histogram for received data rate.

FieldTypeDescriptionDefault
hist_scope WlanFullmacHistScope No default
antenna_id WlanFullmacAntennaId

If hist_scope is PER_ANTENNA, antenna_id must be provided.

No default
rx_rate_index_samples vector<WlanFullmacHistBucket>:196

Sparse histogram of count of received frames for each rate. Each sample's bucket_index is an index into this lookup table: 0-3: B-MCS 0-3 4-11: G-MCS 0-7 12-27: N-MCS 0-15 (BW20) 28-43: N-MCS 0-15 (BW40) 44-59: N-MCS 0-15 (BW20:SGI) 60-75: N-MCS 0-15 (BW40:SGI) 76-85: AC-MCS 0-9 (VHT:BW20:NSS1) 86-95: AC-MCS 0-9 (VHT:BW20:NSS2) 96-105: AC-MCS 0-9 (VHT:BW40:NSS1) 106-115: AC-MCS 0-9 (VHT:BW40:NSS2) 116-125: AC-MCS 0-9 (VHT:BW80:NSS1) 126-135: AC-MCS 0-9 (VHT:BW80:NSS2) 136-145: AC-MCS 0-9 (VHT:BW20:NSS1:SGI) 146-155: AC-MCS 0-9 (VHT:BW20:NSS2:SGI) 156-165: AC-MCS 0-9 (VHT:BW40:NSS1:SGI) 166-175: AC-MCS 0-9 (VHT:BW40:NSS2:SGI) 176-185: AC-MCS 0-9 (VHT:BW80:NSS1:SGI) 186-195: AC-MCS 0-9 (VHT:BW80:NSS2:SGI)

For example, if rx_rate_index_samples contains a WlanFullmacHistBucket with bucket_index = 75 and num_samples = 50, that means there were 50 frames counted that had a rate corresponding to N-MCS 15 (BW40:SGI).

No default
invalid_samples uint64

Count of invalid samples encountered, if any.

No default

WlanFullmacSetKeysResp

Defined in fuchsia.wlan.fullmac/fullmac.fidl

FieldTypeDescriptionDefault
statuslist vector<zx/Status>:4 No default

WlanFullmacSignalReportIndication

Defined in fuchsia.wlan.fullmac/fullmac.fidl

FieldTypeDescriptionDefault
rssi_dbm int8 No default
snr_db int8 No default

WlanFullmacSnrHistogram

Defined in fuchsia.wlan.fullmac/fullmac.fidl

Histogram for signal to noise ratio (SNR).

FieldTypeDescriptionDefault
hist_scope WlanFullmacHistScope No default
antenna_id WlanFullmacAntennaId

If hist_scope is PER_ANTENNA, antenna_id must be provided.

No default
snr_samples vector<WlanFullmacHistBucket>:256

Sparse histogram of signal to noise ratio in dB. Each sample's bucket_index is an index into this list of dB values: [0, 1, ... 255]. For example, if snr_samples contains a WlanFullmacHistBucket with value = 60 and num_samples = 50, that means there were 50 frames counted that had a SNR of 60 dB.

No default
invalid_samples uint64

Count of invalid samples encountered, if any.

0

ENUMS

EapolTxResult flexible

Type: uint8

Defined in fuchsia.wlan.fullmac/fullmac.fidl

NameValueDescription
0
1

StartResult flexible

Type: uint8

Defined in fuchsia.wlan.fullmac/fullmac.fidl

NameValueDescription
0
1
2
3

StopResult flexible

Type: uint8

Defined in fuchsia.wlan.fullmac/fullmac.fidl

NameValueDescription
0
1
2

WlanAssocResult flexible

Type: uint8

Defined in fuchsia.wlan.fullmac/fullmac.fidl

NameValueDescription
0
1
2
3
4
5
6
7
8

WlanAuthResult flexible

Type: uint8

Defined in fuchsia.wlan.fullmac/fullmac.fidl

NameValueDescription
0
1
2
3
4
5

WlanAuthType flexible

Type: uint8

Defined in fuchsia.wlan.fullmac/fullmac.fidl

NameValueDescription
1
2
3
4

WlanFullmacAntennaFreq strict

Type: uint8

Defined in fuchsia.wlan.fullmac/fullmac.fidl

Antenna frequency.

NameValueDescription
1

2.4 GHz.

2

5 GHz.

WlanFullmacHistScope strict

Type: uint8

Defined in fuchsia.wlan.fullmac/fullmac.fidl

The scope of the histogram, e.g. if the histogram contains data for the entire station, or has data for just a single antenna.

NameValueDescription
1
2

WlanScanResult flexible

Type: uint8

Defined in fuchsia.wlan.fullmac/fullmac.fidl

NameValueDescription
0
1
2
3
4
5

WlanScanType flexible

Type: uint8

Defined in fuchsia.wlan.fullmac/fullmac.fidl

NameValueDescription
1
2

TABLES

DeleteKeyDescriptor

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
key_id uint16
key_type fuchsia.wlan.common/WlanKeyType
address fuchsia.wlan.ieee80211/MacAddr

SaeFrame

Defined in fuchsia.wlan.fullmac/fullmac.fidl

Contains the information of SAE authentication frames. Shared between transmit and receive directions, see WlanFullmacImplIfc::SaeFrameRx and WlanFullmacImpl::SaeFrameTx.

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

The peer's MAC address. Required.

status_code fuchsia.wlan.ieee80211/StatusCode

The status code for this SAE frame. Required.

seq_num uint16

The sequence number. Required.

sae_fields vector<uint8>

Contains fields in the frame body relevant to SAE. See IEEE Std 802.11-2016 table 9-35 and table 9-36 for more details. Required.

WlanFullmacIfaceHistogramStats

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
noise_floor_histograms vector<WlanFullmacNoiseFloorHistogram>:8

Noise floor histogram(s).

rssi_histograms vector<WlanFullmacRssiHistogram>:8

Received signal strength indicator (RSSI) histogram(s).

rx_rate_index_histograms vector<WlanFullmacRxRateIndexHistogram>:8

Received rate index histogram(s).

snr_histograms vector<WlanFullmacSnrHistogram>:8

Signal to noise ratio (SNR) histogram(s).

WlanFullmacImplAssocRespRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
result_code WlanAssocResult
association_id uint16

WlanFullmacImplAuthRespRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
result_code WlanAuthResult

WlanFullmacImplConnectRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
selected_bss fuchsia.wlan.common/BssDescription
connect_failure_timeout uint32

Timeout specified in beacon interval.

auth_type WlanAuthType

Additional parameters specific to the authentication exchange.

sae_password vector<uint8>

sae_password is ignored except when SAE_DRIVER_AUTH is enabled and the auth_type is SAE.

wep_key fuchsia.wlan.common/WlanKeyConfig

WEP key used in the authentication exchange. Only included for WEP security type.

security_ie vector<uint8>:257

Additional parameters specific to the association exchange.

WlanFullmacImplDeauthRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
reason_code fuchsia.wlan.ieee80211/ReasonCode

WlanFullmacImplDisassocRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
reason_code fuchsia.wlan.ieee80211/ReasonCode

WlanFullmacImplEapolTxRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
src_addr fuchsia.wlan.ieee80211/MacAddr
dst_addr fuchsia.wlan.ieee80211/MacAddr
data vector<uint8>

WlanFullmacImplIfcAssocIndRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
listen_interval uint16
ssid fuchsia.wlan.ieee80211/Ssid
rsne vector<uint8>:257
vendor_ie vector<uint8>:514

WlanFullmacImplIfcAuthIndRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
auth_type WlanAuthType

WlanFullmacImplIfcConnectConfRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
result_code fuchsia.wlan.ieee80211/StatusCode
association_id uint16
association_ies vector<uint8>

WlanFullmacImplIfcDeauthConfRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

WlanFullmacImplIfcDeauthIndRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

MAC address of the peer. Required.

reason_code fuchsia.wlan.ieee80211/ReasonCode

Reason code for deauthentication. Required.

locally_initiated bool

locally_initiated is true if deauth is initiated from the device, and is false if it's initiated remotely (e.g. due to deauth frame)

WlanFullmacImplIfcDisassocConfRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
status zx/Status

ZX_OK indicates that the disassociate request was serviced and the peer was disassociated. Other errors indicate that the request could not be serviced, for these or other reasons:

  • ZX_ERR_BAD_STATE: association not possible in current state (e.g. disconnected)
  • ZX_ERR_INVALID_ARGS: no association exists with specified peer
  • ZX_ERR_SHOULD_WAIT: disassociate request could not be serviced because firmware or driver was busy

WlanFullmacImplIfcDisassocIndRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

Address of the peer that was disassociated. Required.

reason_code fuchsia.wlan.ieee80211/ReasonCode

Reason for the disassociation. Required.

locally_initiated bool

Whether the disassociation was initiated from the device. Required. locally_initiated is true if disassociation was initiated from the device (e.g. firmware or vendor driver started the disassociation); false if the disassociation was initiated externally (e.g. due to receipt of a disassociate frame from an AP).

WlanFullmacImplIfcEapolConfRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
result_code EapolTxResult

The result of the transmission. Required.

dst_addr fuchsia.wlan.ieee80211/MacAddr

This value corresponds to the dst_addr in the EapolTxRequest we're confirming. IEEE 802.11-2020 does not include this field, but we need it to disambiguate if multiple EAPoL handshakes are ongoing. Required.

WlanFullmacImplIfcEapolIndRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
src_addr fuchsia.wlan.ieee80211/MacAddr

The address of the sender. Required.

dst_addr fuchsia.wlan.ieee80211/MacAddr

The address of the intended destination. Required.

data vector<uint8>

The bytes of the EAPoL frame data. Required.

WlanFullmacImplIfcOnPmkAvailableRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
pmk vector<uint8>

The pairwise master key bytes. Required.

pmkid vector<uint8>

The PMK IDs. Required.

WlanFullmacImplIfcOnScanEndRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
txn_id uint64
code WlanScanResult

WlanFullmacImplIfcOnScanResultRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
txn_id uint64
timestamp_nanos zx/Time
bss fuchsia.wlan.common/BssDescription

WlanFullmacImplIfcRoamConfRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
selected_bssid fuchsia.wlan.ieee80211/MacAddr

BSSID of the target BSS. Required.

status_code fuchsia.wlan.ieee80211/StatusCode

Result of the roam attempt. Required.

original_association_maintained bool

Whether the original BSS association has been maintained through the roam attempt. Required. A successful roam always incurs disassociation from the original BSS, so if status_code is success then this field must be set to false; a roam failure typically incurs disassociation from the original BSS, but may not in some cases (e.g. in some Fast BSS Transition scenarios).

target_bss_authenticated bool

Whether the client is authenticated with the target BSS. If status_code is success, then this field must be set to true; if the roam attempt failed, this field may be true or false. This allows higher layers to decide how to clean up connection state after a failed roam attempt.

association_id uint16

Association ID for this association with the AP. Required if status_code is success.

association_ies vector<uint8>

IEs for this association with the AP. Required if status_code is success.

WlanFullmacImplIfcRoamResultIndRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
selected_bssid fuchsia.wlan.ieee80211/MacAddr

BSSID of the target BSS. Required.

status_code fuchsia.wlan.ieee80211/StatusCode

Result of the roam attempt. Required.

original_association_maintained bool

Whether the original BSS association has been maintained through the roam attempt. Required. A successful roam always incurs disassociation from the original BSS, so if status_code is success then this field must be set to false; a roam failure typically incurs disassociation from the original BSS, but may not in some cases (e.g. in some Fast BSS Transition scenarios).

target_bss_authenticated bool

Whether the client is authenticated with the target BSS. If status_code is success, then this field must be set to true; if the roam attempt failed, this field may be true or false. This allows higher layers to decide how to clean up connection state after a failed roam attempt.

association_id uint16

Association ID for this association with the AP. Required if status_code is success.

association_ies vector<uint8>

IEs for this association with the AP. Required if status_code is success.

WlanFullmacImplIfcRoamStartIndRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
selected_bssid fuchsia.wlan.ieee80211/MacAddr

BSSID of the target BSS. Required.

selected_bss fuchsia.wlan.common/BssDescription

Full BSS description of the target BSS. Required. If the data in BssDescription is incorrect or incomplete, the roam cannot succeed, because higher layers will not be able to complete required actions (e.g. SAE).

original_association_maintained bool

Whether the original BSS association has been maintained at the start of a roam attempt. Required. 802.11 dictates that a STA can only be associated with a single BSS, so a roam attempt typically incurs disassociation at the start of the roam attempt. However, 802.11 also provides a mechanism (i.e. Fast BSS Transition) that allows a device to maintain association with the original BSS while establishing authentication with the target BSS, in order to avoid losing the original association if authentication with the target BSS fails.

WlanFullmacImplIfcSaeHandshakeIndRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

WlanFullmacImplIfcStartConfRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
result_code StartResult

The result of the StartBss request. Required.

WlanFullmacImplIfcStopConfRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
result_code StopResult

The result of the StopBss request. Required.

WlanFullmacImplInitRequest resource

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
ifc client_end:WlanFullmacImplIfc

The WlanFullmacImplifc client end. Required.

WlanFullmacImplOnLinkStateChangedRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
online bool

WlanFullmacImplReconnectRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

WlanFullmacImplRoamRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
selected_bss fuchsia.wlan.common/BssDescription

Full BSS description of the target BSS. Required. If the data in BssDescription is incorrect or incomplete, the roam cannot succeed, because higher layers will not be able to complete required actions (e.g. SAE).

WlanFullmacImplSaeHandshakeRespRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

The peer's MAC address. Required.

status_code fuchsia.wlan.ieee80211/StatusCode

The status of the SAE handshake. Required.

WlanFullmacImplSetKeysRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
keylist vector<fuchsia.wlan.common/WlanKeyConfig>:4

WlanFullmacImplStartBssRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
ssid fuchsia.wlan.ieee80211/CSsid
bss_type fuchsia.wlan.common/BssType
beacon_period uint32
dtim_period uint32
channel uint8
rsne vector<uint8>:257
vendor_ie vector<uint8>:514

WlanFullmacImplStartScanRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
txn_id uint64

Unique transaction id (will be indicated in corresponding scan results).

scan_type WlanScanType
channels vector<uint8>:256

List of channels to scan on. An empty list of channels will cause a scan request to immediately return a OnScanEnd with code INVALID_ARGS.

Invalid channel numbers will be silently ignored. The validity of a channel number depends on the current regulatory region, and a FullMAC driver cannot always determine the region setting. This is especially the case when firmware changes the region setting dynamically.

ssids vector<fuchsia.wlan.ieee80211/CSsid>

List of SSIDs to scan for. An empty list of ssids is the same as specifying a list containing only the wildcard SSID.

There is no limit on the number of SSIDs specified. A large number of SSIDs may result in extended scan times because of hardware limitations on the number of SSIDs permitted per scan request and the technical limitation in IEEE 802.11-2016 that limits the number of SSIDs in a single Probe Request frame to ieee80211.SSID_LIST_MAX SSIDs.

min_channel_time uint32

Minimum amount of time in msecs spent on a channel during scan.

max_channel_time uint32

Maximum amount of time in msecs spent on a channel during scan.

WlanFullmacImplStopBssRequest

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
ssid fuchsia.wlan.ieee80211/CSsid

WlanFullmacImpl_Init_Response resource

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
sme_channel handle<channel>

The SME server end channel. Required.

WlanFullmacImpl_Query_Response

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalFieldTypeDescription
sta_addr fuchsia.wlan.ieee80211/MacAddr

Station address. Required.

role fuchsia.wlan.common/WlanMacRole

MAC role. Required.

band_caps vector<WlanFullmacBandCapability>:16

Supported bands. Required.

UNIONS

WlanFullmacImpl_GetIfaceCounterStats_Result strict

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalVariantTypeDescription
response WlanFullmacImpl_GetIfaceCounterStats_Response
err zx/Status

WlanFullmacImpl_GetIfaceHistogramStats_Result strict

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalVariantTypeDescription
response WlanFullmacImpl_GetIfaceHistogramStats_Response
err zx/Status

WlanFullmacImpl_Init_Result strict resource

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalVariantTypeDescription
response WlanFullmacImpl_Init_Response
err zx/Status

WlanFullmacImpl_QueryMacSublayerSupport_Result strict

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalVariantTypeDescription
response WlanFullmacImpl_QueryMacSublayerSupport_Response
err zx/Status

WlanFullmacImpl_QuerySecuritySupport_Result strict

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalVariantTypeDescription
response WlanFullmacImpl_QuerySecuritySupport_Response
err zx/Status

WlanFullmacImpl_QuerySpectrumManagementSupport_Result strict

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalVariantTypeDescription
response WlanFullmacImpl_QuerySpectrumManagementSupport_Response
err zx/Status

WlanFullmacImpl_Query_Result strict

Defined in fuchsia.wlan.fullmac/fullmac.fidl

OrdinalVariantTypeDescription
response WlanFullmacImpl_Query_Response
err zx/Status

CONSTANTS

NameValueTypeDescription
WLAN_FULLMAC_MAX_HISTOGRAMS_PER_TYPE 8 uint8

For each histogram type (e.g. RSSI), there can be multiple histograms up to this limit. For example, an interface might have 1 histogram for station-wide RSSI, but also 1 for each of the antennas used by the interface.

WLAN_FULLMAC_MAX_NOISE_FLOOR_SAMPLES 255 uint8

All histograms have a fixed number of buckets. To save space, each histogram type uses a vector to hold only non-empty buckets (a sparse histogram), with these constants as the max size of each vector. Noise floor values range from -255 to -1 dBm.

WLAN_FULLMAC_MAX_RSSI_SAMPLES 255 uint8

RSSI values range from -255 to -1 dBm.

WLAN_FULLMAC_MAX_RX_RATE_INDEX_SAMPLES 196 uint8

Size of RX_RATE_INDEX lookup table (see comments in RxRateIndexHistogram).

WLAN_FULLMAC_MAX_SNR_SAMPLES 256 uint16

SNR values range from 0 to 255 dB.

WLAN_FULLMAC_NUM_RATES_AC 120 uint8

The number of 802.11AC rates in the WlanFullmacRxRateIndexHistogram lookup table.

WLAN_FULLMAC_NUM_RATES_B 4 uint8

The number of 802.11B rates in the WlanFullmacRxRateIndexHistogram lookup table.

WLAN_FULLMAC_NUM_RATES_G 8 uint8

The number of 802.11G rates in the WlanFullmacRxRateIndexHistogram lookup table.

WLAN_FULLMAC_NUM_RATES_N 64 uint8

The number of 802.11N rates in the WlanFullmacRxRateIndexHistogram lookup table.

WLAN_MAX_KEYLIST_SIZE 4 uint32
WLAN_VIE_MAX_LEN 514 uint32

Max length for vendor IEs to be added to the association request. This is currently used for WPA.

SERVICES

Service

Defined in fuchsia.wlan.fullmac/fullmac.fidl

NameTypeTransport
wlan_fullmac_impl fuchsia.wlan.fullmac/WlanFullmacImpl Channel