fuchsia.wlan.softmac

新增時間:15 張

通訊協定

FrameProcessor

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

將乙太網路和 WLAN 影格從 wlansoftmac 驅動程式庫傳送至橋接器 wlansoftmac 驅動程式庫的通訊協定。

實驗

這個通訊協定是做為 wlansoftmac 驅動程式庫和橋接驅動程式庫之間的外函式介面 (FFI) 實作,目的是改善透過 wlan-mlme 程式庫處理資料影格的效能。

使用 FFI 時,透過這個通訊協定傳送的訊息絕對不會進入 FIDL 管道,因此不會產生相關聯的系統呼叫費用。我們發現,相較於使用 FIDL 管道實作這個通訊協定時,FFI 可以節省每個影格 500 μs 的處理順序。

已新增:HEAD

EthernetTx

要求

名稱類型
payload FrameProcessorEthernetTxRequest

回應

名稱類型
payload FrameProcessor_EthernetTx_Result

WlanRx

要求

名稱類型
payload FrameProcessorWlanRxRequest

回應

<EMPTY>

FrameSender

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

用於將乙太網路和 WLAN 影格從橋接的 wlansoftmac 驅動程式庫傳送至 wlansoftmac 驅動程式庫的通訊協定。

實驗

這個通訊協定是做為 wlansoftmac 驅動程式庫和橋接驅動程式庫之間的外函式介面 (FFI) 實作,目的是改善透過 wlan-mlme 程式庫處理資料影格的效能。

使用 FFI 時,透過這個通訊協定傳送的訊息絕對不會進入 FIDL 管道,因此不會產生相關聯的系統呼叫費用。我們發現,相較於使用 FIDL 管道實作這個通訊協定時,FFI 可以節省每個影格 500 μs 的處理順序。

已新增:HEAD

EthernetRx

要求

名稱類型
payload FrameSenderEthernetRxRequest

回應

名稱類型
payload FrameSender_EthernetRx_Result

WlanTx

要求

名稱類型
payload FrameSenderWlanTxRequest

回應

名稱類型
payload FrameSender_WlanTx_Result

WlanSoftmac

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

WlanSoftmac 是由第三方驅動程式實作的 SDK 版本化通訊協定。

新增時間:15 張

CancelScan

取消對應於 scan_id 的進行中掃描,其中 scan_idStartPassiveScan()StartActiveScan() 傳回的 ID。如果取消成功,伺服器很快就會使用相同的 scan_id 呼叫 WlanSoftmacIfc.ScanComplete()。

裝置驅動程式庫表示使用 fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported 支援 CancelScan()

常見錯誤包括:

  • ZX_ERR_NOT_FOUNDscan_id 與進行中的掃描作業不相符。
  • ZX_ERR_NOT_SUPPORTED:伺服器不支援掃描取消功能。
已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseCancelScanRequest

回應

名稱類型
payload WlanSoftmacBase_CancelScan_Result

ClearAssociation

通知 MAC 和 PHY,指出對等點已解除關聯。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseClearAssociationRequest

回應

名稱類型
payload WlanSoftmacBase_ClearAssociation_Result

DisableBeaconing

停用硬體信標。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_DisableBeaconing_Result

EnableBeaconing

啟用硬體信標。

在信標啟用時無法呼叫這個方法,因此如果已啟用信標,就必須先呼叫 DisableBeaconing,再呼叫此方法。

所有要求欄位皆為必填。

常見錯誤包括:

  • ZX_ERR_NOT_SUPPORTED:裝置不支援硬體信標。
  • ZX_ERR_INVALID_ARGS:裝置無法傳輸要求的信標。
  • ZX_ERR_BAD_STATE:裝置已在執行信標。
已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseEnableBeaconingRequest

回應

名稱類型
payload WlanSoftmacBase_EnableBeaconing_Result

InstallKey

傳送或接收受保護的影格時,安裝要加密的金鑰。

常見錯誤包括:ZX_ERR_INVALID_ARGS:指定的設定未指定有效的金鑰。ZX_ERR_NOT_SUPPORTED:裝置不支援指定的加密。

已新增:HEAD

要求

名稱類型
payload WlanKeyConfiguration

回應

名稱類型
payload WlanSoftmacBase_InstallKey_Result

JoinBss

加入我們即將加入的特定 BSS。無論我們是否已代管 BSS 或加入 BSS (在 JoinBssRequest 中以 remote 標記表示),裝置都會切換至正確的管道,並執行加入 BSS 所需的任何內部篩選/時間作業,因此都會套用這樣的情況。如果是客戶策略服務,此為驗證前的第一步。

常見錯誤包括:
ZX_ERR_NOT_SUPPORTED:裝置不支援指定的 bss 設定。

已新增:HEAD

要求

名稱類型
join_request fuchsia.wlan.common/JoinBssRequest

回應

名稱類型
payload WlanSoftmacBase_JoinBss_Result

NotifyAssociationComplete

連結成功後,裝置會通知裝置,並設定參與關聯所需的其他參數。

錯誤

常見錯誤包括:

  • ZX_ERR_BAD_STATE:裝置先前未透過 WlanSoftmac.JoinBss 通知此 BSS。
已新增:HEAD

要求

名稱類型
assoc_cfg WlanAssociationConfig

回應

名稱類型
payload WlanSoftmacBase_NotifyAssociationComplete_Result

查詢

取得裝置及其支援功能的一般資訊。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_Query_Result

QueryDiscoverySupport

取得裝置支援的車站探索功能 (例如掃描和探測) 功能相關資訊。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QueryDiscoverySupport_Result

QueryMacSublayerSupport

取得裝置支援的 MAC 功能的相關資訊。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫此方法。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QueryMacSublayerSupport_Result

QuerySecuritySupport

取得裝置支援安全性功能的相關資訊。 即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QuerySecuritySupport_Result

QuerySpectrumManagementSupport

取得頻譜使用情況的相關資訊 (例如DFS) 支援的功能。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QuerySpectrumManagementSupport_Result

QueueTx

將封包排入佇列以進行傳輸。系統可能會在封包實際傳輸之前 傳回結果。此呼叫不會取得在 WlanTxPacket 中傳遞的緩衝區擁有權。

無法將封包排入傳送佇列以處理傳輸的錯誤。因此,「OK」結果只表示封包已排入佇列,「並未」表示已成功傳送。

新增時間:15 張

要求

名稱類型
packet WlanTxPacket

回應

名稱類型
payload WlanSoftmac_QueueTx_Result

SetChannel

設定主要廣播管道,例如回應管道切換事件。如果成功的話,管道會立即切換。這可能會影響所有進行中的影格傳輸,也可能會幹擾進行中的掃描要求。

常見錯誤包括:
ZX_ERR_NOT_SUPPORTED:裝置無法切換至要求的管道。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseSetChannelRequest

回應

名稱類型
payload WlanSoftmacBase_SetChannel_Result

開始

向伺服器告知 MLME 何時已準備好傳送及接收影格。

用戶端提供下列引數:

  • ifcWlanSoftmaIfc 伺服器的用戶端端,伺服器會使用該伺服器將事件傳送至用戶端。

伺服器會傳回 fuchsia.wlan.mlme/MLME 通訊協定的伺服器端。iface 擁有用戶端的 SME。因此,這個管道用於 SME <-> MLME 通訊。

除非另有註明,否則只有在成功呼叫 WlanSoftmac.Start 後,才能呼叫 WlanSoftmac 方法。

常見錯誤包括:

  • ZX_ERR_ALREADY_BOUND:這個 softmac 已呼叫 Start
新增時間:15 張

要求

名稱類型
ifc WlanSoftmacIfc

回應

名稱類型
payload WlanSoftmac_Start_Result

StartActiveScan

開始主動掃描。伺服器會使用 WlanSoftmacIfc.Recv() 以 Beacon 或 Probe Response 框架傳送掃描結果。完成後,伺服器就會呼叫 WlanSoftmacIfc.ScanComplete(),並提供由 StartActiveScan() 傳回的相同 scan_id

裝置驅動程式庫表示使用 fuchsia.wlan.common/ProbeRequestOffloadExtension.supported 支援 StartActiveScan()

常見錯誤包括:ZX_ERR_INVALID_ARGS:裝置無法執行要求的掃描作業,例如要求使用不相容的管道。ZX_ERR_UNAVAILABLE:裝置目前無法執行掃描。 ZX_ERR_SHOULD_WAIT:目前正在進行另一項掃描作業。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacStartActiveScanRequest

回應

名稱類型
payload WlanSoftmacBase_StartActiveScan_Result

StartPassiveScan

啟動被動掃描。伺服器會使用 WlanSoftmacIfc.Recv() 以 Beacon 框架傳送掃描結果。完成後,伺服器會使用 StartPassiveScan() 傳回的相同 scan_id 呼叫 WlanSoftmacIfc.ScanComplete()。

伺服器表示使用 fuchsia.wlan.common/ScanOffloadExtension.supported 支援 StartPassiveScan()

常見錯誤包括:ZX_ERR_INVALID_ARGS:裝置無法執行要求的掃描作業,例如要求使用不相容的管道。ZX_ERR_UNAVAILABLE:裝置目前無法執行掃描。 ZX_ERR_SHOULD_WAIT:目前正在進行另一項掃描作業。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseStartPassiveScanRequest

回應

名稱類型
payload WlanSoftmacBase_StartPassiveScan_Result

停止

如果 softmac 正在執行,請關閉 softmac。 在 softmac 未執行時呼叫安全。

新增時間:15 張

要求

<EMPTY>

回應

<EMPTY>

UpdateWmmParameters

針對特定存取類別 (AC),指出已修改的 Wi-Fi 多媒體 (WMM) 參數的裝置。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseUpdateWmmParametersRequest

回應

名稱類型
payload WlanSoftmacBase_UpdateWmmParameters_Result

WlanSoftmacBase

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

WlanSoftmacBase 是專用於 WlanSoftmacBridgeWlanSoftmac 的範本通訊協定。WlanSoftmacBase 包含 WlanSoftmacBridgeWlanSoftmac 共同使用的所有方法。請勿直接實作 WlanSoftmacBase

注意:所有方法在從 WlanSoftmac 遷移至此通訊協定後,都會使用 selector 屬性來維持其序數。為維持 API 相容性,這是必要步驟。

已新增:HEAD

CancelScan

取消對應於 scan_id 的進行中掃描,其中 scan_idStartPassiveScan()StartActiveScan() 傳回的 ID。如果取消成功,伺服器很快就會使用相同的 scan_id 呼叫 WlanSoftmacIfc.ScanComplete()。

裝置驅動程式庫表示使用 fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported 支援 CancelScan()

常見錯誤包括:

  • ZX_ERR_NOT_FOUNDscan_id 與進行中的掃描作業不相符。
  • ZX_ERR_NOT_SUPPORTED:伺服器不支援掃描取消功能。
已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseCancelScanRequest

回應

名稱類型
payload WlanSoftmacBase_CancelScan_Result

ClearAssociation

通知 MAC 和 PHY,指出對等點已解除關聯。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseClearAssociationRequest

回應

名稱類型
payload WlanSoftmacBase_ClearAssociation_Result

DisableBeaconing

停用硬體信標。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_DisableBeaconing_Result

EnableBeaconing

啟用硬體信標。

在信標啟用時無法呼叫這個方法,因此如果已啟用信標,就必須先呼叫 DisableBeaconing,再呼叫此方法。

所有要求欄位皆為必填。

常見錯誤包括:

  • ZX_ERR_NOT_SUPPORTED:裝置不支援硬體信標。
  • ZX_ERR_INVALID_ARGS:裝置無法傳輸要求的信標。
  • ZX_ERR_BAD_STATE:裝置已在執行信標。
已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseEnableBeaconingRequest

回應

名稱類型
payload WlanSoftmacBase_EnableBeaconing_Result

InstallKey

傳送或接收受保護的影格時,安裝要加密的金鑰。

常見錯誤包括:ZX_ERR_INVALID_ARGS:指定的設定未指定有效的金鑰。ZX_ERR_NOT_SUPPORTED:裝置不支援指定的加密。

已新增:HEAD

要求

名稱類型
payload WlanKeyConfiguration

回應

名稱類型
payload WlanSoftmacBase_InstallKey_Result

JoinBss

加入我們即將加入的特定 BSS。無論我們是否已代管 BSS 或加入 BSS (在 JoinBssRequest 中以 remote 標記表示),裝置都會切換至正確的管道,並執行加入 BSS 所需的任何內部篩選/時間作業,因此都會套用這樣的情況。如果是客戶策略服務,此為驗證前的第一步。

常見錯誤包括:
ZX_ERR_NOT_SUPPORTED:裝置不支援指定的 bss 設定。

已新增:HEAD

要求

名稱類型
join_request fuchsia.wlan.common/JoinBssRequest

回應

名稱類型
payload WlanSoftmacBase_JoinBss_Result

NotifyAssociationComplete

連結成功後,裝置會通知裝置,並設定參與關聯所需的其他參數。

錯誤

常見錯誤包括:

  • ZX_ERR_BAD_STATE:裝置先前未透過 WlanSoftmac.JoinBss 通知此 BSS。
已新增:HEAD

要求

名稱類型
assoc_cfg WlanAssociationConfig

回應

名稱類型
payload WlanSoftmacBase_NotifyAssociationComplete_Result

查詢

取得裝置及其支援功能的一般資訊。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_Query_Result

QueryDiscoverySupport

取得裝置支援的車站探索功能 (例如掃描和探測) 功能相關資訊。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QueryDiscoverySupport_Result

QueryMacSublayerSupport

取得裝置支援的 MAC 功能的相關資訊。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫此方法。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QueryMacSublayerSupport_Result

QuerySecuritySupport

取得裝置支援安全性功能的相關資訊。 即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QuerySecuritySupport_Result

QuerySpectrumManagementSupport

取得頻譜使用情況的相關資訊 (例如DFS) 支援的功能。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QuerySpectrumManagementSupport_Result

SetChannel

設定主要廣播管道,例如回應管道切換事件。如果成功的話,管道會立即切換。這可能會影響所有進行中的影格傳輸,也可能會幹擾進行中的掃描要求。

常見錯誤包括:
ZX_ERR_NOT_SUPPORTED:裝置無法切換至要求的管道。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseSetChannelRequest

回應

名稱類型
payload WlanSoftmacBase_SetChannel_Result

StartActiveScan

開始主動掃描。伺服器會使用 WlanSoftmacIfc.Recv() 以 Beacon 或 Probe Response 框架傳送掃描結果。完成後,伺服器就會呼叫 WlanSoftmacIfc.ScanComplete(),並提供由 StartActiveScan() 傳回的相同 scan_id

裝置驅動程式庫表示使用 fuchsia.wlan.common/ProbeRequestOffloadExtension.supported 支援 StartActiveScan()

常見錯誤包括:ZX_ERR_INVALID_ARGS:裝置無法執行要求的掃描作業,例如要求使用不相容的管道。ZX_ERR_UNAVAILABLE:裝置目前無法執行掃描。 ZX_ERR_SHOULD_WAIT:目前正在進行另一項掃描作業。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacStartActiveScanRequest

回應

名稱類型
payload WlanSoftmacBase_StartActiveScan_Result

StartPassiveScan

啟動被動掃描。伺服器會使用 WlanSoftmacIfc.Recv() 以 Beacon 框架傳送掃描結果。完成後,伺服器會使用 StartPassiveScan() 傳回的相同 scan_id 呼叫 WlanSoftmacIfc.ScanComplete()。

伺服器表示使用 fuchsia.wlan.common/ScanOffloadExtension.supported 支援 StartPassiveScan()

常見錯誤包括:ZX_ERR_INVALID_ARGS:裝置無法執行要求的掃描作業,例如要求使用不相容的管道。ZX_ERR_UNAVAILABLE:裝置目前無法執行掃描。 ZX_ERR_SHOULD_WAIT:目前正在進行另一項掃描作業。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseStartPassiveScanRequest

回應

名稱類型
payload WlanSoftmacBase_StartPassiveScan_Result

UpdateWmmParameters

針對特定存取類別 (AC),指出已修改的 Wi-Fi 多媒體 (WMM) 參數的裝置。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseUpdateWmmParametersRequest

回應

名稱類型
payload WlanSoftmacBase_UpdateWmmParameters_Result

WlanSoftmacBridge

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

WlanSoftmacBridgewlansoftmac 驅動程式庫提供給橋接驅動程式庫的通訊協定。這個通訊協定不應由廠商驅動程式庫導入。

新增時間:15 張

CancelScan

取消對應於 scan_id 的進行中掃描,其中 scan_idStartPassiveScan()StartActiveScan() 傳回的 ID。如果取消成功,伺服器很快就會使用相同的 scan_id 呼叫 WlanSoftmacIfc.ScanComplete()。

裝置驅動程式庫表示使用 fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported 支援 CancelScan()

常見錯誤包括:

  • ZX_ERR_NOT_FOUNDscan_id 與進行中的掃描作業不相符。
  • ZX_ERR_NOT_SUPPORTED:伺服器不支援掃描取消功能。
已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseCancelScanRequest

回應

名稱類型
payload WlanSoftmacBase_CancelScan_Result

ClearAssociation

通知 MAC 和 PHY,指出對等點已解除關聯。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseClearAssociationRequest

回應

名稱類型
payload WlanSoftmacBase_ClearAssociation_Result

DisableBeaconing

停用硬體信標。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_DisableBeaconing_Result

EnableBeaconing

啟用硬體信標。

在信標啟用時無法呼叫這個方法,因此如果已啟用信標,就必須先呼叫 DisableBeaconing,再呼叫此方法。

所有要求欄位皆為必填。

常見錯誤包括:

  • ZX_ERR_NOT_SUPPORTED:裝置不支援硬體信標。
  • ZX_ERR_INVALID_ARGS:裝置無法傳輸要求的信標。
  • ZX_ERR_BAD_STATE:裝置已在執行信標。
已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseEnableBeaconingRequest

回應

名稱類型
payload WlanSoftmacBase_EnableBeaconing_Result

InstallKey

傳送或接收受保護的影格時,安裝要加密的金鑰。

常見錯誤包括:ZX_ERR_INVALID_ARGS:指定的設定未指定有效的金鑰。ZX_ERR_NOT_SUPPORTED:裝置不支援指定的加密。

已新增:HEAD

要求

名稱類型
payload WlanKeyConfiguration

回應

名稱類型
payload WlanSoftmacBase_InstallKey_Result

JoinBss

加入我們即將加入的特定 BSS。無論我們是否已代管 BSS 或加入 BSS (在 JoinBssRequest 中以 remote 標記表示),裝置都會切換至正確的管道,並執行加入 BSS 所需的任何內部篩選/時間作業,因此都會套用這樣的情況。如果是客戶策略服務,此為驗證前的第一步。

常見錯誤包括:
ZX_ERR_NOT_SUPPORTED:裝置不支援指定的 bss 設定。

已新增:HEAD

要求

名稱類型
join_request fuchsia.wlan.common/JoinBssRequest

回應

名稱類型
payload WlanSoftmacBase_JoinBss_Result

NotifyAssociationComplete

連結成功後,裝置會通知裝置,並設定參與關聯所需的其他參數。

錯誤

常見錯誤包括:

  • ZX_ERR_BAD_STATE:裝置先前未透過 WlanSoftmac.JoinBss 通知此 BSS。
已新增:HEAD

要求

名稱類型
assoc_cfg WlanAssociationConfig

回應

名稱類型
payload WlanSoftmacBase_NotifyAssociationComplete_Result

查詢

取得裝置及其支援功能的一般資訊。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_Query_Result

QueryDiscoverySupport

取得裝置支援的車站探索功能 (例如掃描和探測) 功能相關資訊。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QueryDiscoverySupport_Result

QueryMacSublayerSupport

取得裝置支援的 MAC 功能的相關資訊。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫此方法。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QueryMacSublayerSupport_Result

QuerySecuritySupport

取得裝置支援安全性功能的相關資訊。 即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QuerySecuritySupport_Result

QuerySpectrumManagementSupport

取得頻譜使用情況的相關資訊 (例如DFS) 支援的功能。即使 SoftMAC 尚未啟動,此方法也可以放心呼叫。

已新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload WlanSoftmacBase_QuerySpectrumManagementSupport_Result

SetChannel

設定主要廣播管道,例如回應管道切換事件。如果成功的話,管道會立即切換。這可能會影響所有進行中的影格傳輸,也可能會幹擾進行中的掃描要求。

常見錯誤包括:
ZX_ERR_NOT_SUPPORTED:裝置無法切換至要求的管道。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseSetChannelRequest

回應

名稱類型
payload WlanSoftmacBase_SetChannel_Result

SetEthernetStatus

將含有 ETHERNET_STATUS_* 標記的狀態轉送至 wlansoftmac 中 C++ 擁有的 fuchsia.hardware.ethernet/EthernetImplIfc Proxy。

如說明文件所述,status 的值是由 ETHERNET_STATUS_* 標記中定義的位元設定。不過,只有一個 ETHERNET_STATUS_ONLINE 標記,且沒有指定任何標記意義的規格。實際上,0x1 表示狀態上升,0x0 表示狀態已下降。

雖然這個方法應屬於類似「EthernetImplIfcBridge 通訊協定」,但為了方便起見,將其納入 WlanSoftmacBridge 通訊協定中。wlansoftmac 驅動程式庫最終會停止使用 fuchsia.hardware.ethernet/EthernetImplIfc Proxy,並改用 fuchsia.hardware.network.driver/NetworkDeviceIfc Proxy。屆時,這個方法的相等性應重構為獨立的橋接器。

已新增:HEAD

要求

名稱類型
status uint32

回應

<EMPTY>

開始

向伺服器告知 MLME 何時已準備好傳送及接收影格。

用戶端提供下列引數:

  • ifc_bridgeWlanSoftmacIfcBridge 伺服器的用戶端端,wlansoftmac 驅動程式會使用此伺服器將 WlanSoftmacIfc 事件轉送至橋接驅動程式庫。
  • frame_processor:轉換為 uint64frame_processor_t*frame_processor_t 是在 //src/connectivity/wlan/drivers/wlansoftmac/rust_driver/c-binding/bindings.h 中定義。

伺服器必須先複製 frame_processor_t 的內容,才能透過這個方法傳回。frame_processor_t* 的生命週期只與此方法呼叫相同,但 frame_processor_t 的內容將存在,直到伺服器停止 MLME 為止。

伺服器會傳回 fuchsia.wlan.mlme/MLME 通訊協定的伺服器端。iface 擁有用戶端的 SME。因此,這個管道用於 SME <-> MLME 通訊。

WlanSoftmacBridge.Start 方法與 WlanSoftmac.Start 不同,原因有兩個。首先,Rust 傳輸的通訊協定不存在 Rust 繫結,因此 WlanSoftmacIfcBridge 通訊協定必須傳輸 Zircon,才能供橋接驅動程式庫使用。其次,Zircon 傳輸會比驅動程式傳輸增加大量延遲時間。因此,frame_processor 引數會為 wlansoftmac 驅動程式庫提供 FFI,以便將乙太網路和 WLAN 封包傳送至橋接驅動程式庫,而且這類封包的延遲可相近,或優於驅動程式傳輸的通訊協定。

除非另有註明,否則只有在成功呼叫 WlanSoftmacBridge.Start 後,才能呼叫 WlanSoftmacBridge 方法。

常見錯誤包括:

  • ZX_ERR_ALREADY_BOUND:這個 softmac 已呼叫 Start
已新增:HEAD

要求

名稱類型
ifc_bridge WlanSoftmacIfcBridge
frame_processor uint64

回應

名稱類型
payload WlanSoftmacBridge_Start_Result

StartActiveScan

開始主動掃描。伺服器會使用 WlanSoftmacIfc.Recv() 以 Beacon 或 Probe Response 框架傳送掃描結果。完成後,伺服器就會呼叫 WlanSoftmacIfc.ScanComplete(),並提供由 StartActiveScan() 傳回的相同 scan_id

裝置驅動程式庫表示使用 fuchsia.wlan.common/ProbeRequestOffloadExtension.supported 支援 StartActiveScan()

常見錯誤包括:ZX_ERR_INVALID_ARGS:裝置無法執行要求的掃描作業,例如要求使用不相容的管道。ZX_ERR_UNAVAILABLE:裝置目前無法執行掃描。 ZX_ERR_SHOULD_WAIT:目前正在進行另一項掃描作業。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacStartActiveScanRequest

回應

名稱類型
payload WlanSoftmacBase_StartActiveScan_Result

StartPassiveScan

啟動被動掃描。伺服器會使用 WlanSoftmacIfc.Recv() 以 Beacon 框架傳送掃描結果。完成後,伺服器會使用 StartPassiveScan() 傳回的相同 scan_id 呼叫 WlanSoftmacIfc.ScanComplete()。

伺服器表示使用 fuchsia.wlan.common/ScanOffloadExtension.supported 支援 StartPassiveScan()

常見錯誤包括:ZX_ERR_INVALID_ARGS:裝置無法執行要求的掃描作業,例如要求使用不相容的管道。ZX_ERR_UNAVAILABLE:裝置目前無法執行掃描。 ZX_ERR_SHOULD_WAIT:目前正在進行另一項掃描作業。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseStartPassiveScanRequest

回應

名稱類型
payload WlanSoftmacBase_StartPassiveScan_Result

UpdateWmmParameters

針對特定存取類別 (AC),指出已修改的 Wi-Fi 多媒體 (WMM) 參數的裝置。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacBaseUpdateWmmParametersRequest

回應

名稱類型
payload WlanSoftmacBase_UpdateWmmParameters_Result

WlanSoftmacIfc

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

新增時間:15 張

NotifyScanComplete

記錄與不重複 scan_id 相關聯的掃描作業已完成。status 表示掃描是否順利完成、因錯誤失敗或已取消。

傳回狀態代表掃描完成的原因: ZX_OK:已成功掃描所有頻道。 ZX_ERR_CANCELLED:使用者要求 (例如明確的 WlanSoftmac.CancelScan() 或啟動不相容的要求 (例如連線)) 而終止掃描。ZX_ERR_OUT_OF_RANGE:掃描要求包含禁止的管道。 這可能是受到目前的國家/地區設定影響。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacIfcBaseNotifyScanCompleteRequest

回應

<EMPTY>

最佳化建議

轉送透過無線媒介收到的封包。

要求

名稱類型
packet WlanRxPacket

回應

<EMPTY>

ReportTxResult

回報有人嘗試傳輸的結果。

裝置驅動程式庫表示使用 fuchsia.wlan.common/DeviceExtension.report_tx_result_supported 支援 ReportTxResult()

已新增:HEAD

要求

名稱類型
tx_result fuchsia.wlan.common/WlanTxResult

回應

<EMPTY>

WlanSoftmacIfcBase

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

通訊協定包含 WlanSoftmacIfcWlanSoftmacIfcBridge 共同的方法。

WlanSoftmacIfcWlanSoftmacIfcBridge 通訊協定有常見的方法,因為後者通常會將 wlansoftmac 驅動程式庫中收到的 WlanSoftmacIfc 要求轉送至橋接驅動程式庫中的 WlanSoftmacIfcBridge 要求。將此通訊協定傳遞至 WlanSoftmacIfcWlanSoftmacIfcBridge 可盡量減少方法定義 (以及因此類重複而引發的相關要求轉換) 的重複情形。

這個通訊協定不會直接由任何元件實作。可由 WlanSoftmacIfcWlanSoftmacIfcBridge 組成。

已新增:HEAD

NotifyScanComplete

記錄與不重複 scan_id 相關聯的掃描作業已完成。status 表示掃描是否順利完成、因錯誤失敗或已取消。

傳回狀態代表掃描完成的原因: ZX_OK:已成功掃描所有頻道。 ZX_ERR_CANCELLED:使用者要求 (例如明確的 WlanSoftmac.CancelScan() 或啟動不相容的要求 (例如連線)) 而終止掃描。ZX_ERR_OUT_OF_RANGE:掃描要求包含禁止的管道。 這可能是受到目前的國家/地區設定影響。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacIfcBaseNotifyScanCompleteRequest

回應

<EMPTY>

ReportTxResult

回報有人嘗試傳輸的結果。

裝置驅動程式庫表示使用 fuchsia.wlan.common/DeviceExtension.report_tx_result_supported 支援 ReportTxResult()

已新增:HEAD

要求

名稱類型
tx_result fuchsia.wlan.common/WlanTxResult

回應

<EMPTY>

WlanSoftmacIfcBridge

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

這個通訊協定可將 WlanSoftmacIfc 要求從 wlansoftmac 驅動程式庫傳輸至橋接驅動程式庫。

這個通訊協定應一律位於 HEAD,因為這是僅限樹狀結構內通訊協定。 只有這個通訊協定存在,因為 Rust 無法實作 wlansoftmac,而且必須與 wlansoftmac-c、wlansoftmac-rust 和 wlan-mlme Rust crates 互動。

已新增:HEAD

NotifyScanComplete

記錄與不重複 scan_id 相關聯的掃描作業已完成。status 表示掃描是否順利完成、因錯誤失敗或已取消。

傳回狀態代表掃描完成的原因: ZX_OK:已成功掃描所有頻道。 ZX_ERR_CANCELLED:使用者要求 (例如明確的 WlanSoftmac.CancelScan() 或啟動不相容的要求 (例如連線)) 而終止掃描。ZX_ERR_OUT_OF_RANGE:掃描要求包含禁止的管道。 這可能是受到目前的國家/地區設定影響。

已新增:HEAD

要求

名稱類型
payload WlanSoftmacIfcBaseNotifyScanCompleteRequest

回應

<EMPTY>

ReportTxResult

回報有人嘗試傳輸的結果。

裝置驅動程式庫表示使用 fuchsia.wlan.common/DeviceExtension.report_tx_result_supported 支援 ReportTxResult()

已新增:HEAD

要求

名稱類型
tx_result fuchsia.wlan.common/WlanTxResult

回應

<EMPTY>

StopBridgedDriver

停止橋接驅動程式庫。

呼叫這個方法會同時導致此通訊協定 (WlanSoftmacIfcBridge) 的伺服器端關閉,以及 WlanSoftmacBridge 的用戶端結束。待處理所有排入佇列的事件後,伺服器才會傳回此方法的回應。

實際運作時,wlansoftmac 驅動程式庫會在解除繫結期間呼叫這個方法。

已新增:HEAD

要求

<EMPTY>

回應

<EMPTY>

結構化

FrameProcessor_EthernetTx_Response

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

<EMPTY>

FrameSender_EthernetRx_Response

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

<EMPTY>

FrameSender_WlanTx_Response

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

<EMPTY>

WlanRxInfo

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

新增時間:15 張

廣闊類型說明預設
rx_flags WlanRxInfoFlags

接收旗標。這些標記代表布林值標記,而不是列舉或值型資訊,如下所示。值應取自 WLAN_RX_INFO_FLAGS_* 列舉。

無預設
valid_fields WlanRxInfoValid

位元遮罩,指出以下哪些欄位在這個結構中有效。保留的標記必須為零。

無預設
phy fuchsia.wlan.common/WlanPhyType

作業當下的裝置 PHY 格式。

無預設
data_rate uint32

裝置的資料速率 (以每秒 0.5 Mb 為單位)。

無預設
channel fuchsia.wlan.common/WlanChannel

作業當下的裝置版本。必須加入此欄位。

無預設
mcs uint8

操作時的裝置模樣和編碼配置索引。視 PHY 格式和管道寬度而定。

無預設
rssi_dbm int8

已接收訊號強度指標。

無預設
snr_dbh int16

訊號到噪音比率,單位為 0.5 dB。

無預設

WlanRxPacket

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

新增時間:15 張

廣闊類型說明預設
mac_frame vector<uint8> 無預設
info WlanRxInfo 無預設

WlanSoftmacBase_CancelScan_Response

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

<EMPTY>

WlanSoftmacBase_ClearAssociation_Response

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

<EMPTY>

WlanSoftmacBase_DisableBeaconing_Response

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

<EMPTY>

WlanSoftmacBase_EnableBeaconing_Response

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

<EMPTY>

WlanSoftmacBase_InstallKey_Response

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

<EMPTY>

WlanSoftmacBase_JoinBss_Response

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

<EMPTY>

WlanSoftmacBase_NotifyAssociationComplete_Response

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

<EMPTY>

WlanSoftmacBase_QueryDiscoverySupport_Response

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

廣闊類型說明預設
resp fuchsia.wlan.common/DiscoverySupport 無預設

WlanSoftmacBase_QueryMacSublayerSupport_Response

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

廣闊類型說明預設
resp fuchsia.wlan.common/MacSublayerSupport 無預設

WlanSoftmacBase_QuerySecuritySupport_Response

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

廣闊類型說明預設
resp fuchsia.wlan.common/SecuritySupport 無預設

WlanSoftmacBase_QuerySpectrumManagementSupport_Response

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

廣闊類型說明預設
resp fuchsia.wlan.common/SpectrumManagementSupport 無預設

WlanSoftmacBase_SetChannel_Response

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

<EMPTY>

WlanSoftmacBase_UpdateWmmParameters_Response

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

<EMPTY>

WlanSoftmacBridge_Start_Response 資源

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

廣闊類型說明預設
sme_channel handle<channel> 無預設

WlanSoftmac_QueueTx_Response

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

<EMPTY>

WlanSoftmac_Start_Response 資源

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

廣闊類型說明預設
sme_channel handle<channel> 無預設

WlanTxInfo

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

新增時間:15 張

廣闊類型說明預設
tx_flags uint32

傳輸旗標。這些代表布林值選項,而不是列舉或其他以值為基礎的資訊,如下所示。值應取自 WLAN_TX_INFO_FLAGS_* 列舉。

無預設
valid_fields uint32

位元遮罩,指出以下哪些欄位在這個結構中有效。保留的標記必須為零。對於未以標記表示的欄位值,可由 softmac 驅動程式庫自行選擇。

無預設
tx_vector_idx uint16 無預設
phy fuchsia.wlan.common/WlanPhyType 無預設
channel_bandwidth fuchsia.wlan.common/ChannelBandwidth 無預設
mcs uint8

這個封包的修改與編碼配置索引。視 PHY 格式和管道寬度而定。

無預設

WlanTxPacket

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

新增時間:15 張

廣闊類型說明預設
mac_frame vector<uint8> 無預設
info WlanTxInfo

傳送封包時需要的其他資料。TODO(https://fxbug.dev/42056823):iwlwifi 會忽略此欄位。

無預設

ENUMS

WlanProtection 嚴格

類型:uint8

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

新增時間:15 張

名稱物超所值說明
0
1
2
3

資料表

FrameProcessorEthernetTxRequest

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

序數廣闊類型說明
packet_address uint64
packet_size uint64
async_id uint64

FrameProcessorWlanRxRequest

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

序數廣闊類型說明
packet_address uint64
packet_size uint64
packet_info WlanRxInfo
async_id uint64

FrameSenderEthernetRxRequest

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

序數廣闊類型說明
packet_address uint64
packet_size uint64

FrameSenderWlanTxRequest

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

序數廣闊類型說明
packet_address uint64
packet_size uint64
packet_info WlanTxInfo
async_id uint64

WlanAssociationConfig

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

要做為單一引數傳遞至 WlanSoftmac.NotifyAssociationComplete 的引數資料表。這裡的所有資訊只與指定的 peer_addr 關聯相關。除非另有說明,否則這個表格中的所有欄位均為必填。

新增時間:15 張

序數廣闊類型說明
bssid fuchsia.wlan.ieee80211/MacAddr

我們現在與之對等點的 MAC 位址。

aid uint16

此特定關聯的專屬 ID。這個編號在有效關聯中是獨一無二的,但不一定是歷史關聯。

listen_interval uint16
channel fuchsia.wlan.common/WlanChannel

我們與這個同類群組相關聯的頻道。

qos bool

QoS 功能與參數

wmm_params fuchsia.wlan.common/WlanWmmParameters

WFA WMM 1.2、2.2.2

rates vector<uint8>[263]

將 SupportRate 和 ExtendedSupportedRates 串連 IEEE Std 802.11-2016、9.4.2.3 和 9.4.2.13

capability_info uint16

IEEE Std 802.11-2016, 9.4.1.4

ht_cap fuchsia.wlan.ieee80211/HtCapabilities

在「支援的 MCS 組合」欄位中,IEEE Std 802.11-2016、9.4.2.56、57 Rx MCS 位元遮罩代表了對等裝置從這部裝置接收的 MCS 組合,考慮此裝置的 Tx 能力。

ht_op fuchsia.wlan.ieee80211/HtOperation
vht_cap fuchsia.wlan.ieee80211/VhtCapabilities

IEEE Std 802.11-2016、9.4.2.158、159

vht_op fuchsia.wlan.ieee80211/VhtOperation

WlanKeyConfiguration

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

新增時間:15 張

序數廣闊類型說明
protection WlanProtection

要保護的路徑:無、TX、RX 或 TX 和 RX。

cipher_oui uint8[3]

IEEE 加密套件選取器。請參閱 IEEE Std 802.11-2016、9.4.2.25.2、表 9-131

cipher_type uint8
key_type fuchsia.wlan.common/WlanKeyType

這組金鑰為配對、群組或對等金鑰。

peer_addr fuchsia.wlan.ieee80211/MacAddr

配對金鑰和對等金鑰的對等 MAC 位址。如果是群組鍵,這個值一律為廣播位址。

key_idx uint8

輪替金鑰的索引,例如群組金鑰。如果金鑰類型 (例如配對鍵),這個值一律為 0。

key vector<uint8>[32]
rsc uint64

僅接收群組金鑰的序列計數器。在所有其他情況下,RSC 都會是 0。

WlanSoftmacBandCapability

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

說明特定錶帶上的 SoftMAC 功能。

新增時間:15 張

序數廣闊類型說明
band fuchsia.wlan.common/WlanBand

此資料圖描述的功能適用的頻帶。

basic_rate_count uint8

支援的基本費率計數。如果有 basic_rate_list 欄位,則這個欄位「必須」存在,且必須basic_rate_list 欄位一致。

淘汰

這個欄位已由 basic_rates 取代。如果伺服器 (即驅動程式) 的目標平台版本在 basic_rate_count 已淘汰,請將其省略,並將基本費率寫入 basic_rates 欄位。用戶端嘗試在 basic_rate_count之前讀取 basic_rates

已淘汰:15
basic_rate_list uint8[12]

支援的基本費率組合,以 500 Kbit/s 為單位 (如 IEEE Std 802.11-2016、9.4.2.3 所定義),例如0x02 表示 1 Mbps。這個組合代表裝置同時支援傳輸和接收的所有非 HT 速率。

這個欄位中顯示的費率必須basic_rate_count 欄位 (如有) 一致。

淘汰

這個欄位已由 basic_rates 取代。如果伺服器 (即驅動程式) 的目標平台版本在 basic_rate_list 已淘汰,請將其省略,並將基本費率寫入 basic_rates 欄位。用戶端嘗試在 basic_rate_list之前讀取 basic_rates

已淘汰:15
ht_supported bool

決定用戶端是否應讀取 ht_caps 欄位。如果裝置支援 HT PHY 模式,則 ht_supported「必須」為 true,且「必須」設定 ht_caps 欄位,並提供描述 HT 功能的資料。這些欄位的任何其他設定都代表裝置「不」支援 HT PHY 模式。查看《HtCapabilities》。

淘汰

這個欄位會決定用戶端是否讀取 ht_caps 欄位,但由於可設定或取消設定 ht_caps 等資料表欄位,因此不一定必要。如果伺服器 (例如驅動程式) 的目標平台版本在 ht_supported 已淘汰,應一律將欄位設為 true,如果裝置支援 HT PHY 模式,則請取消 ht_caps。如果裝置不支援,則請取消設定 ht_caps

已淘汰:15
ht_caps fuchsia.wlan.ieee80211/HtCapabilities
vht_supported bool

決定用戶端是否應讀取 vht_caps 欄位。如果裝置支援 VHT PHY 模式,則 vht_supported「必須」為 true,且「必須」設定 vht_caps 欄位,並提供描述 VHT 功能的資料。這些欄位的任何其他設定都代表裝置「不」支援 VHT PHY 模式。查看《VhtCapabilities》。

淘汰

這個欄位會決定用戶端是否讀取 vht_caps 欄位,但由於可設定或取消設定 vht_caps 等資料表欄位,因此不一定必要。如果伺服器 (例如驅動程式) 的目標平台版本在 vht_supported 已淘汰,應一律將欄位設為 true,如果裝置支援 VHT PHY 模式,則請取消 vht_caps。如果裝置不支援,則請取消設定 vht_caps

已淘汰:15
vht_caps fuchsia.wlan.ieee80211/VhtCapabilities
operating_channel_count uint16

運作管道的數量。如果有 operating_channel_list 欄位,則這個欄位「必須」存在,且必須operating_channel_list 欄位一致。

淘汰

這個欄位已由 operating_channels 取代。如果伺服器 (即驅動程式) 的目標平台版本在 operating_channel_count 已淘汰,則應省略該版本,並改為將運作管道寫入 operating_channels 欄位。用戶端在 operating_channel_count 之前嘗試讀取 operating_channels

已淘汰:15
operating_channel_list uint8[256]

在建立 iface 時,裝置驅動程式庫根據監管資訊決定的有效作業管道組合。運作管道是指 AP 可能傳輸信標框架的管道。

這個欄位中顯示的管道數量必須operating_channel_count 欄位 (如有) 一致。

淘汰

這個欄位已由 operating_channels 取代。如果伺服器 (即驅動程式) 的目標平台版本在 operating_channel_list 已淘汰,則應省略該版本,並改為將運作管道寫入 operating_channels 欄位。用戶端在 operating_channel_list 之前嘗試讀取 operating_channels

已淘汰:15
basic_rates vector<uint8>[12]

支援的基本費率組合,以 500 Kbit/s 為單位 (如 IEEE Std 802.11-2016、9.4.2.3 所定義),例如0x02 表示 1 Mbps。這個組合代表裝置同時支援傳輸和接收的所有非 HT 速率。

新增時間:15 張
operating_channels vector<uint8>[256]

在建立 iface 時,裝置驅動程式庫根據監管資訊決定的有效作業管道組合。運作管道是指 AP 可能傳輸信標框架的管道。

用戶端必須使用這個組合來判斷後續要求使用 iface 掃描部分管道的功效,或決定啟動 AP 時要使用的操作通道。

新增時間:15 張

WlanSoftmacBaseCancelScanRequest

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

序數廣闊類型說明
scan_id uint64

WlanSoftmacBaseClearAssociationRequest

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

序數廣闊類型說明
peer_addr fuchsia.wlan.ieee80211/MacAddr

WlanSoftmacBaseEnableBeaconingRequest

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

序數廣闊類型說明
packet_template WlanTxPacket

信標範本。由於這是範本,部分封包內容只能包含最低有效資訊,因為之後內容會由硬體、韌體或軟體修改。

tim_ele_offset uint64

packet_template 欄位開頭的 TIM 偏移 (以位元組為單位)。且必須為 TIM IE 的第一個位元組建立索引,也就是代碼 ID。

beacon_interval uint16

TU 中的信標區間

WlanSoftmacBaseSetChannelRequest

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

序數廣闊類型說明
channel fuchsia.wlan.common/WlanChannel

WlanSoftmacBaseStartPassiveScanRequest

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

序數廣闊類型說明
channels vector<uint8>[256]

要掃描的頻道清單。如果管道清單空白,掃描要求會立即傳回 ZX_ERR_INVALID_ARGS。

系統會將無效的管道號碼忽略,不顯示通知。管道號碼是否有效,取決於目前的監管區域,且 SoftMAC 驅動程式無法隨時決定地區設定。尤其是韌體以動態方式變更區域設定時。

這是必要參數。

min_channel_time zx/Duration

在掃描期間,每個管道支出的最短時間長度。

max_channel_time zx/Duration

掃描期間購買各個管道的時間長度上限。

min_home_time zx/Duration

在主畫面管道對應至各個管道的停留時間下限之間,裝置停留時間最短應在未掃描的情況下顯示。

WlanSoftmacBaseUpdateWmmParametersRequest

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

序數廣闊類型說明
ac fuchsia.wlan.ieee80211/WlanAccessCategory
params fuchsia.wlan.common/WlanWmmParameters

WlanSoftmacBase_StartActiveScan_Response

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

序數廣闊類型說明
scan_id uint64

WlanSoftmacBase_StartPassiveScan_Response

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

序數廣闊類型說明
scan_id uint64

WlanSoftmacIfcBaseNotifyScanCompleteRequest

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

序數廣闊類型說明
status zx/Status
scan_id uint64

WlanSoftmacQueryResponse

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

說明執行中 softmac 狀態的概要資訊。 這項回應中的所有欄位皆為必填。

新增時間:15 張

序數廣闊類型說明
sta_addr fuchsia.wlan.ieee80211/MacAddr

車站地址。

mac_role fuchsia.wlan.common/WlanMacRole

MAC 角色

supported_phys vector<fuchsia.wlan.common/WlanPhyType>[64]

位元遮罩,代表硬體支援的 WlanInfoPhyType 值。

hardware_capability fuchsia.wlan.common/WlanSoftmacHardwareCapability

表示已啟用 WlanInfoHardwareCapability 值的位元遮罩。定義為 fuchsia.wlan.common.WlanSoftmacHardwareCapability

band_caps vector<WlanSoftmacBandCapability>[16]

支援的錶帶。

WlanSoftmacStartActiveScanRequest

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

要做為單一引數傳遞至 WlanSoftmac.StartActiveScan 的引數結構體

新增時間:15 張

序數廣闊類型說明
channels vector<uint8>[256]

要掃描的頻道清單。如果管道清單空白,掃描要求會立即傳回 ZX_ERR_INVALID_ARGS。

系統會將無效的管道號碼忽略,不顯示通知。管道號碼是否有效,取決於目前的監管區域,且 SoftMAC 驅動程式無法隨時決定地區設定。尤其是韌體以動態方式變更區域設定時。

ssids vector<fuchsia.wlan.ieee80211/CSsid>[84]

要掃描的 SSID 清單。對於具有單一 SSID 的清單,SSID 會置於 Probe 要求框架的 SSID 元素中。如果清單包含多個 SSID,所有 SSID 都會置於 Probe 要求框架的 SSID 清單元素中,並列在必要 SSID 元素清單中的第一個 SSID。空白清單與僅指定僅包含萬用字元 SSID 的清單相同。

mac_header vector<uint8>[28]

包含 MAC 標頭的緩衝區 (如 IEEE Std 802.11-2016, 9.3.3.2 所定義),要加入各個探測要求頁框中。

ies vector<uint8>[11454]

每個探測要求頁框中包含的 IE 位元組的緩衝區。

指定的 IE 不得產生超過 IEEE Std 802.11-2016 9.2.4.7 規定的限制。您可以在 fuchsia.wlan.ieee80211 中查看 MMPDU 限制常數。這些限制非常大,指定探測要求框架中最常見的 IE,可能不會超過。

min_channel_time zx/Duration

在掃描期間,每個管道支出的最短時間長度。

max_channel_time zx/Duration

掃描期間購買各個管道的時間長度上限。

min_home_time zx/Duration

在各個通路的停留時間之間,在主畫面頻道停留的最短持續時間。在首頁管道與裝置相對應的情況下,裝置不應進行掃描,但不應進行掃描。

min_probes_per_channel uint8

在掃描期間,每次管道造訪可傳輸的探測要求影格數下限。管道造訪的定義可能因裝置驅動程式而異,但大概是掃描時特定管道花費的時間間隔。

在一個管道中傳送多個探測要求影格,可能會增加在嘈雜環境中接收到的機率。

max_probes_per_channel uint8

掃描期間每次管道造訪可傳輸的探測要求影格數量上限。管道造訪的定義可能因裝置驅動程式而異,但大概是掃描時特定管道花費的時間間隔。由於系統必須針對進行中的掃描至少傳輸一個探測要求框架,因此指定 0 無效。

限制傳送到管道的探測要求影格數量,可以減少傳輸影格的時間,進而提高掃描時接收影格的時間。

聯合國

FrameProcessor_EthernetTx_Result 嚴格

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

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

FrameSender_EthernetRx_Result 嚴格

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

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

FrameSender_WlanTx_Result 嚴格

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

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

WlanSoftmacBase_CancelScan_Result 嚴格

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

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

WlanSoftmacBase_ClearAssociation_Result 嚴格

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

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

WlanSoftmacBase_DisableBeaconing_Result 嚴格

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

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

WlanSoftmacBase_EnableBeaconing_Result 嚴格

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

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

WlanSoftmacBase_InstallKey_Result 嚴格

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

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

WlanSoftmacBase_JoinBss_Result 嚴格

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

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

WlanSoftmacBase_NotifyAssociationComplete_Result 嚴格

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

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

WlanSoftmacBase_QueryDiscoverySupport_Result 嚴格

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

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

WlanSoftmacBase_QueryMacSublayerSupport_Result 嚴格

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

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

WlanSoftmacBase_QuerySecuritySupport_Result 嚴格

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

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

WlanSoftmacBase_QuerySpectrumManagementSupport_Result 嚴格

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

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

WlanSoftmacBase_Query_Result 嚴格

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

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

WlanSoftmacBase_SetChannel_Result 嚴格

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

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

WlanSoftmacBase_StartActiveScan_Result 嚴格

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

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

WlanSoftmacBase_StartPassiveScan_Result 嚴格

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

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

WlanSoftmacBase_UpdateWmmParameters_Result 嚴格

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

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

WlanSoftmacBridge_Start_Result 嚴格 資源

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

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

WlanSoftmac_QueueTx_Result 嚴格

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

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

WlanSoftmac_Start_Result 嚴格 資源

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

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

帳單

WlanRxInfoFlags 彈性

類型:uint32

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

新增時間:15 張

名稱物超所值說明
1

接收影格的 FCS 無效。

2

已在 MAC 標頭後方加上邊框間距,將頁框內文對齊 4 個位元組。

WlanRxInfoValid 彈性

類型:uint32

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

新增時間:15 張

名稱物超所值說明
1
2
4
8
16
32

WlanTxInfoFlags 彈性

類型:uint32

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

新增時間:15 張

名稱物超所值說明
1

表示這個封包應該受到保護。

2

針對頻率控制:指出一個重要的資料影格,例如 EAPOL。這類影格應以穩定而非快速傳送,且不受頻率探測限制

4

請盡可能以 QoS 標頭 (11n+) 傳送這個封包。

WlanTxInfoValid 彈性

類型:uint32

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

新增時間:15 張

名稱物超所值說明
1
2
4
8
16

業者

名稱物超所值類型說明
WLAN_MAC_MAX_RATES 263 uint32
新增時間:15 張

服務

服務

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

名稱類型傳輸
wlan_softmac fuchsia.wlan.softmac/WlanSoftmac 駕駛座