fuchsia.wlan.softmac

添加时间:15

PROTOCOLS

EthernetRx

fuchsia.wlan.softmac/softmac.fidl 中定义

用于从桥接 wlansoftmac 发送以太网帧的协议 推送到 wlansoftmac 驱动程序。

实验性

此协议作为外部函数接口 (FFI) 实现 wlansoftmac 驱动程序和桥接驱动程序之间仅为了改进 通过 wlan-mlme 库处理数据帧的性能。

添加时间:HEAD

转移

请求

名称类型
payload EthernetRxTransferRequest

响应

名称类型
payload EthernetRx_Transfer_Result

EthernetTx

fuchsia.wlan.softmac/softmac.fidl 中定义

用于将以太网帧从 wlansoftmac 驱动程序发送到桥接的协议 wlansoftmac 驱动程序。

实验性

此协议作为外部函数接口 (FFI) 实现 wlansoftmac 驱动程序和桥接驱动程序之间仅为了改进 通过 wlan-mlme 库处理数据帧的性能。

安全

complete_borrowed_operation 字段必须是类型为函数指针 void ()(eth::BorrowedOperation<>, zx_status_t),其中第一个参数 是 borrowed_operation 字段的值。

调用 complete_borrowed_operation 会导致调用 eth::BorrowedOperation<>::Complete() 用于释放数据包的所有权。这个 必须正好调用一次。无法调用 complete_borrowed_operation 会泄漏内存,多次调用会导致释放后使用。

添加时间:HEAD

转移

请求

名称类型
payload EthernetTxTransferRequest

响应

名称类型
payload EthernetTx_Transfer_Result

WlanRx

fuchsia.wlan.softmac/softmac.fidl 中定义

用于将 WLAN 帧从 wlansoftmac 驱动程序发送到桥接的协议 wlansoftmac 驱动程序。

实验性

此协议作为外部函数接口 (FFI) 实现 wlansoftmac 驱动程序和桥接驱动程序之间仅为了改进 通过 wlan-mlme 库处理数据帧的性能。

添加时间:HEAD

转移

请求

名称类型
payload WlanRxTransferRequest

响应

<空>

WlanSoftmac

fuchsia.wlan.softmac/softmac.fidl 中定义

WlanSoftmac 是由第三方驱动程序实现的 SDK 版本协议。

添加时间:15

CancelScan

取消与 scan_id 相对应的正在进行的扫描, 其中 scan_idStartPassiveScan()StartActiveScan()。如果取消成功 服务器很快就会调用 WlanSoftmacIfc.ScanComplete() scan_id

设备驱动程序指示支持 CancelScan(),使用 fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported

常见错误包括:

  • ZX_ERR_NOT_FOUND:“scan_id”与正在进行的扫描不匹配。
  • ZX_ERR_NOT_SUPPORTED:服务器不支持取消扫描。
添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseCancelScanRequest

响应

名称类型
payload WlanSoftmacBase_CancelScan_Result

ClearAssociation

通知 MAC 和 PHY 对等端已取消关联。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseClearAssociationRequest

响应

名称类型
payload WlanSoftmacBase_ClearAssociation_Result

DisableBeaconing

停用硬件信标。

添加时间:HEAD

请求

<空>

响应

名称类型
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 所需的所有内部过滤/计时操作。 对于客户端 STA,这是进行身份验证前的第一步。

常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备不支持指定的 bss 配置。

添加时间:HEAD

请求

名称类型
join_request fuchsia.wlan.common/JoinBssRequest

响应

名称类型
payload WlanSoftmacBase_JoinBss_Result

NotifyAssociationComplete

向设备发出关联成功的通知并进行配置 是参与该关联所必需的额外参数。

错误

常见错误包括:

  • ZX_ERR_BAD_STATE:之前未告知设备此 BSS 经由WlanSoftmac.JoinBss
添加时间:HEAD

请求

名称类型
assoc_cfg WlanAssociationConfig

响应

名称类型
payload WlanSoftmacBase_NotifyAssociationComplete_Result

查询

获取有关设备及其所支持功能的一般信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。

注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_Query_Result

QueryDiscoverySupport

获取有关车站发现的信息(例如,扫描和 探测)功能。您可以安全地调用此方法 (即使 SoftMAC 尚未启动)。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_QueryDiscoverySupport_Result

QueryMacSublayerSupport

获取有关设备支持的 MAC 功能的信息。这个 方法可以安全地调用,即使 SoftMAC 尚未启动也是如此。

注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_QueryMacSublayerSupport_Result

QuerySecuritySupport

获取有关设备支持的安全功能的信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_QuerySecuritySupport_Result

QuerySpectrumManagementSupport

获取有关频谱使用的信息(例如,支持 DFS)功能 。此方法可以安全地调用,即使 SoftMAC 尚未 尚未开始。

添加时间:HEAD

请求

<空>

响应

名称类型
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

开始

向服务器表明 iface 的 MLME 可以发送和接收了 帧。

客户端提供以下参数:

  • ifcWlanSoftmaIfc 服务器的客户端, 服务器将用于向客户端发送事件。

服务器会返回 fuchsia.wlan.mlme/MLME 协议的服务器端。SME 代表 iface 拥有客户端。因此,该渠道适用于 SME <->MLME 通信。

除非另有说明,否则只能在调用 WlanSoftmac 方法之后 成功调用 WlanSoftmac.Start

常见错误包括:

  • ZX_ERR_ALREADY_BOUND:已在此 softmac 上调用 Start
添加时间:15

请求

名称类型
ifc WlanSoftmacIfc

响应

名称类型
payload WlanSoftmac_Start_Result

StartActiveScan

启动有效扫描。服务器将传送扫描结果 如信标帧或探测响应帧,请使用 WlanSoftmacIfc.Recv()。 完成后,服务器将调用 WlanSoftmacIfc.ScanComplete() 以及 StartActiveScan() 返回的相同 scan_id

设备驱动程序指示支持 StartActiveScan(),使用 fuchsia.wlan.common/ProbeRequestOffloadExtension.supported

常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行 请求的扫描,例如因为请求的是不兼容的频道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。 ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacStartActiveScanRequest

响应

名称类型
payload WlanSoftmacBase_StartActiveScan_Result

StartPassiveScan

启动被动扫描。服务器将传送扫描结果 如信标帧,则使用 WlanSoftmacIfc.Recv()。完成后, 服务器将使用 StartPassiveScan() 返回的相同 scan_id

服务器指示支持 StartPassiveScan(),即使用 fuchsia.wlan.common/ScanOffloadExtension.supported

常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行 请求的扫描,例如因为请求的是不兼容的频道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。 ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseStartPassiveScanRequest

响应

名称类型
payload WlanSoftmacBase_StartPassiveScan_Result

停止

如果 Softmac 正在运行,请将其关闭。 在 softmac 未运行时可以安全地调用。

添加时间:15

请求

<空>

响应

<空>

UpdateWmmParameters

指示设备拥有经过修改的 Wi-Fi 多媒体 (WMM) 参数 特定访问类别 (AC)。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseUpdateWmmParametersRequest

响应

名称类型
payload WlanSoftmacBase_UpdateWmmParameters_Result

WlanSoftmacBase

fuchsia.wlan.softmac/softmac.fidl 中定义

WlanSoftmacBase 是一种模板协议,旨在用于 WlanSoftmacBridgeWlanSoftmacWlanSoftmacBase 包含所有方法 WlanSoftmacBridgeWlanSoftmac有共同之处。 WlanSoftmacBase 不应直接实现,

注意:所有方法都使用 selector 属性来保持其顺序 从 WlanSoftmac 迁移到此协议之后。这是必要的 保持 API 兼容性。

添加时间:HEAD

CancelScan

取消与 scan_id 相对应的正在进行的扫描, 其中 scan_idStartPassiveScan()StartActiveScan()。如果取消成功 服务器很快就会调用 WlanSoftmacIfc.ScanComplete() scan_id

设备驱动程序指示支持 CancelScan(),使用 fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported

常见错误包括:

  • ZX_ERR_NOT_FOUND:“scan_id”与正在进行的扫描不匹配。
  • ZX_ERR_NOT_SUPPORTED:服务器不支持取消扫描。
添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseCancelScanRequest

响应

名称类型
payload WlanSoftmacBase_CancelScan_Result

ClearAssociation

通知 MAC 和 PHY 对等端已取消关联。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseClearAssociationRequest

响应

名称类型
payload WlanSoftmacBase_ClearAssociation_Result

DisableBeaconing

停用硬件信标。

添加时间:HEAD

请求

<空>

响应

名称类型
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 所需的所有内部过滤/计时操作。 对于客户端 STA,这是进行身份验证前的第一步。

常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备不支持指定的 bss 配置。

添加时间:HEAD

请求

名称类型
join_request fuchsia.wlan.common/JoinBssRequest

响应

名称类型
payload WlanSoftmacBase_JoinBss_Result

NotifyAssociationComplete

向设备发出关联成功的通知并进行配置 是参与该关联所必需的额外参数。

错误

常见错误包括:

  • ZX_ERR_BAD_STATE:之前未告知设备此 BSS 经由WlanSoftmac.JoinBss
添加时间:HEAD

请求

名称类型
assoc_cfg WlanAssociationConfig

响应

名称类型
payload WlanSoftmacBase_NotifyAssociationComplete_Result

查询

获取有关设备及其所支持功能的一般信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。

注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_Query_Result

QueryDiscoverySupport

获取有关车站发现的信息(例如,扫描和 探测)功能。您可以安全地调用此方法 (即使 SoftMAC 尚未启动)。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_QueryDiscoverySupport_Result

QueryMacSublayerSupport

获取有关设备支持的 MAC 功能的信息。这个 方法可以安全地调用,即使 SoftMAC 尚未启动也是如此。

注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_QueryMacSublayerSupport_Result

QuerySecuritySupport

获取有关设备支持的安全功能的信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_QuerySecuritySupport_Result

QuerySpectrumManagementSupport

获取有关频谱使用的信息(例如,支持 DFS)功能 。此方法可以安全地调用,即使 SoftMAC 尚未 尚未开始。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_QuerySpectrumManagementSupport_Result

SetChannel

设置主要电台频道,如以响应频道切换事件。 如果成功,此操作会立即触发频道切换。这可能会 会影响传输中帧的传输,还可能 会干扰进行中的扫描请求。

常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备无法切换到所请求的频道。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseSetChannelRequest

响应

名称类型
payload WlanSoftmacBase_SetChannel_Result

StartActiveScan

启动有效扫描。服务器将传送扫描结果 如信标帧或探测响应帧,请使用 WlanSoftmacIfc.Recv()。 完成后,服务器将调用 WlanSoftmacIfc.ScanComplete() 以及 StartActiveScan() 返回的相同 scan_id

设备驱动程序指示支持 StartActiveScan(),使用 fuchsia.wlan.common/ProbeRequestOffloadExtension.supported

常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行 请求的扫描,例如因为请求的是不兼容的频道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。 ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacStartActiveScanRequest

响应

名称类型
payload WlanSoftmacBase_StartActiveScan_Result

StartPassiveScan

启动被动扫描。服务器将传送扫描结果 如信标帧,则使用 WlanSoftmacIfc.Recv()。完成后, 服务器将使用 StartPassiveScan() 返回的相同 scan_id

服务器指示支持 StartPassiveScan(),即使用 fuchsia.wlan.common/ScanOffloadExtension.supported

常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行 请求的扫描,例如因为请求的是不兼容的频道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。 ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseStartPassiveScanRequest

响应

名称类型
payload WlanSoftmacBase_StartPassiveScan_Result

UpdateWmmParameters

指示设备拥有经过修改的 Wi-Fi 多媒体 (WMM) 参数 特定访问类别 (AC)。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseUpdateWmmParametersRequest

响应

名称类型
payload WlanSoftmacBase_UpdateWmmParameters_Result

WlanSoftmacBridge

fuchsia.wlan.softmac/softmac.fidl 中定义

WlanSoftmacBridgewlansoftmac 驱动程序使用的协议 桥接驱动程序不应实现此协议 由供应商驱动程序提供

添加时间:15

CancelScan

取消与 scan_id 相对应的正在进行的扫描, 其中 scan_idStartPassiveScan()StartActiveScan()。如果取消成功 服务器很快就会调用 WlanSoftmacIfc.ScanComplete() scan_id

设备驱动程序指示支持 CancelScan(),使用 fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported

常见错误包括:

  • ZX_ERR_NOT_FOUND:“scan_id”与正在进行的扫描不匹配。
  • ZX_ERR_NOT_SUPPORTED:服务器不支持取消扫描。
添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseCancelScanRequest

响应

名称类型
payload WlanSoftmacBase_CancelScan_Result

ClearAssociation

通知 MAC 和 PHY 对等端已取消关联。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseClearAssociationRequest

响应

名称类型
payload WlanSoftmacBase_ClearAssociation_Result

DisableBeaconing

停用硬件信标。

添加时间:HEAD

请求

<空>

响应

名称类型
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 所需的所有内部过滤/计时操作。 对于客户端 STA,这是进行身份验证前的第一步。

常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备不支持指定的 bss 配置。

添加时间:HEAD

请求

名称类型
join_request fuchsia.wlan.common/JoinBssRequest

响应

名称类型
payload WlanSoftmacBase_JoinBss_Result

NotifyAssociationComplete

向设备发出关联成功的通知并进行配置 是参与该关联所必需的额外参数。

错误

常见错误包括:

  • ZX_ERR_BAD_STATE:之前未告知设备此 BSS 经由WlanSoftmac.JoinBss
添加时间:HEAD

请求

名称类型
assoc_cfg WlanAssociationConfig

响应

名称类型
payload WlanSoftmacBase_NotifyAssociationComplete_Result

查询

获取有关设备及其所支持功能的一般信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。

注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_Query_Result

QueryDiscoverySupport

获取有关车站发现的信息(例如,扫描和 探测)功能。您可以安全地调用此方法 (即使 SoftMAC 尚未启动)。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_QueryDiscoverySupport_Result

QueryMacSublayerSupport

获取有关设备支持的 MAC 功能的信息。这个 方法可以安全地调用,即使 SoftMAC 尚未启动也是如此。

注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_QueryMacSublayerSupport_Result

QuerySecuritySupport

获取有关设备支持的安全功能的信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_QuerySecuritySupport_Result

QuerySpectrumManagementSupport

获取有关频谱使用的信息(例如,支持 DFS)功能 。此方法可以安全地调用,即使 SoftMAC 尚未 尚未开始。

添加时间:HEAD

请求

<空>

响应

名称类型
payload WlanSoftmacBase_QuerySpectrumManagementSupport_Result

SetChannel

设置主要电台频道,如以响应频道切换事件。 如果成功,此操作会立即触发频道切换。这可能会 会影响传输中帧的传输,还可能 会干扰进行中的扫描请求。

常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备无法切换到所请求的频道。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseSetChannelRequest

响应

名称类型
payload WlanSoftmacBase_SetChannel_Result

SetEthernetStatus

将包含 ETHERNET_STATUS_* 标志的状态转发到 fuchsia.hardware.ethernet/EthernetImplIfc 代理所有者: wlansoftmac 的 C++ 部分。

如前所述,status 的值由 ETHERNET_STATUS_* 标志。不过,只有一个标志 ETHERNET_STATUS_ONLINE,但没有任何关于其含义的规范 即不指定任何标志实际上,0x1 表示状态为“向上”。 0x0 表示状态为“已关闭”。

虽然此方法应属于 “EthernetImplIfcBridge 协议”中,该协议包含在 WlanSoftmacBridge 协议,以方便使用。wlansoftmac 驱动程序 最终会停止使用fuchsia.hardware.ethernet/EthernetImplIfc 并使用 fuchsia.hardware.network.driver/NetworkDeviceIfc 代理此时,此方法的等效项应为 重构为单独的迁移桥。

添加时间:HEAD

请求

名称类型
status uint32

响应

<空>

开始

向服务器表明 iface 的 MLME 可以发送和接收了 帧。

客户端提供以下参数:

  • ifc_bridgeWlanSoftmacIfcBridge 服务器的客户端, wlansoftmac 司机将用于将 WlanSoftmacIfc 事件转发给 桥接驱动程序。
  • ethernet_tx:转换为 uint64ethernet_tx_t*。通过 ethernet_tx_t//src/connectivity/wlan/drivers/wlansoftmac/rust_driver/c-binding/bindings.h
  • wlan_rx:转换为 uint64wlan_rx_t*。通过 wlan_rx_t//src/connectivity/wlan/drivers/wlansoftmac/rust_driver/c-binding/bindings.h

服务器必须先复制 ethernet_tx_twlan_rx_t 的内容, 返回的值。ethernet_tx_t*wlan_rx_t* 的生命周期仅 与此方法调用一样长,但 ethernet_tx_twlan_rx_t 的内容将 直到服务器停止 MLME 为止。

服务器会返回 fuchsia.wlan.mlme/MLME 协议的服务器端。SME 代表 iface 拥有客户端。因此,该渠道适用于 SME <->MLME 通信。

WlanSoftmacBridge.Start 方法与 WlanSoftmac.Start 不同 有两个原因首先,传输驱动程序不存在 Rust 绑定 因此 WlanSoftmacIfcBridge 协议必须先经过 Zircon 传输,然后才能 可供桥接驱动程序使用。其次,Zircon 运输系统还增加了 与驱动程序传输相比,延迟时间明显更长。因此, ethernet_txwlan_rx 参数为 wlansoftmac 驱动程序提供 FFI 使用 与驱动程序传输协议相当或更好。

除非另有说明,否则只能在调用 WlanSoftmacBridge 方法之后 成功调用 WlanSoftmacBridge.Start

常见错误包括:

  • ZX_ERR_ALREADY_BOUND:已在此 softmac 上调用 Start
添加时间:HEAD

请求

名称类型
ifc_bridge WlanSoftmacIfcBridge
ethernet_tx uint64
wlan_rx uint64

响应

名称类型
payload WlanSoftmacBridge_Start_Result

StartActiveScan

启动有效扫描。服务器将传送扫描结果 如信标帧或探测响应帧,请使用 WlanSoftmacIfc.Recv()。 完成后,服务器将调用 WlanSoftmacIfc.ScanComplete() 以及 StartActiveScan() 返回的相同 scan_id

设备驱动程序指示支持 StartActiveScan(),使用 fuchsia.wlan.common/ProbeRequestOffloadExtension.supported

常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行 请求的扫描,例如因为请求的是不兼容的频道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。 ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacStartActiveScanRequest

响应

名称类型
payload WlanSoftmacBase_StartActiveScan_Result

StartPassiveScan

启动被动扫描。服务器将传送扫描结果 如信标帧,则使用 WlanSoftmacIfc.Recv()。完成后, 服务器将使用 StartPassiveScan() 返回的相同 scan_id

服务器指示支持 StartPassiveScan(),即使用 fuchsia.wlan.common/ScanOffloadExtension.supported

常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行 请求的扫描,例如因为请求的是不兼容的频道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。 ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacBaseStartPassiveScanRequest

响应

名称类型
payload WlanSoftmacBase_StartPassiveScan_Result

UpdateWmmParameters

指示设备拥有经过修改的 Wi-Fi 多媒体 (WMM) 参数 特定访问类别 (AC)。

添加时间: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

响应

<空>

接收

转发通过无线媒介收到的数据包。

请求

名称类型
packet WlanRxPacket

响应

<空>

ReportTxResult

报告尝试传输的结果。

设备驱动程序指示支持 ReportTxResult(),使用 fuchsia.wlan.common/DeviceExtension.report_tx_result_supported

添加时间:HEAD

请求

名称类型
tx_result fuchsia.wlan.common/WlanTxResult

响应

<空>

WlanSoftmacIfcBase

fuchsia.wlan.softmac/softmac.fidl 中定义

包含 WlanSoftmacIfcWlanSoftmacIfcBridge 通用方法的协议。

WlanSoftmacIfcWlanSoftmacIfcBridge 协议具有共同的方法,如后者 通常转发 wlansoftmac 驱动程序中收到的 WlanSoftmacIfc 请求 连接到桥接驱动程序中的 WlanSoftmacIfcBridge 请求。撰写 协议转换为 WlanSoftmacIfcWlanSoftmacIfcBridge,可最大限度地减少方法的重复 定义(以及由此类重复导致的相关请求转化)。

此协议不能由任何组件直接实现。它由 WlanSoftmacIfc 组成 和WlanSoftmacIfcBridge

添加时间:HEAD

NotifyScanComplete

报告与唯一 scan_id 关联的扫描完成。status 指示扫描是已成功完成、因错误而失败、 或 已被取消。

返回状态指示扫描完成的原因: ZX_OK:所有频道都已成功扫描。 ZX_ERR_CANCELLED:扫描已因用户请求(要么是 显式 WlanSoftmac.CancelScan() 或启动 不兼容的请求(例如连接)。 ZX_ERR_OUT_OF_RANGE:扫描请求包含被禁止的频道。 这可能与当前的国家/地区设置有关。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacIfcBaseNotifyScanCompleteRequest

响应

<空>

ReportTxResult

报告尝试传输的结果。

设备驱动程序指示支持 ReportTxResult(),使用 fuchsia.wlan.common/DeviceExtension.report_tx_result_supported

添加时间:HEAD

请求

名称类型
tx_result fuchsia.wlan.common/WlanTxResult

响应

<空>

WlanSoftmacIfcBridge

fuchsia.wlan.softmac/softmac.fidl 中定义

用于将 WlanSoftmacIfc 请求从 wlansoftmac 驱动程序传输到 桥接驱动程序。

此协议应始终在 HEAD 处可用,因为它仅用于树内协议。 此协议的存在只是因为 wlansoftmac 无法在 Rust 中实现,并且必须与 wlansoftmac 交互 wlansoftmac-c、wlansoftmac-rust 和 wlan-mlme Rust crate。

添加时间:HEAD

NotifyScanComplete

报告与唯一 scan_id 关联的扫描完成。status 指示扫描是已成功完成、因错误而失败、 或 已被取消。

返回状态指示扫描完成的原因: ZX_OK:所有频道都已成功扫描。 ZX_ERR_CANCELLED:扫描已因用户请求(要么是 显式 WlanSoftmac.CancelScan() 或启动 不兼容的请求(例如连接)。 ZX_ERR_OUT_OF_RANGE:扫描请求包含被禁止的频道。 这可能与当前的国家/地区设置有关。

添加时间:HEAD

请求

名称类型
payload WlanSoftmacIfcBaseNotifyScanCompleteRequest

响应

<空>

ReportTxResult

报告尝试传输的结果。

设备驱动程序指示支持 ReportTxResult(),使用 fuchsia.wlan.common/DeviceExtension.report_tx_result_supported

添加时间:HEAD

请求

名称类型
tx_result fuchsia.wlan.common/WlanTxResult

响应

<空>

StopBridgedDriver

停止桥接驱动程序。

调用此方法会导致此协议的服务器端 (WlanSoftmacIfcBridge) 出现 关闭,WlanSoftmacBridge 的客户端关闭。服务器不会返回 返回 1000 响应。

实际上,wlansoftmac 驱动程序会在解除绑定期间调用此方法。

添加时间:HEAD

请求

<空>

响应

<空>

WlanTx

fuchsia.wlan.softmac/softmac.fidl 中定义

用于从桥接 wlansoftmac 发送 WLAN 帧的协议 推送到 wlansoftmac 驱动程序。

实验性

此协议作为外部函数接口 (FFI) 实现 wlansoftmac 驱动程序和桥接驱动程序之间仅为了改进 通过 wlan-mlme 库处理数据帧的性能。

添加时间:HEAD

转移

请求

名称类型
payload WlanTxTransferRequest

响应

名称类型
payload WlanTx_Transfer_Result

结构体

EthernetRx_Transfer_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

<空>

EthernetTx_Transfer_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

<空>

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/s 为单位。

无默认设置
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 中定义

<空>

WlanSoftmacBase_ClearAssociation_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

<空>

WlanSoftmacBase_DisableBeaconing_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

<空>

WlanSoftmacBase_EnableBeaconing_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

<空>

WlanSoftmacBase_InstallKey_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

<空>

WlanSoftmacBase_JoinBss_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

<空>

WlanSoftmacBase_NotifyAssociationComplete_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

<空>

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 中定义

<空>

WlanSoftmacBase_UpdateWmmParameters_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

<空>

WlanSoftmacBridge_Start_Response 资源

fuchsia.wlan.softmac/softmac.fidl 中定义

字段类型说明默认
sme_channel handle<channel> 无默认设置

WlanSoftmac_QueueTx_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

<空>

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 会忽略此字段。

无默认设置

WlanTx_Transfer_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

<空>

精英

WlanProtection 严格

类型:uint8

fuchsia.wlan.softmac/softmac.fidl 中定义

添加时间:15

名称说明
0
1
2
3

EthernetRxTransferRequest

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
packet_address uint64
packet_size uint64

EthernetTxTransferRequest

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
packet_address uint64
packet_size uint64
async_id uint64
borrowed_operation uint64
complete_borrowed_operation uint64

WlanAssociationConfig

fuchsia.wlan.softmac/softmac.fidl 中定义

要作为单个参数传递给的参数表 WlanSoftmac.NotifyAssociationComplete. 此处的所有信息仅适用于与 指定的 Peer_addr。 除非另有说明,否则下表中的所有字段均为必填字段。

添加时间:15

Ordinal字段类型说明
bssid fuchsia.wlan.ieee80211/MacAddr

我们现在关联的对等方的 MAC 地址。

aid uint16

此特定关联的唯一标识符。这是唯一 有效关联,不一定是历史关联。

listen_interval uint16
channel fuchsia.wlan.common/WlanChannel

我们与该同行关联的频道。

qos bool

是否支持 QoS 及参数

wmm_params fuchsia.wlan.common/WlanWmmParameters

WFA WMM v1.2、2.2.2

rates vector<uint8>[263]

SupportedRates 和 ExtendedSupportedRates 的串联 IEEE 标准 802.11-2016、9.4.2.3 及9.4.2.13

capability_info uint16

IEEE 标准 802.11-2016、9.4.1.4

ht_cap fuchsia.wlan.ieee80211/HtCapabilities

IEEE 标准 802.11-2016、9.4.2.56、57 “受支持的 MCS 集”字段中的 Rx MCS 位掩码表示 MCS 集 考虑此设备的 Tx 功能,这样对等设备就可以从此设备接收 到 的带宽。

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

IEEE 标准 802.11-2016、9.4.2.158、159

vht_op fuchsia.wlan.ieee80211/VhtOperation

WlanKeyConfiguration

fuchsia.wlan.softmac/softmac.fidl 中定义

添加时间:15

Ordinal字段类型说明
protection WlanProtection

要保护的路径:“无”“TX”“RX”或“TX 和 RX”。

cipher_oui uint8[3]

IEEE 加密套件选择器。 请参阅 IEEE 标准 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。

WlanRxTransferRequest

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
packet_address uint64
packet_size uint64
packet_info WlanRxInfo
async_id uint64
arena uint64

WlanSoftmacBandCapability

fuchsia.wlan.softmac/softmac.fidl 中定义

描述特定频段 SoftMAC 的功能。

添加时间:15

Ordinal字段类型说明
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 中所定义) 标准 802.11-2016、9.4.2.3),例如0x02 表示 1 Mbps。本组 表示设备同时支持这两种非 HT 速率的所有非 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_channelsoperating_channel_count之前。

已弃用:15
operating_channel_list uint8[256]

根据监管信息确定的有效运营渠道集 由设备驱动程序在 iface 创建期间触发。运营渠道是指 到 AP 可在其中传输信标帧的信道。

此字段中显示的通道数必须operating_channel_count 字段(如果存在)。

弃用

此字段已替换为 operating_channels。服务器(即 驱动程序),其中 operating_channel_list 应该将其省略,并将操作渠道写入 operating_channels 字段。客户端尝试读取 operating_channelsoperating_channel_list之前。

已弃用:15
basic_rates vector<uint8>[12]

以 500 Kbit/s 为单位表示的一组受支持基本速率(如 IEEE 中所定义) 标准 802.11-2016、9.4.2.3),例如0x02 表示 1 Mbps。本组 表示设备同时支持这两种非 HT 速率的所有非 HT 速率。 传输和接收

添加时间:15
operating_channels vector<uint8>[256]

根据监管信息确定的有效运营渠道集 由设备驱动程序在 iface 创建期间触发。运营渠道是指 到 AP 可在其中传输信标帧的信道。

客户端必须使用此集合来确定后续 使用 iface 扫描频道子集的请求,或确定 启动 AP 时使用哪个操作频道。

添加时间:15

WlanSoftmacBaseCancelScanRequest

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
scan_id uint64

WlanSoftmacBaseClearAssociationRequest

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
peer_addr fuchsia.wlan.ieee80211/MacAddr

WlanSoftmacBaseEnableBeaconingRequest

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
packet_template WlanTxPacket

信标模板。由于这是一个模板,因此某些数据包内容 只包含最少量的有效信息,因为内容 并对其进行更改。

tim_ele_offset uint64

packet_template 字段开头的 TIM 偏移量(以字节为单位)。 它必须将 TIM IE 的第一个字节(即代码 ID)编入索引。

beacon_interval uint16

信标间隔时间(以 TU 为单位)。

WlanSoftmacBaseSetChannelRequest

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
channel fuchsia.wlan.common/WlanChannel

WlanSoftmacBaseStartPassiveScanRequest

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
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 中定义

Ordinal字段类型说明
ac fuchsia.wlan.ieee80211/WlanAccessCategory
params fuchsia.wlan.common/WlanWmmParameters

WlanSoftmacBase_StartActiveScan_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
scan_id uint64

WlanSoftmacBase_StartPassiveScan_Response

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
scan_id uint64

WlanSoftmacIfcBaseNotifyScanCompleteRequest

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
status zx/Status
scan_id uint64

WlanSoftmacQueryResponse

fuchsia.wlan.softmac/softmac.fidl 中定义

描述正在运行的 softmac 状态的概要信息。 此回答中的所有字段均为必填字段。

添加时间:15

Ordinal字段类型说明
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

Ordinal字段类型说明
channels vector<uint8>[256]

要扫描的频道的列表。频道列表为空会导致 扫描请求以立即返回 ZX_ERR_INVALID_ARGS。

无效的频道号会被静默忽略。渠道的有效性 取决于当前的监管区域,SoftMAC 驱动程序无法 始终决定区域设置。尤其是在 固件会动态更改区域设置。

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

要扫描的 SSID 列表。对于只有一个 SSID 的列表,该 SSID 会放在 探测请求帧中的 SSID 元素。对于具有多个 SSID 的列表, 所有 SSID 都将放在探测请求帧的 SSID List 元素中, 列表中的第一个 SSID(在所需的 SSID 元素中)。空列表等同于 指定仅包含通配符 SSID 的列表。

mac_header vector<uint8>[28]

包含 MAC 标头(如 IEEE 标准 802.11-2016、9.3.3.2 中所定义)的缓冲区, 包含在每个探测请求帧中。

ies vector<uint8>[11454]

缓冲区,包含要包含在每个探测请求帧中的 IE 字节。

指定的 IE 不能导致探测请求 MMPDU 超出 由 IEEE 标准 802.11-2016、9.2.4.7 定义的限制。MMPDU 限制常量 可在 fuchsia.wlan.ieee80211 中找到。这些限制 通过指定 探测请求帧。

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 无效 因为必须传输至少一个探测请求帧以进行有效扫描。

限制在通道上发送的探测请求帧数可减少所花费的时间 传输帧,因此会增加扫描时接收帧所用的时间。

WlanTxTransferRequest

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal字段类型说明
packet_address uint64
packet_size uint64
packet_info WlanTxInfo
async_id uint64
arena uint64

联合体

EthernetRx_Transfer_Result 严格

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response EthernetRx_Transfer_Response
err zx/Status

EthernetTx_Transfer_Result 严格

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response EthernetTx_Transfer_Response
err zx/Status

WlanSoftmacBase_CancelScan_Result 严格

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_CancelScan_Response
err zx/Status

WlanSoftmacBase_ClearAssociation_Result 严格

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_ClearAssociation_Response
err zx/Status

WlanSoftmacBase_DisableBeaconing_Result strict

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_DisableBeaconing_Response
err zx/Status

WlanSoftmacBase_EnableBeaconing_Result strict

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_EnableBeaconing_Response
err zx/Status

WlanSoftmacBase_InstallKey_Result 严格

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_InstallKey_Response
err zx/Status

WlanSoftmacBase_JoinBss_Result 严格

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_JoinBss_Response
err zx/Status

WlanSoftmacBase_NotifyAssociationComplete_Result strict(严格)

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_NotifyAssociationComplete_Response
err zx/Status

WlanSoftmacBase_QueryDiscoverySupport_Result strict

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_QueryDiscoverySupport_Response
err zx/Status

WlanSoftmacBase_QueryMacSublayerSupport_Result 严格

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_QueryMacSublayerSupport_Response
err zx/Status

WlanSoftmacBase_QuerySecuritySupport_Result strict

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_QuerySecuritySupport_Response
err zx/Status

WlanSoftmacBase_QuerySpectrumManagementSupport_Result strict

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_QuerySpectrumManagementSupport_Response
err zx/Status

WlanSoftmacBase_Query_Result strict

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacQueryResponse
err zx/Status

WlanSoftmacBase_SetChannel_Result 严格

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_SetChannel_Response
err zx/Status

WlanSoftmacBase_StartActiveScan_Result 严格

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_StartActiveScan_Response
err zx/Status

WlanSoftmacBase_StartPassiveScan_Result strict

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_StartPassiveScan_Response
err zx/Status

WlanSoftmacBase_UpdateWmmParameters_Result strict

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBase_UpdateWmmParameters_Response
err zx/Status

WlanSoftmacBridge_Start_Result 严格资源

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmacBridge_Start_Response
err zx/Status

WlanSoftmac_QueueTx_Result 严格

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmac_QueueTx_Response
err zx/Status

WlanSoftmac_Start_Result 严格资源

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanSoftmac_Start_Response
err zx/Status

WlanTx_Transfer_Result 严格

fuchsia.wlan.softmac/softmac.fidl 中定义

Ordinal变体类型说明
response WlanTx_Transfer_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 驱动程序