fuchsia.wlan.fullmac

新增:HEAD

通訊協定

WlanFullmacImpl

定義於 fuchsia.wlan.fullmac/fullmac.fidl

從平台到 fullmac 供應商驅動程式庫的通訊協定定義。

AssocResp

要求

名稱類型
payload WlanFullmacImplAssocRespRequest

回應

<EMPTY>

AuthResp

要求

名稱類型
payload WlanFullmacImplAuthRespRequest

回應

<EMPTY>

連線

要求

名稱類型
payload WlanFullmacImplConnectRequest

回應

<EMPTY>

Deauth

要求

名稱類型
payload WlanFullmacImplDeauthRequest

回應

<EMPTY>

Disassoc

要求

名稱類型
payload WlanFullmacImplDisassocRequest

回應

<EMPTY>

EapolTx

要求

名稱類型
payload WlanFullmacImplEapolTxRequest

回應

<EMPTY>

GetApfPacketFilterEnabled

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_GetApfPacketFilterEnabled_Result

GetIfaceHistogramStats

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_GetIfaceHistogramStats_Result

GetIfaceStats

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_GetIfaceStats_Result

GetScheduledScanEnabled

傳回目前進行中排定掃描作業的交易 ID。

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_GetScheduledScanEnabled_Result

GetSignalReport

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_GetSignalReport_Result

Init

初始化 FullMAC 驅動程式庫。這是平台向 FullMAC 驅動程式庫提出的第一個要求。

初始化時,MLME 會將用戶端端點提供給 WlanFullmacImplIfc 通訊協定。驅動程式必須傳回 SME 伺服器端管道,供平台內部使用。一般來說,SME 伺服器端管道會由 fuchsia.wlan.phy/WlanPhy.CreateIface 提供給 FullMAC 驅動程式庫程式。

如果 Init 成功完成,平台就會開始向 FullMAC 驅動程式庫發出其他 WlanFullmacImpl 要求,而 FullMAC 驅動程式庫則可向平台發出 WlanFullmacImplIfc 要求。平台可能會繼續提出 WlanFullmacImpl 要求,直到 WlanFullmacImpl 伺服器解除繫結為止。

常見錯誤包括:

  • ZX_ERR_ALREADY_BOUND:已在這個 FullMAC 驅動程式庫上呼叫 Init。

要求

名稱類型
payload WlanFullmacImplInitRequest

回應

名稱類型
payload WlanFullmacImpl_Init_Result

InstallApfPacketFilter

安裝 APF 程式,並取代現有程式 (如有)。這個方法不會啟用計畫。

要求

名稱類型
payload WlanFullmacImplInstallApfPacketFilterRequest

回應

名稱類型
payload WlanFullmacImpl_InstallApfPacketFilter_Result

OnLinkStateChanged

要求

名稱類型
payload WlanFullmacImplOnLinkStateChangedRequest

回應

<EMPTY>

查詢

傳回說明 FullMAC 驅動程式庫狀態的高階資訊。即使在呼叫 WlanFullmacImpl::Start 之前,也能安全呼叫。

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_Query_Result

QueryApfPacketFilterSupport

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_QueryApfPacketFilterSupport_Result

QueryRssiMonitorSupport

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_QueryRssiMonitorSupport_Result

QuerySecuritySupport

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_QuerySecuritySupport_Result

QuerySpectrumManagementSupport

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_QuerySpectrumManagementSupport_Result

QueryTelemetrySupport

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_QueryTelemetrySupport_Result

ReadApfPacketFilterData

擷取整個 APF 程式和工作記憶體緩衝區的一致快照,並傳回給主機。傳回的緩衝區包含程式碼和資料。長度必須與最近傳回的 QueryPacketFilterSupport().max_filter_length 相符。

擷取快照時,APF 解譯器不得執行,且所有傳入封包都必須傳遞至主機,就像未安裝 APF 程式一樣。

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_ReadApfPacketFilterData_Result

重新連線

要求

名稱類型
payload WlanFullmacImplReconnectRequest

回應

<EMPTY>

Roam

嘗試漫遊,將關聯移至 ESS 內的其他 BSS。

要求

名稱類型
payload WlanFullmacImplRoamRequest

回應

<EMPTY>

SaeFrameTx

傳輸 SAE 驗證框架。

要求

名稱類型
frame SaeFrame

回應

<EMPTY>

SaeHandshakeResp

通知驅動程式庫 SAE 握手結果。

要求

名稱類型
payload WlanFullmacImplSaeHandshakeRespRequest

回應

<EMPTY>

SetApfPacketFilterEnabled

要求

名稱類型
payload WlanFullmacImplSetApfPacketFilterEnabledRequest

回應

名稱類型
payload WlanFullmacImpl_SetApfPacketFilterEnabled_Result

SetKeys

設定連線的安全金鑰。通常會在成功交換金鑰後呼叫。

請注意,平台會假設驅動程式庫會在連線中斷或金鑰輪替時自動刪除金鑰。

要求

名稱類型
payload WlanFullmacImplSetKeysRequest

回應

名稱類型
resp WlanFullmacSetKeysResp

SetMacAddress

設定介面的 MAC 位址,可透過 Query() 方法擷取。如要重設為預設/原廠 MAC 位址,請使用 Query() 方法擷取 factory_addr,並將該值傳遞至這個方法。

要求

名稱類型
mac_addr fuchsia.wlan.ieee80211/MacAddr

回應

名稱類型
payload WlanFullmacImpl_SetMacAddress_Result

StartBss

要求

名稱類型
payload WlanFullmacImplStartBssRequest

回應

<EMPTY>

StartRssiMonitor

設定連線 RSSI 的監控門檻。

偵測到 RSSI 低於 min_rssi_dbm 或高於 max_rssi_dbm 時,WlanFullmacImplIfc::OnRssiThresholdBreached 會回報。

多次呼叫 StartRssiMonitor 會將監控門檻替換為最新提供的值。

呼叫 StopRssiMonitor 或連線中斷時,RSSI 監控會自動停止。

要求

名稱類型
payload WlanFullmacImplStartRssiMonitorRequest

回應

名稱類型
payload WlanFullmacImpl_StartRssiMonitor_Result

StartScan

要求

名稱類型
payload WlanFullmacImplStartScanRequest

回應

<EMPTY>

StartScheduledScan

開始排定掃描。

要求

名稱類型
payload WlanFullmacImplStartScheduledScanRequest

回應

名稱類型
payload WlanFullmacImpl_StartScheduledScan_Result

StopBss

要求

名稱類型
payload WlanFullmacImplStopBssRequest

回應

<EMPTY>

StopRssiMonitor

要求

<EMPTY>

回應

名稱類型
payload WlanFullmacImpl_StopRssiMonitor_Result

StopScheduledScan

停止排定的掃描作業。

如果傳回值表示成功,代表掃描作業已停止。驅動程式「不會」傳送 OnScheduledScanStoppedByFirmware 事件來回應這項呼叫。OnScheduledScanStoppedByFirmware 則保留給韌體啟動的停止或錯誤。

要求

名稱類型
payload WlanFullmacImplStopScheduledScanRequest

回應

名稱類型
payload WlanFullmacImpl_StopScheduledScan_Result

WmmStatusReq

要求

<EMPTY>

回應

<EMPTY>

WlanFullmacImplIfc

定義於 fuchsia.wlan.fullmac/fullmac.fidl

從 fullmac 供應商驅動程式庫到平台的通訊協定定義。

AssocInd

要求

名稱類型
payload WlanFullmacImplIfcAssocIndRequest

回應

<EMPTY>

AuthInd

要求

名稱類型
payload WlanFullmacImplIfcAuthIndRequest

回應

<EMPTY>

ConnectConf

要求

名稱類型
payload WlanFullmacImplIfcConnectConfRequest

回應

<EMPTY>

DeauthConf

要求

名稱類型
payload WlanFullmacImplIfcDeauthConfRequest

回應

<EMPTY>

DeauthInd

回報驅動程式庫已取消驗證。

要求

名稱類型
payload WlanFullmacImplIfcDeauthIndRequest

回應

<EMPTY>

DisassocConf

回報先前發出的取消關聯要求結果。IEEE 802.11-2020 6.3.9.2。

要求

名稱類型
payload WlanFullmacImplIfcDisassocConfRequest

回應

<EMPTY>

DisassocInd

回報與指定對等點解除關聯 (IEEE 802.11-2020 6.3.9.3)。

要求

名稱類型
payload WlanFullmacImplIfcDisassocIndRequest

回應

<EMPTY>

EapolConf

回報 EAPoL 框架傳輸結果 (IEEE 802.11-2020 6.3.22.2)。平台會透過 WlanFullmacImpl::EapolTx 傳輸 EAPoL 框架。

要求

名稱類型
payload WlanFullmacImplIfcEapolConfRequest

回應

<EMPTY>

EapolInd

回報已收到 EAPoL 框架。

要求

名稱類型
payload WlanFullmacImplIfcEapolIndRequest

回應

<EMPTY>

OnChannelSwitch

要求

名稱類型
ind WlanFullmacChannelSwitchInfo

回應

<EMPTY>

OnPmkAvailable

在驅動程式庫處理 SAE 握手後,通知平台 PMK 可用。

要求

名稱類型
payload WlanFullmacImplIfcOnPmkAvailableRequest

回應

<EMPTY>

OnRssiThresholdBreached

回報監控的 RSSI 超過設定門檻。

要求

名稱類型
payload WlanFullmacImplIfcOnRssiThresholdBreachedRequest

OnScanEnd

要求

名稱類型
payload WlanFullmacImplIfcOnScanEndRequest

回應

<EMPTY>

OnScanResult

要求

名稱類型
payload WlanFullmacImplIfcOnScanResultRequest

回應

<EMPTY>

OnScheduledScanMatchesAvailable

向 MLME 指出排定掃描計畫中的個別掃描已完成,且結果已可供查看。

要求

名稱類型
payload WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest

OnScheduledScanStoppedByFirmware

向 MLME 指出韌體已停止排定的掃描作業。

要求

名稱類型
payload WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest

OnWmmStatusResp

要求

名稱類型
status zx/Result
wmm_params fuchsia.wlan.driver/WlanWmmParameters

回應

<EMPTY>

RoamConf

回報 MLME 啟動的漫遊嘗試結果。

要求

名稱類型
payload WlanFullmacImplIfcRoamConfRequest

回應

<EMPTY>

RoamResultInd

回報 fullmac 啟動漫遊嘗試的結果。

要求

名稱類型
payload WlanFullmacImplIfcRoamResultIndRequest

回應

<EMPTY>

RoamStartInd

回報 fullmac 正在嘗試漫遊。Fullmac 必須為所有漫遊嘗試傳送這項啟動指示。

要求

名稱類型
payload WlanFullmacImplIfcRoamStartIndRequest

回應

<EMPTY>

SaeFrameRx

接收 SAE 驗證框架。

要求

名稱類型
frame SaeFrame

回應

<EMPTY>

SaeHandshakeInd

要求

名稱類型
payload WlanFullmacImplIfcSaeHandshakeIndRequest

回應

<EMPTY>

SignalReport

要求

名稱類型
ind WlanFullmacSignalReportIndication

回應

<EMPTY>

StartConf

回報 WlanFullmacImpl::StartBss 要求的結果。

要求

名稱類型
payload WlanFullmacImplIfcStartConfRequest

回應

<EMPTY>

StopConf

回報 WlanFullmacImpl::StopBss 要求的結果。

要求

名稱類型
payload WlanFullmacImplIfcStopConfRequest

回應

<EMPTY>

STRUCTS

WlanFullmacChannelSwitchInfo

定義於 fuchsia.wlan.fullmac/fullmac.fidl

欄位類型說明預設
new_primary_channel fuchsia.wlan.ieee80211/ChannelNumber 無預設值
bandwidth fuchsia.wlan.ieee80211/ChannelBandwidth 無預設值
vht_secondary_80_channel fuchsia.wlan.ieee80211/ChannelNumber 無預設值

WlanFullmacImpl_GetIfaceHistogramStats_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

欄位類型說明預設
stats fuchsia.wlan.stats/IfaceHistogramStats 無預設值

WlanFullmacImpl_GetIfaceStats_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

欄位類型說明預設
stats fuchsia.wlan.stats/IfaceStats 無預設值

WlanFullmacImpl_InstallApfPacketFilter_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

<EMPTY>

WlanFullmacImpl_SetApfPacketFilterEnabled_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

<EMPTY>

WlanFullmacImpl_SetMacAddress_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

<EMPTY>

WlanFullmacImpl_StartRssiMonitor_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

<EMPTY>

WlanFullmacImpl_StartScheduledScan_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

<EMPTY>

WlanFullmacImpl_StopRssiMonitor_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

<EMPTY>

WlanFullmacImpl_StopScheduledScan_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

<EMPTY>

WlanFullmacRssiStats

定義於 fuchsia.wlan.fullmac/fullmac.fidl

欄位類型說明預設
hist vector<uint64> 無預設值

WlanFullmacSetKeysResp

定義於 fuchsia.wlan.fullmac/fullmac.fidl

欄位類型說明預設
statuslist vector<zx/Result>:4 無預設值

列舉

EapolTxResult 彈性

類型:uint8

定義於 fuchsia.wlan.fullmac/fullmac.fidl

名稱值說明
0
1

彈性 StartResult

類型:uint8

定義於 fuchsia.wlan.fullmac/fullmac.fidl

名稱值說明
0
1
2
3

StopResult 彈性

類型:uint8

定義於 fuchsia.wlan.fullmac/fullmac.fidl

名稱值說明
0
1
2

WlanAssocResult 彈性

類型:uint8

定義於 fuchsia.wlan.fullmac/fullmac.fidl

名稱值說明
0
1
2
3
4
5
6
7
8

WlanAuthResult 彈性

類型:uint8

定義於 fuchsia.wlan.fullmac/fullmac.fidl

名稱值說明
0
1
2
3
4
5

WlanAuthType flexible

類型:uint8

定義於 fuchsia.wlan.fullmac/fullmac.fidl

名稱值說明
1
2
3
4

WlanScanResult 彈性

類型:uint8

定義於 fuchsia.wlan.fullmac/fullmac.fidl

名稱值說明
0
1
2
3
4
5

WlanScanType flexible

類型:uint8

定義於 fuchsia.wlan.fullmac/fullmac.fidl

名稱值說明
1
2

TABLES

BandCapability

定義於 fuchsia.wlan.fullmac/fullmac.fidl

說明單一 WlanBand 的參數和功能。

序數欄位類型說明
band fuchsia.wlan.ieee80211/WlanBand

這個表格的值適用於這個欄位中指定的頻帶。

必填。

basic_rates vector<uint8>:12

支援的基本速率,單位為 500 kbit/s (如 IEEE Std 802.11-2016, 9.4.2.3 所定義),例如 0x02 代表 1 Mbps。這種類型傳回的值表示裝置支援傳輸和接收的所有非 HT 速率。

必填。

ht_caps fuchsia.wlan.ieee80211/HtCapabilities

HT PHY 模式功能。

選用。如果沒有這個欄位,表示裝置不支援這個頻帶的 HT PHY 模式。

vht_caps fuchsia.wlan.ieee80211/VhtCapabilities

VHT PHY 模式功能。

選用。如果沒有這個欄位,表示裝置不支援這個頻帶的 VHT PHY 模式。

primary_channels vector<fuchsia.wlan.ieee80211/ChannelNumber>:256

在建立 iface 時,根據裝置驅動程式庫程式已知的法規資訊,硬體認為有效的主要頻道清單。在這種情況下,主要管道是指 AP 可在目前法規網域中傳輸信標框架的管道。

這份清單可用於判斷後續要求是否有效,以便使用 iface 掃描部分頻道,或判斷啟動 AP 時要使用哪個主要管道。

必填。

SaeFrame

定義於 fuchsia.wlan.fullmac/fullmac.fidl

包含 SAE 驗證框架的資訊。在傳輸和接收方向之間共用,請參閱 WlanFullmacImplIfc::SaeFrameRx 和 WlanFullmacImpl::SaeFrameTx。

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

對等互連的 MAC 位址。必填。

status_code fuchsia.wlan.ieee80211/StatusCode

這個 SAE 框架的狀態碼。必填。

seq_num uint16

序號。必填。

sae_fields vector<uint8>

包含影格主體中與 SAE 相關的欄位。詳情請參閱 IEEE Std 802.11-2016 表 9-35 和表 9-36。必填。

WlanFullmacImplAssocRespRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
result_code WlanAssocResult
association_id uint16

WlanFullmacImplAuthRespRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
result_code WlanAuthResult

WlanFullmacImplConnectRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
selected_bss fuchsia.wlan.ieee80211/BssDescription
connect_failure_timeout uint32

信標間隔中指定的逾時時間。

auth_type WlanAuthType

驗證交換作業專用的其他參數。

sae_password vector<uint8>

除非啟用 SAE_DRIVER_AUTH 且 auth_type 為 SAE,否則系統會忽略 sae_password。

wep_key fuchsia.wlan.driver/WlanKeyConfig

驗證交換中使用的 WEP 金鑰。只有 WEP 安全性類型會填入這個欄位,否則這個欄位會留空。

security_ie vector<uint8>:257

關聯廣告交易平台專用的其他參數。

wep_key_desc fuchsia.wlan.ieee80211/SetKeyDescriptor

驗證交換中使用的 WEP 金鑰。只有 WEP 安全性類型會填入這個欄位,否則這個欄位會留空。

owe_public_key WlanFullmacOwePublicKey

關聯期間用於 Diffie Hellman 交換的 OWE 公開金鑰。只有 OWE 安全性類型會填入這個欄位,否則這個欄位會留空。

WlanFullmacImplDeauthRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
reason_code fuchsia.wlan.ieee80211/ReasonCode

WlanFullmacImplDisassocRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
reason_code fuchsia.wlan.ieee80211/ReasonCode

WlanFullmacImplEapolTxRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
src_addr fuchsia.wlan.ieee80211/MacAddr
dst_addr fuchsia.wlan.ieee80211/MacAddr
data vector<uint8>

WlanFullmacImplIfcAssocIndRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
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

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
auth_type WlanAuthType

WlanFullmacImplIfcConnectConfRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr
result_code fuchsia.wlan.ieee80211/StatusCode
association_id uint16
association_ies vector<uint8>

WlanFullmacImplIfcDeauthConfRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

WlanFullmacImplIfcDeauthIndRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

對等互連的 MAC 位址。必填。

reason_code fuchsia.wlan.ieee80211/ReasonCode

取消驗證的原因代碼。必填。

locally_initiated bool

如果取消驗證是由裝置發起,locally_initiated 為 true;如果是由遠端發起 (例如因取消驗證框架),則為 false

WlanFullmacImplIfcDisassocConfRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
status zx/Result

ZX_OK 表示解除關聯要求已處理,且對等互連已解除關聯。其他錯誤表示因下列或其他原因,無法處理要求:

  • ZX_ERR_BAD_STATE:無法在目前狀態下建立關聯 (例如中斷連線)
  • ZX_ERR_INVALID_ARGS:與指定對等點沒有關聯
  • ZX_ERR_SHOULD_WAIT:韌體或驅動程式庫忙碌中,因此無法處理取消關聯要求

WlanFullmacImplIfcDisassocIndRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

已取消關聯的對等互連位址。必填。

reason_code fuchsia.wlan.ieee80211/ReasonCode

取消關聯的原因。必填。

locally_initiated bool

解除關聯是否由裝置發起。必填。 如果解除關聯是由裝置啟動 (例如韌體或供應商驅動程式庫啟動解除關聯),則 locally_initiated 為 true;如果解除關聯是由外部啟動 (例如收到 AP 的解除關聯框架),則為 false。

WlanFullmacImplIfcEapolConfRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
result_code EapolTxResult

傳輸結果。必填。

dst_addr fuchsia.wlan.ieee80211/MacAddr

這個值對應到我們確認的 EapolTxRequest 中的 dst_addr。IEEE 802.11-2020 不含這個欄位,但如果有多個 EAPoL 握手正在進行,我們需要這個欄位來消除歧義。必填。

WlanFullmacImplIfcEapolIndRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
src_addr fuchsia.wlan.ieee80211/MacAddr

寄件者的地址。必填。

dst_addr fuchsia.wlan.ieee80211/MacAddr

指定目的地的位址。必填。

data vector<uint8>

EAPoL 框架資料的位元組。必填。

WlanFullmacImplIfcOnPmkAvailableRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
pmk vector<uint8>

成對主金鑰位元組。必填。

pmkid vector<uint8>

PMK ID。必填。

WlanFullmacImplIfcOnRssiThresholdBreachedRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
cur_rssi_dbm int8

WlanFullmacImplIfcOnScanEndRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
txn_id uint64
code WlanScanResult

WlanFullmacImplIfcOnScanResultRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
txn_id uint64
timestamp_nanos zx/Time
bss fuchsia.wlan.ieee80211/BssDescription

WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
txn_id uint64

WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
txn_id uint64

WlanFullmacImplIfcRoamConfRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
selected_bssid fuchsia.wlan.ieee80211/MacAddr

目標 BSS 的 BSSID。必填。

status_code fuchsia.wlan.ieee80211/StatusCode

漫遊嘗試結果。必填。

original_association_maintained bool

漫遊嘗試期間是否維持原始 BSS 關聯。必要。 成功的漫遊一律會與原始 BSS 取消關聯,因此如果 status_code 成功,則必須將這個欄位設為 false;漫遊失敗通常會與原始 BSS 取消關聯,但在某些情況下可能不會 (例如在某些快速 BSS 轉換情境中)。

target_bss_authenticated bool

用戶端是否已通過目標 BSS 驗證。如果 status_code 成功,則這個欄位必須設為 true;如果漫遊嘗試失敗,這個欄位可能為 true 或 false。這樣一來,較高層級就能決定如何在漫遊嘗試失敗後清除連線狀態。

association_id uint16

與 AP 建立關聯的關聯 ID。如果 status_code 為 success,則為必要欄位。

association_ies vector<uint8>

與 AP 建立關聯的 IE。如果 status_code 為 success,則為必要欄位。

WlanFullmacImplIfcRoamResultIndRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
selected_bssid fuchsia.wlan.ieee80211/MacAddr

目標 BSS 的 BSSID。必填。

status_code fuchsia.wlan.ieee80211/StatusCode

漫遊嘗試結果。必填。

original_association_maintained bool

漫遊嘗試期間是否維持原始 BSS 關聯。必要。 成功的漫遊一律會與原始 BSS 取消關聯,因此如果 status_code 成功,則必須將這個欄位設為 false;漫遊失敗通常會與原始 BSS 取消關聯,但在某些情況下可能不會 (例如在某些快速 BSS 轉換情境中)。

target_bss_authenticated bool

用戶端是否已通過目標 BSS 驗證。如果 status_code 成功,則這個欄位必須設為 true;如果漫遊嘗試失敗,這個欄位可能為 true 或 false。這樣一來,較高層級就能決定如何在漫遊嘗試失敗後清除連線狀態。

association_id uint16

與 AP 建立關聯的關聯 ID。如果 status_code 為 success,則為必要欄位。

association_ies vector<uint8>

與 AP 建立關聯的 IE。如果 status_code 為 success,則為必要欄位。

WlanFullmacImplIfcRoamStartIndRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
selected_bssid fuchsia.wlan.ieee80211/MacAddr

目標 BSS 的 BSSID。必填。

selected_bss fuchsia.wlan.ieee80211/BssDescription

目標 BSS 的完整 BSS 說明。必要。 如果 BssDescription 中的資料不正確或不完整,漫遊就無法成功,因為較高層無法完成必要動作 (例如 SAE)。

original_association_maintained bool

在開始嘗試漫遊時,是否仍維持原始 BSS 關聯。此為必要項目。802.11 規定 STA 只能與單一 BSS 建立關聯,因此漫遊嘗試通常會在開始時中斷關聯。不過,802.11 也提供一種機制 (即快速 BSS 轉換),可讓裝置在與目標 BSS 建立驗證時,維持與原始 BSS 的關聯,以免與目標 BSS 驗證失敗時失去原始關聯。

WlanFullmacImplIfcSaeHandshakeIndRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

WlanFullmacImplIfcStartConfRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
result_code StartResult

StartBss 要求的結果。必填。

WlanFullmacImplIfcStopConfRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
result_code StopResult

StopBss 要求的結果。必填。

WlanFullmacImplInitRequest 資源

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
ifc client_end:WlanFullmacImplIfc

WlanFullmacImplifc 用戶端。必填。

WlanFullmacImplInstallApfPacketFilterRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
program vector<uint8>

WlanFullmacImplOnLinkStateChangedRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
online bool

WlanFullmacImplReconnectRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

WlanFullmacImplRoamRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
selected_bss fuchsia.wlan.ieee80211/BssDescription

目標 BSS 的完整 BSS 說明。必要。 如果 BssDescription 中的資料不正確或不完整,漫遊就無法成功,因為較高層無法完成必要動作 (例如 SAE)。

WlanFullmacImplSaeHandshakeRespRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
peer_sta_address fuchsia.wlan.ieee80211/MacAddr

對等互連的 MAC 位址。必填。

status_code fuchsia.wlan.ieee80211/StatusCode

SAE 握手狀態。必填。

WlanFullmacImplSetApfPacketFilterEnabledRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
enabled bool

WlanFullmacImplSetKeysRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
keylist vector<fuchsia.wlan.driver/WlanKeyConfig>:4
key_descriptors vector<fuchsia.wlan.ieee80211/SetKeyDescriptor>:4

WlanFullmacImplStartBssRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
ssid fuchsia.wlan.ieee80211/Ssid
bss_type fuchsia.wlan.ieee80211/BssType
beacon_period uint32
dtim_period uint32
primary fuchsia.wlan.ieee80211/ChannelNumber
rsne vector<uint8>:257
vendor_ie vector<uint8>:514

WlanFullmacImplStartRssiMonitorRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
min_rssi_dbm int8
max_rssi_dbm int8

WlanFullmacImplStartScanRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
txn_id uint64

專屬交易 ID (會顯示在對應的掃描結果中)。

scan_type WlanScanType
channels vector<fuchsia.wlan.ieee80211/ChannelNumber>:256

要掃描的頻道清單。如果頻道清單空白,掃描要求會立即傳回 OnScanEnd,並附上 INVALID_ARGS 程式碼。

系統會忽略無效的管道號碼,管道號碼是否有效取決於目前的法規區域,而 FullMAC 驅動程式不一定能判斷區域設定。如果韌體會動態變更區域設定,就更可能發生這種情況。

ssids vector<fuchsia.wlan.ieee80211/Ssid>

要掃描的 SSID 清單。空白的 SSID 清單等同於僅包含萬用字元 SSID 的清單。

指定的 SSID 數量沒有上限。SSID 數量過多可能會導致掃描時間延長,因為硬體限制了每次掃描要求允許的 SSID 數量,且 IEEE 802.11-2016 的技術限制也將單一探測要求框架中的 SSID 數量限制為 ieee80211.SSID_LIST_MAX SSID。

min_channel_time uint32

掃描期間在管道上花費的最短時間 (以毫秒為單位)。

max_channel_time uint32

掃描期間在管道上花費的時間上限 (以毫秒為單位)。

WlanFullmacImplStartScheduledScanRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
txn_id uint64
req fuchsia.wlan.common/ScheduledScanRequest

WlanFullmacImplStopBssRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
ssid fuchsia.wlan.ieee80211/Ssid

WlanFullmacImplStopScheduledScanRequest

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
txn_id uint64

WlanFullmacImpl_GetApfPacketFilterEnabled_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
enabled bool

WlanFullmacImpl_GetScheduledScanEnabled_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
active_txn_ids vector<uint64>

WlanFullmacImpl_Init_Response 資源

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
sme_channel handle<channel>

SME 伺服器端管道。 必填。

WlanFullmacImpl_QueryApfPacketFilterSupport_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
resp fuchsia.wlan.common/ApfPacketFilterSupport

WlanFullmacImpl_QueryRssiMonitorSupport_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
resp fuchsia.wlan.common/RssiMonitorSupport

WlanFullmacImpl_QuerySecuritySupport_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
resp fuchsia.wlan.common/SecuritySupport

WlanFullmacImpl_QuerySpectrumManagementSupport_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
resp fuchsia.wlan.common/SpectrumManagementSupport

WlanFullmacImpl_QueryTelemetrySupport_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
resp fuchsia.wlan.stats/TelemetrySupport

WlanFullmacImpl_Query_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
sta_addr fuchsia.wlan.ieee80211/MacAddr

目前的充電站地址。必填。

role fuchsia.wlan.common/WlanMacRole

MAC 角色。必填。

band_caps vector<BandCapability>:16

支援的頻帶。必填。

factory_addr fuchsia.wlan.ieee80211/MacAddr

原廠 MAC 位址。必填。

WlanFullmacImpl_ReadApfPacketFilterData_Response

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
memory vector<uint8>

WlanFullmacOwePublicKey

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
group uint16
key vector<uint8>

WlanFullmacSignalReportIndication

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數欄位類型說明
rssi_dbm int8
snr_db int8
tx_rate_500kbps uint32

傳輸速率,單位為 500 kbit/s,這是 IEEE Std 802.11-2024 9.4.2.3 中支援速率的單位。

rx_rate_500kbps uint32

接收速率,以 500 kbit/s 為單位。

UNIONS

WlanFullmacImpl_GetApfPacketFilterEnabled_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_GetApfPacketFilterEnabled_Response
err zx/Status
framework_err internal

WlanFullmacImpl_GetIfaceHistogramStats_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_GetIfaceHistogramStats_Response
err zx/Status

WlanFullmacImpl_GetIfaceStats_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_GetIfaceStats_Response
err zx/Status

WlanFullmacImpl_GetScheduledScanEnabled_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_GetScheduledScanEnabled_Response
err zx/Status
framework_err internal

WlanFullmacImpl_GetSignalReport_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response fuchsia.wlan.stats/SignalReport
err zx/Status

WlanFullmacImpl_Init_Result strict resource

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_Init_Response
err zx/Status

WlanFullmacImpl_InstallApfPacketFilter_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_InstallApfPacketFilter_Response
err zx/Status
framework_err internal

WlanFullmacImpl_QueryApfPacketFilterSupport_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_QueryApfPacketFilterSupport_Response
err zx/Status
framework_err internal

WlanFullmacImpl_QueryRssiMonitorSupport_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_QueryRssiMonitorSupport_Response
err zx/Status
framework_err internal

WlanFullmacImpl_QuerySecuritySupport_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_QuerySecuritySupport_Response
err zx/Status

WlanFullmacImpl_QuerySpectrumManagementSupport_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_QuerySpectrumManagementSupport_Response
err zx/Status

WlanFullmacImpl_QueryTelemetrySupport_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_QueryTelemetrySupport_Response
err zx/Status

WlanFullmacImpl_Query_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_Query_Response
err zx/Status

WlanFullmacImpl_ReadApfPacketFilterData_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_ReadApfPacketFilterData_Response
err zx/Status
framework_err internal

WlanFullmacImpl_SetApfPacketFilterEnabled_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_SetApfPacketFilterEnabled_Response
err zx/Status
framework_err internal

WlanFullmacImpl_SetMacAddress_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_SetMacAddress_Response
err zx/Status

WlanFullmacImpl_StartRssiMonitor_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_StartRssiMonitor_Response
err zx/Status
framework_err internal

WlanFullmacImpl_StartScheduledScan_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_StartScheduledScan_Response
err zx/Status
framework_err internal

WlanFullmacImpl_StopRssiMonitor_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_StopRssiMonitor_Response
err zx/Status
framework_err internal

WlanFullmacImpl_StopScheduledScan_Result strict

定義於 fuchsia.wlan.fullmac/fullmac.fidl

序數Variant類型說明
response WlanFullmacImpl_StopScheduledScan_Response
err zx/Status
framework_err internal

常數

名稱值類型說明
WLAN_MAX_KEYLIST_SIZE 4 uint32
WLAN_VIE_MAX_LEN 514 uint32

要新增至關聯要求的供應商 IE 長度上限。目前用於 WPA。

服務

服務

定義於 fuchsia.wlan.fullmac/fullmac.fidl

名稱類型傳輸
wlan_fullmac_impl fuchsia.wlan.fullmac/WlanFullmacImpl 版本