协议
FrameProcessor
在 fuchsia.wlan.softmac/softmac.fidl 中定义
用于从 wlansoftmac 驱动程序发送到桥接 wlansoftmac 驱动程序的以太网和 WLAN 帧的协议。
实验性功能
此协议作为 wlansoftmac 驱动程序和桥接驱动程序之间的外部函数接口 (FFI) 实现,仅用于提高通过 wlan-mlme 库处理数据帧的性能。
使用 FFI 后,通过此协议的消息永远不会进入 FIDL 通道,因此不会产生相关系统调用的成本。我们观察到,与使用 FIDL 通道实现此协议相比,实现 FFI 为每帧处理可节省大约 500 微秒。
EthernetTx
请求
名称 | 类型 |
---|---|
payload |
FrameProcessorEthernetTxRequest
|
响应
名称 | 类型 |
---|---|
payload |
FrameProcessor_EthernetTx_Result
|
WlanRx
请求
名称 | 类型 |
---|---|
payload |
FrameProcessorWlanRxRequest
|
响应
<EMPTY>
FrameSender
在 fuchsia.wlan.softmac/softmac.fidl 中定义
用于从桥接 wlansoftmac 驱动程序到 wlansoftmac 驱动程序发送以太网和 WLAN 帧的协议。
实验性功能
此协议作为 wlansoftmac 驱动程序和桥接驱动程序之间的外部函数接口 (FFI) 实现,仅用于提高通过 wlan-mlme 库处理数据帧的性能。
使用 FFI 后,通过此协议的消息永远不会进入 FIDL 通道,因此不会产生相关系统调用的成本。我们观察到,与使用 FIDL 通道实现此协议相比,实现 FFI 为每帧处理可节省大约 500 微秒。
EthernetRx
请求
名称 | 类型 |
---|---|
payload |
FrameSenderEthernetRxRequest
|
响应
名称 | 类型 |
---|---|
payload |
FrameSender_EthernetRx_Result
|
WlanTx
请求
名称 | 类型 |
---|---|
payload |
FrameSenderWlanTxRequest
|
响应
名称 | 类型 |
---|---|
payload |
FrameSender_WlanTx_Result
|
WlanSoftmac
在 fuchsia.wlan.softmac/softmac.fidl 中定义
WlanSoftmac
是由第三方驱动程序实现的 SDK 版本化协议。
CancelScan
取消与 scan_id
对应的正在进行的扫描,其中 scan_id
是由 StartPassiveScan()
或 StartActiveScan()
返回的标识符。如果取消成功,服务器很快将使用相同的 scan_id
调用 WlanSoftmacIfc.ScanComplete()。
设备驱动程序通过 fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported
指示支持 CancelScan()
。
常见错误包括:
ZX_ERR_NOT_FOUND
:“scan_id
”不是正在进行的扫描。ZX_ERR_NOT_SUPPORTED
:服务器不支持取消扫描。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseCancelScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_CancelScan_Result
|
ClearAssociation
通知 MAC 和 PHY 对等体已取消关联。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseClearAssociationRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_ClearAssociation_Result
|
DisableBeaconing
停用硬件信标。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_DisableBeaconing_Result
|
EnableBeaconing
启用硬件信标。
启用信标时无法调用此方法,因此如果启用了信标,必须在此方法之前调用 DisableBeaconing
。
所有请求字段均为必填字段。
常见错误包括:
ZX_ERR_NOT_SUPPORTED
:设备不支持硬件信标。ZX_ERR_INVALID_ARGS
:设备无法传输请求的信标。ZX_ERR_BAD_STATE
:设备已在设置信标。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseEnableBeaconingRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_EnableBeaconing_Result
|
InstallKey
在传输或接收受保护的帧时安装用于加密的密钥。
常见错误包括: ZX_ERR_INVALID_ARGS:给定配置未指定有效密钥。 ZX_ERR_NOT_SUPPORTED:设备不支持给定的加密。
请求
名称 | 类型 |
---|---|
payload |
WlanKeyConfiguration
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_InstallKey_Result
|
JoinBss
加入我们将参与的特定 BSS。
无论我们是托管 BSS 还是加入 BSS(通过 JoinBssRequest
中的 remote
标志指示),这都适用。如果成功,设备将切换到正确的信道,并执行加入 BSS 所需的所有内部过滤/时间操作。对于客户端 STA,这是进行身份验证之前的第一步。
常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备不支持给定的 bss 配置。
请求
名称 | 类型 |
---|---|
join_request |
fuchsia.wlan.common/JoinBssRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_JoinBss_Result
|
NotifyAssociationComplete
通知设备已成功关联,并配置参与该关联所需的其他参数。
错误
常见错误包括:
ZX_ERR_BAD_STATE
:设备之前未通过WlanSoftmac.JoinBss
获知此 BSS。
请求
名称 | 类型 |
---|---|
assoc_cfg |
WlanAssociationConfig
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_NotifyAssociationComplete_Result
|
查询
获取有关设备及其所支持功能的一般信息。 即使 SoftMAC 尚未启动,此方法也可安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_Query_Result
|
QueryDiscoverySupport
获取有关设备支持的电台发现(例如扫描和探测)功能的信息。即使 SoftMAC 尚未启动,此方法也可以安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryDiscoverySupport_Result
|
QueryMacSublayerSupport
获取有关设备支持的 MAC 功能的信息。即使 SoftMAC 尚未启动,此方法也可以安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryMacSublayerSupport_Result
|
QuerySecuritySupport
获取有关设备支持的安全功能的信息。即使 SoftMAC 尚未启动,此方法也可安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QuerySecuritySupport_Result
|
QuerySpectrumManagementSupport
获取有关频谱使用情况的信息(例如,DFS)功能。即使 SoftMAC 尚未启动,此方法也可以安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QuerySpectrumManagementSupport_Result
|
QueueTx
将数据包加入队列以进行传输。可能在数据包实际传输之前返回。此调用不会获得 WlanTxPacket 中传递的缓冲区的所有权。
如果未能将数据包加入队列进行传输,则会导致错误。 因此,OK 结果仅表示数据包已加入队列,而并不表示数据包已成功传输。
请求
名称 | 类型 |
---|---|
packet |
WlanTxPacket
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmac_QueueTx_Result
|
SetChannel
设置主要电台频道,例如在响应频道切换事件时设置。 如果成功,将会立即触发频道切换。这可能会影响任何传输中的帧的传输,还可能会干扰正在进行的扫描请求。
常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备无法切换到所请求的频道。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseSetChannelRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_SetChannel_Result
|
开始
向服务器发送信号,表明用于 iface 的 MLME 已准备好发送和接收帧。
客户端提供以下参数:
ifc
:WlanSoftmaIfc
服务器的客户端,服务器将用它向客户端发送事件。
服务器返回 fuchsia.wlan.mlme/MLME
协议的服务器端。iface 的 SME 拥有客户端。因此,该通道用于 SME <-> MLME 通信。
除非另有说明,否则 WlanSoftmac
方法只能在成功调用 WlanSoftmac.Start
后调用。
常见错误包括:
ZX_ERR_ALREADY_BOUND
:已在此 softmac 上调用Start
。
请求
名称 | 类型 |
---|---|
ifc |
WlanSoftmacIfc
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmac_Start_Result
|
StartActiveScan
启动一项有效扫描。服务器将使用 WlanSoftmacIfc.Recv() 以信标或探测响应帧的形式提供扫描结果。完成后,服务器将使用 StartActiveScan() 返回的 scan_id
来调用 WlanSoftmacIfc.ScanComplete()。
设备驱动程序通过 fuchsia.wlan.common/ProbeRequestOffloadExtension.supported
指示支持 StartActiveScan()
。
常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行请求的扫描,例如,因为请求了不兼容的信道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacStartActiveScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_StartActiveScan_Result
|
StartPassiveScan
启动被动扫描。服务器将使用 WlanSoftmacIfc.Recv() 以信标帧的形式提供扫描结果。完成后,服务器将使用 StartPassiveScan() 返回的 scan_id
来调用 WlanSoftmacIfc.ScanComplete()。
服务器使用 fuchsia.wlan.common/ScanOffloadExtension.supported
指示支持 StartPassiveScan()
。
常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行请求的扫描,例如,因为请求了不兼容的信道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseStartPassiveScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_StartPassiveScan_Result
|
停止
如果 softmac 正在运行,请将其关闭。 在 softmac 未运行时可以安全调用。
请求
<EMPTY>
响应
<EMPTY>
UpdateWmmParameters
针对特定访问类别 (AC),指明经过修改的 Wi-Fi 多媒体 (WMM) 参数的设备。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseUpdateWmmParametersRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_UpdateWmmParameters_Result
|
WlanSoftmacBase
在 fuchsia.wlan.softmac/softmac.fidl 中定义
WlanSoftmacBase
是一种模板协议,旨在由 WlanSoftmacBridge
和 WlanSoftmac
组成。WlanSoftmacBase
包含 WlanSoftmacBridge
和 WlanSoftmac
共有的所有方法。不应直接实现 WlanSoftmacBase
。
注意:所有方法都使用 selector
属性在从 WlanSoftmac
迁移到此协议后保持其序数。这是保持 API 兼容性的必要条件。
CancelScan
取消与 scan_id
对应的正在进行的扫描,其中 scan_id
是由 StartPassiveScan()
或 StartActiveScan()
返回的标识符。如果取消成功,服务器很快将使用相同的 scan_id
调用 WlanSoftmacIfc.ScanComplete()。
设备驱动程序通过 fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported
指示支持 CancelScan()
。
常见错误包括:
ZX_ERR_NOT_FOUND
:“scan_id
”不是正在进行的扫描。ZX_ERR_NOT_SUPPORTED
:服务器不支持取消扫描。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseCancelScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_CancelScan_Result
|
ClearAssociation
通知 MAC 和 PHY 对等体已取消关联。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseClearAssociationRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_ClearAssociation_Result
|
DisableBeaconing
停用硬件信标。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_DisableBeaconing_Result
|
EnableBeaconing
启用硬件信标。
启用信标时无法调用此方法,因此如果启用了信标,必须在此方法之前调用 DisableBeaconing
。
所有请求字段均为必填字段。
常见错误包括:
ZX_ERR_NOT_SUPPORTED
:设备不支持硬件信标。ZX_ERR_INVALID_ARGS
:设备无法传输请求的信标。ZX_ERR_BAD_STATE
:设备已在设置信标。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseEnableBeaconingRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_EnableBeaconing_Result
|
InstallKey
在传输或接收受保护的帧时安装用于加密的密钥。
常见错误包括: ZX_ERR_INVALID_ARGS:给定配置未指定有效密钥。 ZX_ERR_NOT_SUPPORTED:设备不支持给定的加密。
请求
名称 | 类型 |
---|---|
payload |
WlanKeyConfiguration
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_InstallKey_Result
|
JoinBss
加入我们将参与的特定 BSS。
无论我们是托管 BSS 还是加入 BSS(通过 JoinBssRequest
中的 remote
标志指示),这都适用。如果成功,设备将切换到正确的信道,并执行加入 BSS 所需的所有内部过滤/时间操作。对于客户端 STA,这是进行身份验证之前的第一步。
常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备不支持给定的 bss 配置。
请求
名称 | 类型 |
---|---|
join_request |
fuchsia.wlan.common/JoinBssRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_JoinBss_Result
|
NotifyAssociationComplete
通知设备已成功关联,并配置参与该关联所需的其他参数。
错误
常见错误包括:
ZX_ERR_BAD_STATE
:设备之前未通过WlanSoftmac.JoinBss
获知此 BSS。
请求
名称 | 类型 |
---|---|
assoc_cfg |
WlanAssociationConfig
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_NotifyAssociationComplete_Result
|
查询
获取有关设备及其所支持功能的一般信息。 即使 SoftMAC 尚未启动,此方法也可安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_Query_Result
|
QueryDiscoverySupport
获取有关设备支持的电台发现(例如扫描和探测)功能的信息。即使 SoftMAC 尚未启动,此方法也可以安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryDiscoverySupport_Result
|
QueryMacSublayerSupport
获取有关设备支持的 MAC 功能的信息。即使 SoftMAC 尚未启动,此方法也可以安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryMacSublayerSupport_Result
|
QuerySecuritySupport
获取有关设备支持的安全功能的信息。即使 SoftMAC 尚未启动,此方法也可安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QuerySecuritySupport_Result
|
QuerySpectrumManagementSupport
获取有关频谱使用情况的信息(例如,DFS)功能。即使 SoftMAC 尚未启动,此方法也可以安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QuerySpectrumManagementSupport_Result
|
SetChannel
设置主要电台频道,例如在响应频道切换事件时设置。 如果成功,将会立即触发频道切换。这可能会影响任何传输中的帧的传输,还可能会干扰正在进行的扫描请求。
常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备无法切换到所请求的频道。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseSetChannelRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_SetChannel_Result
|
StartActiveScan
启动一项有效扫描。服务器将使用 WlanSoftmacIfc.Recv() 以信标或探测响应帧的形式提供扫描结果。完成后,服务器将使用 StartActiveScan() 返回的 scan_id
来调用 WlanSoftmacIfc.ScanComplete()。
设备驱动程序通过 fuchsia.wlan.common/ProbeRequestOffloadExtension.supported
指示支持 StartActiveScan()
。
常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行请求的扫描,例如,因为请求了不兼容的信道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacStartActiveScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_StartActiveScan_Result
|
StartPassiveScan
启动被动扫描。服务器将使用 WlanSoftmacIfc.Recv() 以信标帧的形式提供扫描结果。完成后,服务器将使用 StartPassiveScan() 返回的 scan_id
来调用 WlanSoftmacIfc.ScanComplete()。
服务器使用 fuchsia.wlan.common/ScanOffloadExtension.supported
指示支持 StartPassiveScan()
。
常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行请求的扫描,例如,因为请求了不兼容的信道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseStartPassiveScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_StartPassiveScan_Result
|
UpdateWmmParameters
针对特定访问类别 (AC),指明经过修改的 Wi-Fi 多媒体 (WMM) 参数的设备。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseUpdateWmmParametersRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_UpdateWmmParameters_Result
|
WlanSoftmacBridge
在 fuchsia.wlan.softmac/softmac.fidl 中定义
WlanSoftmacBridge
是 wlansoftmac
驱动程序为桥接驱动程序提供的协议。此协议不应由供应商驱动程序实现。
CancelScan
取消与 scan_id
对应的正在进行的扫描,其中 scan_id
是由 StartPassiveScan()
或 StartActiveScan()
返回的标识符。如果取消成功,服务器很快将使用相同的 scan_id
调用 WlanSoftmacIfc.ScanComplete()。
设备驱动程序通过 fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported
指示支持 CancelScan()
。
常见错误包括:
ZX_ERR_NOT_FOUND
:“scan_id
”不是正在进行的扫描。ZX_ERR_NOT_SUPPORTED
:服务器不支持取消扫描。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseCancelScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_CancelScan_Result
|
ClearAssociation
通知 MAC 和 PHY 对等体已取消关联。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseClearAssociationRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_ClearAssociation_Result
|
DisableBeaconing
停用硬件信标。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_DisableBeaconing_Result
|
EnableBeaconing
启用硬件信标。
启用信标时无法调用此方法,因此如果启用了信标,必须在此方法之前调用 DisableBeaconing
。
所有请求字段均为必填字段。
常见错误包括:
ZX_ERR_NOT_SUPPORTED
:设备不支持硬件信标。ZX_ERR_INVALID_ARGS
:设备无法传输请求的信标。ZX_ERR_BAD_STATE
:设备已在设置信标。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseEnableBeaconingRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_EnableBeaconing_Result
|
InstallKey
在传输或接收受保护的帧时安装用于加密的密钥。
常见错误包括: ZX_ERR_INVALID_ARGS:给定配置未指定有效密钥。 ZX_ERR_NOT_SUPPORTED:设备不支持给定的加密。
请求
名称 | 类型 |
---|---|
payload |
WlanKeyConfiguration
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_InstallKey_Result
|
JoinBss
加入我们将参与的特定 BSS。
无论我们是托管 BSS 还是加入 BSS(通过 JoinBssRequest
中的 remote
标志指示),这都适用。如果成功,设备将切换到正确的信道,并执行加入 BSS 所需的所有内部过滤/时间操作。对于客户端 STA,这是进行身份验证之前的第一步。
常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备不支持给定的 bss 配置。
请求
名称 | 类型 |
---|---|
join_request |
fuchsia.wlan.common/JoinBssRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_JoinBss_Result
|
NotifyAssociationComplete
通知设备已成功关联,并配置参与该关联所需的其他参数。
错误
常见错误包括:
ZX_ERR_BAD_STATE
:设备之前未通过WlanSoftmac.JoinBss
获知此 BSS。
请求
名称 | 类型 |
---|---|
assoc_cfg |
WlanAssociationConfig
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_NotifyAssociationComplete_Result
|
查询
获取有关设备及其所支持功能的一般信息。 即使 SoftMAC 尚未启动,此方法也可安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_Query_Result
|
QueryDiscoverySupport
获取有关设备支持的电台发现(例如扫描和探测)功能的信息。即使 SoftMAC 尚未启动,此方法也可以安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryDiscoverySupport_Result
|
QueryMacSublayerSupport
获取有关设备支持的 MAC 功能的信息。即使 SoftMAC 尚未启动,此方法也可以安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryMacSublayerSupport_Result
|
QuerySecuritySupport
获取有关设备支持的安全功能的信息。即使 SoftMAC 尚未启动,此方法也可安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QuerySecuritySupport_Result
|
QuerySpectrumManagementSupport
获取有关频谱使用情况的信息(例如,DFS)功能。即使 SoftMAC 尚未启动,此方法也可以安全调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QuerySpectrumManagementSupport_Result
|
SetChannel
设置主要电台频道,例如在响应频道切换事件时设置。 如果成功,将会立即触发频道切换。这可能会影响任何传输中的帧的传输,还可能会干扰正在进行的扫描请求。
常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备无法切换到所请求的频道。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseSetChannelRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_SetChannel_Result
|
SetEthernetStatus
将包含 ETHERNET_STATUS_*
标志的状态转发到 wlansoftmac 的 C++ 部分所拥有的 fuchsia.hardware.ethernet/EthernetImplIfc
代理。
如文档中所述,status
的值由 ETHERNET_STATUS_*
标志中定义的位设置。但是,只有一个名为 ETHERNET_STATUS_ONLINE
的标志,并且没有指定任何标志的含义。在实际操作中,0x1
表示状态为“上升”,0x0
表示状态为“下降”。
虽然此方法应属于“EthernetImplIfcBridge
协议”之类的内容,但为方便起见,它包含在 WlanSoftmacBridge
协议中。wlansoftmac 驱动程序最终将停止使用 fuchsia.hardware.ethernet/EthernetImplIfc
代理,而改为使用 fuchsia.hardware.network.driver/NetworkDeviceIfc
代理。届时,此方法的等效项应重构为一个单独的桥。
请求
名称 | 类型 |
---|---|
status |
uint32
|
响应
<EMPTY>
开始
向服务器发送信号,表明用于 iface 的 MLME 已准备好发送和接收帧。
客户端提供以下参数:
ifc_bridge
:WlanSoftmacIfcBridge
服务器的客户端,wlansoftmac
驱动程序将使用该服务器将WlanSoftmacIfc
事件转发到桥接驱动程序。frame_processor
:转换为uint64
的frame_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 绑定,因此必须传输 WlanSoftmacIfcBridge
协议,才能供桥接驱动程序使用。其次,与驱动程序传输相比,Zircon 传输会增加明显的延迟。因此,frame_processor
参数会提供 FFI,供 wlansoftmac 驱动程序向桥接驱动程序发送以太网和 WLAN 数据包,使延迟时间接近或优于驱动程序传输协议。
除非另有说明,否则 WlanSoftmacBridge
方法只能在成功调用 WlanSoftmacBridge.Start
后调用。
常见错误包括:
ZX_ERR_ALREADY_BOUND
:已在此 softmac 上调用Start
。
请求
名称 | 类型 |
---|---|
ifc_bridge |
WlanSoftmacIfcBridge
|
frame_processor |
uint64
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBridge_Start_Result
|
StartActiveScan
启动一项有效扫描。服务器将使用 WlanSoftmacIfc.Recv() 以信标或探测响应帧的形式提供扫描结果。完成后,服务器将使用 StartActiveScan() 返回的 scan_id
来调用 WlanSoftmacIfc.ScanComplete()。
设备驱动程序通过 fuchsia.wlan.common/ProbeRequestOffloadExtension.supported
指示支持 StartActiveScan()
。
常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行请求的扫描,例如,因为请求了不兼容的信道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacStartActiveScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_StartActiveScan_Result
|
StartPassiveScan
启动被动扫描。服务器将使用 WlanSoftmacIfc.Recv() 以信标帧的形式提供扫描结果。完成后,服务器将使用 StartPassiveScan() 返回的 scan_id
来调用 WlanSoftmacIfc.ScanComplete()。
服务器使用 fuchsia.wlan.common/ScanOffloadExtension.supported
指示支持 StartPassiveScan()
。
常见错误包括: ZX_ERR_INVALID_ARGS:设备无法执行请求的扫描,例如,因为请求了不兼容的信道。 ZX_ERR_UNAVAILABLE:设备目前无法执行扫描。ZX_ERR_SHOULD_WAIT:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseStartPassiveScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_StartPassiveScan_Result
|
UpdateWmmParameters
针对特定访问类别 (AC),指明经过修改的 Wi-Fi 多媒体 (WMM) 参数的设备。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseUpdateWmmParametersRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_UpdateWmmParameters_Result
|
WlanSoftmacIfc
在 fuchsia.wlan.softmac/softmac.fidl 中定义
NotifyScanComplete
报告与唯一 scan_id
相关联的扫描的完成情况。status
指示扫描是已成功完成、由于错误而失败还是已取消。
返回状态指示扫描完成的原因:ZX_OK:所有频道已成功扫描。ZX_ERR_CANCELLED:扫描因用户请求(显式 WlanSoftmac.CancelScan())或发起不兼容的请求(例如 connect)而终止。ZX_ERR_OUT_OF_RANGE:扫描请求包含禁止的频道。这可能与当前的国家/地区设置有关。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacIfcBaseNotifyScanCompleteRequest
|
响应
<EMPTY>
接收
转发通过无线介质收到的数据包。
请求
名称 | 类型 |
---|---|
packet |
WlanRxPacket
|
响应
<EMPTY>
ReportTxResult
报告尝试传输的结果。
设备驱动程序通过 fuchsia.wlan.common/DeviceExtension.report_tx_result_supported
指示支持 ReportTxResult()
。
请求
名称 | 类型 |
---|---|
tx_result |
fuchsia.wlan.common/WlanTxResult
|
响应
<EMPTY>
WlanSoftmacIfcBase
在 fuchsia.wlan.softmac/softmac.fidl 中定义
包含 WlanSoftmacIfc
和 WlanSoftmacIfcBridge
通用方法的协议。
WlanSoftmacIfc
和 WlanSoftmacIfcBridge
协议具有通用方法,因为后者通常会将 wlansoftmac 驱动程序中收到的 WlanSoftmacIfc
请求转发到桥接驱动程序中的 WlanSoftmacIfcBridge
请求。将此协议编写为 WlanSoftmacIfc
和 WlanSoftmacIfcBridge
可最大限度地减少方法定义(以及由此类重复导致的相关请求转换)的重复。
此协议并非由任何组件直接实现。它由 WlanSoftmacIfc
和 WlanSoftmacIfcBridge
组成。
NotifyScanComplete
报告与唯一 scan_id
相关联的扫描的完成情况。status
指示扫描是已成功完成、由于错误而失败还是已取消。
返回状态指示扫描完成的原因:ZX_OK:所有频道已成功扫描。ZX_ERR_CANCELLED:扫描因用户请求(显式 WlanSoftmac.CancelScan())或发起不兼容的请求(例如 connect)而终止。ZX_ERR_OUT_OF_RANGE:扫描请求包含禁止的频道。这可能与当前的国家/地区设置有关。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacIfcBaseNotifyScanCompleteRequest
|
响应
<EMPTY>
ReportTxResult
报告尝试传输的结果。
设备驱动程序通过 fuchsia.wlan.common/DeviceExtension.report_tx_result_supported
指示支持 ReportTxResult()
。
请求
名称 | 类型 |
---|---|
tx_result |
fuchsia.wlan.common/WlanTxResult
|
响应
<EMPTY>
WlanSoftmacIfcBridge
在 fuchsia.wlan.softmac/softmac.fidl 中定义
用于将 WlanSoftmacIfc
请求从 wlansoftmac 驱动程序传输到桥接驱动程序的协议。
此协议应始终在 HEAD 中提供,因为它旨在作为树内协议。此协议的存在只是因为 wlansoftmac 无法在 Rust 中实现,并且必须与 wlansoftmac-c、wlansoftmac-rust 和 wlan-mlme Rust crate 进行交互。
NotifyScanComplete
报告与唯一 scan_id
相关联的扫描的完成情况。status
指示扫描是已成功完成、由于错误而失败还是已取消。
返回状态指示扫描完成的原因:ZX_OK:所有频道已成功扫描。ZX_ERR_CANCELLED:扫描因用户请求(显式 WlanSoftmac.CancelScan())或发起不兼容的请求(例如 connect)而终止。ZX_ERR_OUT_OF_RANGE:扫描请求包含禁止的频道。这可能与当前的国家/地区设置有关。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacIfcBaseNotifyScanCompleteRequest
|
响应
<EMPTY>
ReportTxResult
报告尝试传输的结果。
设备驱动程序通过 fuchsia.wlan.common/DeviceExtension.report_tx_result_supported
指示支持 ReportTxResult()
。
请求
名称 | 类型 |
---|---|
tx_result |
fuchsia.wlan.common/WlanTxResult
|
响应
<EMPTY>
StopBridgedDriver
停止桥接驱动程序。
调用此方法会导致此协议的服务器端 (WlanSoftmacIfcBridge
) 关闭,而 WlanSoftmacBridge
的客户端端也会关闭。直到处理完所有排队的事件之后,服务器才会从此方法返回响应。
实际上,wlansoftmac 驱动程序会在解除绑定期间调用此方法。
请求
<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 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
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 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
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 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
tx_flags |
uint32
|
传输标志。这些表示布尔值选项,而不是枚举或其他基于值的信息(如下所示)。值应从 WLAN_TX_INFO_FLAGS_* 枚举中获取。 |
无默认取景方式 |
valid_fields |
uint32
|
指示以下哪些字段在此结构体中有效的位掩码。预留标志必须为零。由 softmac 驱动程序自行决定的未用标记表示的字段的值可以由 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 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
mac_frame |
vector<uint8>
|
无默认取景方式 | |
info |
WlanTxInfo
|
传输数据包所需的额外数据。 TODO(https://fxbug.dev/42056823):iwlwifi 忽略此字段。 |
无默认取景方式 |
枚举
WlanProtection 严格
类型:uint8
在 fuchsia.wlan.softmac/softmac.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
无 |
0 |
|
RX |
1 |
|
TX |
2 |
|
RX_TX |
3 |
表
FrameProcessorEthernetTxRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
packet_address |
uint64
|
|
2 |
packet_size |
uint64
|
|
3 |
async_id |
uint64
|
FrameProcessorWlanRxRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
packet_address |
uint64
|
|
2 |
packet_size |
uint64
|
|
3 |
packet_info |
WlanRxInfo
|
|
4 |
async_id |
uint64
|
FrameSenderEthernetRxRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
packet_address |
uint64
|
|
2 |
packet_size |
uint64
|
FrameSenderWlanTxRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
packet_address |
uint64
|
|
2 |
packet_size |
uint64
|
|
3 |
packet_info |
WlanTxInfo
|
|
4 |
async_id |
uint64
|
WlanAssociationConfig
在 fuchsia.wlan.softmac/softmac.fidl 中定义
要作为单个参数传递给 WlanSoftmac.NotifyAssociationComplete 的参数表。 此处的所有信息仅适用于与指定的 Peer_addr 关联的情境。除非另有说明,否则此表中的所有字段均为必填字段。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
bssid |
fuchsia.wlan.ieee80211/MacAddr
|
我们现在关联的对等设备的 MAC 地址。 |
2 |
aid |
uint16
|
该特定关联的唯一标识符。这在有效关联中是唯一的,不一定是历史关联。 |
3 |
listen_interval |
uint16
|
|
4 |
channel |
fuchsia.wlan.common/WlanChannel
|
我们与此类似应用相关联的渠道。 |
5 |
qos |
bool
|
支持 QoS 和参数 |
6 |
wmm_params |
fuchsia.wlan.common/WlanWmmParameters
|
WFA WMM v1.2、2.2.2 |
7 |
rates |
vector<uint8>[263]
|
SupportRates 和 ExtendedSupportedRates IEEE 标准 802.11-2016、9.4.2.3 和 9.4.2.13 的串联 |
8 |
capability_info |
uint16
|
IEEE Std 802.11-2016、9.4.1.4 |
9 |
ht_cap |
fuchsia.wlan.ieee80211/HtCapabilities
|
“受支持 MCS 设置”字段中的 IEEE Std 802.11-2016、9.4.2.56、57 Rx MCS 位掩码表示对等设备可以从此设备接收的 MCS 集(考虑该设备的 Tx 功能)。 |
10 |
ht_op |
fuchsia.wlan.ieee80211/HtOperation
|
|
11 |
vht_cap |
fuchsia.wlan.ieee80211/VhtCapabilities
|
IEEE Std 802.11-2016、9.4.2.158、159 |
12 |
vht_op |
fuchsia.wlan.ieee80211/VhtOperation
|
WlanKeyConfiguration
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
protection |
WlanProtection
|
要保护的路径:None、TX、RX 或 TX 和 RX。 |
2 |
cipher_oui |
uint8[3]
|
IEEE 加密套件选择器。 请参阅 IEEE Std 802.11-2016、9.4.2.25.2、表 9-131 |
3 |
cipher_type |
uint8
|
|
4 |
key_type |
fuchsia.wlan.common/WlanKeyType
|
此密钥是成对密钥、组密钥还是对等密钥。 |
5 |
peer_addr |
fuchsia.wlan.ieee80211/MacAddr
|
成对密钥和对等密钥的对等 MAC 地址。对于群组键,此值始终是广播地址。 |
6 |
key_idx |
uint8
|
轮替密钥(例如组密钥)的索引。 对于不轮替的密钥类型(例如成对密钥),此值始终为 0。 |
7 |
key |
vector<uint8>[32]
|
|
8 |
rsc |
uint64
|
仅接收组键的序列计数器。 在所有其他情况下,RSC 均为 0。 |
WlanSoftmacBandCapability
在 fuchsia.wlan.softmac/softmac.fidl 中定义
描述 SoftMAC 在特定频段上的功能。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
band |
fuchsia.wlan.common/WlanBand
|
此数据报描述的功能适用的频段。 |
2 |
basic_rate_count |
uint8
|
支持的基本费率的计数。如果存在 弃用此字段已替换为 已弃用:15
|
3 |
basic_rate_list |
uint8[12]
|
以 500 Kbit/s 为单位(如 IEEE Std 802.11-2016 和 9.4.2.3 中所定义)为单位的一组支持的基本速率,例如:0x02 表示 1 Mbps。该集合代表设备支持在传输和接收方面均支持的所有非 HT 速率。 此字段中显示的费率计数必须与 弃用此字段已替换为 已弃用:15
|
4 |
ht_supported |
bool
|
确定客户端是否应读取 弃用此字段用于确定客户端是否读取 已弃用:15
|
5 |
ht_caps |
fuchsia.wlan.ieee80211/HtCapabilities
|
|
6 |
vht_supported |
bool
|
确定客户端是否应读取 弃用此字段用于确定客户端是否读取 已弃用:15
|
7 |
vht_caps |
fuchsia.wlan.ieee80211/VhtCapabilities
|
|
8 |
operating_channel_count |
uint16
|
操作通道数。如果存在 弃用此字段已替换为 已弃用:15
|
9 |
operating_channel_list |
uint8[256]
|
各监管信息由设备驱动程序在 iface 创建期间确定的有效操作通道集。操作信道是指 AP 可在其上传输信标帧的信道。 此字段中显示的频道数必须与 弃用此字段已替换为 已弃用:15
|
10 |
basic_rates |
vector<uint8>[12]
|
以 500 Kbit/s 为单位(如 IEEE Std 802.11-2016 和 9.4.2.3 中所定义)为单位的一组支持的基本速率,例如:0x02 表示 1 Mbps。该集合代表设备支持在传输和接收方面均支持的所有非 HT 速率。 添加数量:15
|
11 |
operating_channels |
vector<uint8>[256]
|
各监管信息由设备驱动程序在 iface 创建期间确定的有效操作通道集。操作信道是指 AP 可在其上传输信标帧的信道。 客户端必须使用此集合来确定后续请求通过 iface 扫描部分信道的有效性,或确定在启动 AP 时要使用的操作信道。 添加数量:15
|
WlanSoftmacBaseCancelScanRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
scan_id |
uint64
|
WlanSoftmacBaseClearAssociationRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
peer_addr |
fuchsia.wlan.ieee80211/MacAddr
|
WlanSoftmacBaseEnableBeaconingRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
packet_template |
WlanTxPacket
|
信标模板。由于这是一个模板,因此某些数据包内容只能包含极少的有效信息,因为这些内容稍后可通过硬件、固件或软件进行修改。 |
2 |
tim_ele_offset |
uint64
|
到 |
3 |
beacon_interval |
uint16
|
信标间隔时间段(以 TU 为单位)。 |
WlanSoftmacBaseSetChannelRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
channel |
fuchsia.wlan.common/WlanChannel
|
WlanSoftmacBaseStartPassiveScanRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
channels |
vector<uint8>[256]
|
要扫描的频道的列表。如果频道列表为空,则会导致扫描请求立即返回 ZX_ERR_INVALID_ARGS。 系统会忽略无效的频道号。信道号的有效性取决于当前的监管地区,SoftMAC 驱动程序无法始终确定地区设置。当固件动态更改区域设置时,尤其如此。 这是一个必需参数。 |
2 |
min_channel_time |
zx/Duration
|
扫描期间每个渠道的支出下限。 |
3 |
max_channel_time |
zx/Duration
|
扫描期间每个渠道的支出上限。 |
4 |
min_home_time |
zx/Duration
|
在主频道上的停留时间(主频道对应于设备未扫描时本应存在的通道)之间在主频道上的停留时间的最短时长。 |
WlanSoftmacBaseUpdateWmmParametersRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
ac |
fuchsia.wlan.ieee80211/WlanAccessCategory
|
|
2 |
params |
fuchsia.wlan.common/WlanWmmParameters
|
WlanSoftmacBase_StartActiveScan_Response
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
scan_id |
uint64
|
WlanSoftmacBase_StartPassiveScan_Response
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
scan_id |
uint64
|
WlanSoftmacIfcBaseNotifyScanCompleteRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
status |
zx/Status
|
|
2 |
scan_id |
uint64
|
WlanSoftmacQueryResponse
在 fuchsia.wlan.softmac/softmac.fidl 中定义
描述正在运行的 softmac 状态的概要信息。 此响应中的所有字段均为必填字段。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
sta_addr |
fuchsia.wlan.ieee80211/MacAddr
|
车站地址。 |
2 |
mac_role |
fuchsia.wlan.common/WlanMacRole
|
MAC 角色 |
3 |
supported_phys |
vector<fuchsia.wlan.common/WlanPhyType>[64]
|
表示硬件支持的 WlanInfoPhyType 值的位掩码。 |
4 |
hardware_capability |
fuchsia.wlan.common/WlanSoftmacHardwareCapability
|
表示已启用的 WlanInfoHardwareCapability 值的位掩码。定义为 fuchsia.wlan.common.WlanSoftmacHardwareCapability 的值 |
5 |
band_caps |
vector<WlanSoftmacBandCapability>[16]
|
支持的波段。 |
WlanSoftmacStartActiveScanRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
要作为单个参数传递给 WlanSoftmac.StartActiveScan 的参数结构体
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
channels |
vector<uint8>[256]
|
要扫描的频道的列表。如果频道列表为空,则会导致扫描请求立即返回 ZX_ERR_INVALID_ARGS。 系统会忽略无效的频道号。信道号的有效性取决于当前的监管地区,SoftMAC 驱动程序无法始终确定地区设置。当固件动态更改区域设置时,尤其如此。 |
2 |
ssids |
vector<fuchsia.wlan.ieee80211/CSsid>[84]
|
要扫描的 SSID 列表。对于具有单个 SSID 的列表,该 SSID 将放置在探测请求帧的 SSID 元素中。对于包含多个 SSID 的列表,系统会将所有 SSID 放置在探测请求帧的 SSID 列表元素中,并将列表中的第一个 SSID 置于必需的 SSID 元素中。空列表等同于指定仅包含通配符 SSID 的列表。 |
3 |
mac_header |
vector<uint8>[28]
|
包含要在每个探测请求帧中包含的 MAC 标头的缓冲区(如 IEEE 标准 802.11-2016 和 9.3.3.2 中所定义)。 |
4 |
ies |
vector<uint8>[11454]
|
包含要在每个探测请求帧中包含的 IE 字节的缓冲区。 指定的 IE 不得导致探测请求 MMPDU 超出 IEEE 标准 802.11-2016、9.2.4.7 中规定的限制。您可以在 fuchsia.wlan.ieee80211 中找到 MMPDU 限制常量。这些限制非常大,通过指定探测请求帧中发现的最常见 IE 不太可能超过这些限制。 |
5 |
min_channel_time |
zx/Duration
|
扫描期间每个渠道的支出下限。 |
6 |
max_channel_time |
zx/Duration
|
扫描期间每个渠道的支出上限。 |
7 |
min_home_time |
zx/Duration
|
在主频道上停留时间(主频道与设备不扫描时设备本应存在的频道之间)之间的最短停留时间。 |
8 |
min_probes_per_channel |
uint8
|
扫描期间每次通道访问要传输的探测请求帧数下限。通道访问的定义可能因设备驱动程序而异,但大致是扫描期间在特定通道上所花的时间。 在通道上发送多个探测请求帧可能会提高在嘈杂环境中收到该帧的可能性。 |
9 |
max_probes_per_channel |
uint8
|
扫描期间每次通道访问要传输的探测请求帧数上限。通道访问的定义可能因设备驱动程序而异,但大致是扫描期间在特定通道上所花的时间。指定 0 是无效的,因为对于有效扫描,必须至少传输一个探测请求帧。 限制在通道上发送的“探测请求”帧的数量可以减少传输帧所花费的时间,从而增加在扫描时接收帧所花费的时间。 |
联合
FrameProcessor_EthernetTx_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
FrameProcessor_EthernetTx_Response
|
|
2 |
err |
zx/Status
|
FrameSender_EthernetRx_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
FrameSender_EthernetRx_Response
|
|
2 |
err |
zx/Status
|
FrameSender_WlanTx_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
FrameSender_WlanTx_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_CancelScan_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_CancelScan_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_ClearAssociation_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_ClearAssociation_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_DisableBeaconing_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_DisableBeaconing_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_EnableBeaconing_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_EnableBeaconing_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_InstallKey_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_InstallKey_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_JoinBss_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_JoinBss_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_NotificationsAssociationComplete_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_NotifyAssociationComplete_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_QueryDiscoverySupport_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_QueryDiscoverySupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_QueryMacSublayerSupport_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_QueryMacSublayerSupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_QuerySecuritySupport_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_QuerySecuritySupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_QuerySpectrumManagementSupport_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_QuerySpectrumManagementSupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_Query_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacQueryResponse
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_SetChannel_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_SetChannel_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_StartActiveScan_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_StartActiveScan_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_StartPassiveScan_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_StartPassiveScan_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_UpdateWmmParameters_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_UpdateWmmParameters_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBridge_Start_Result strict 资源
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBridge_Start_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_QueueTx_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmac_QueueTx_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_Start_Result 严格 资源
在 fuchsia.wlan.softmac/softmac.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmac_Start_Response
|
|
2 |
err |
zx/Status
|
BITS
WlanRxInfoFlags 灵活
类型:uint32
在 fuchsia.wlan.softmac/softmac.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
FCS_INVALID |
1 | 已接收帧的 FCS 无效。 |
FRAME_BODY_PADDING_4 |
2 | 在 MAC 标头之后添加了内边距,以使帧正文对齐到 4 个字节。 |
WlanRxInfoValid 灵活
类型:uint32
在 fuchsia.wlan.softmac/softmac.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
PHY |
1 | |
DATA_RATE |
2 | |
CHAN_WIDTH |
4 | |
MCS |
8 | |
RSSI |
16 | |
SNR |
32 |
WlanTxInfoFlags 灵活
类型:uint32
在 fuchsia.wlan.softmac/softmac.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
已保护 |
1 | 表明此数据包应受到保护。 |
FAVOR_RELIABILITY |
2 | 对于速率控制:指示重要数据帧(例如 EAPOL),系统应可靠以而不是快速的方式发送,并且不受速率探测限制 |
服务质量 |
4 | 指示数据包应尽可能使用 QoS 标头发送 (11n+)。 |
WlanTxInfoValid 灵活
类型:uint32
在 fuchsia.wlan.softmac/softmac.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
DATA_RATE |
1 | |
TX_VECTOR_IDX |
2 | |
PHY |
4 | |
CHANNEL_BANDWIDTH |
8 | |
MCS |
16 |
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
WLAN_MAC_MAX_RATES |
263
|
uint32 |
添加数量:15
|
服务
服务
在 fuchsia.wlan.softmac/softmac.fidl 中定义
名称 | 类型 | 传输 |
---|---|---|
wlan_softmac |
fuchsia.wlan.softmac/WlanSoftmac
|
驱动程序 |