PROTOCOLS
EthernetRx
在 fuchsia.wlan.softmac/softmac.fidl 中定义
用于从桥接 wlansoftmac 发送以太网帧的协议 推送到 wlansoftmac 驱动程序。
实验性
此协议作为外部函数接口 (FFI) 实现 wlansoftmac 驱动程序和桥接驱动程序之间仅为了改进 通过 wlan-mlme 库处理数据帧的性能。
转移
请求
名称 | 类型 |
---|---|
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
会泄漏内存,多次调用会导致释放后使用。
转移
请求
名称 | 类型 |
---|---|
payload |
EthernetTxTransferRequest
|
响应
名称 | 类型 |
---|---|
payload |
EthernetTx_Transfer_Result
|
WlanRx
在 fuchsia.wlan.softmac/softmac.fidl 中定义
用于将 WLAN 帧从 wlansoftmac 驱动程序发送到桥接的协议 wlansoftmac 驱动程序。
实验性
此协议作为外部函数接口 (FFI) 实现 wlansoftmac 驱动程序和桥接驱动程序之间仅为了改进 通过 wlan-mlme 库处理数据帧的性能。
转移
请求
名称 | 类型 |
---|---|
payload |
WlanRxTransferRequest
|
响应
<空>
WlanSoftmac
在 fuchsia.wlan.softmac/softmac.fidl 中定义
WlanSoftmac
是由第三方驱动程序实现的 SDK 版本协议。
CancelScan
取消与 scan_id
相对应的正在进行的扫描,
其中 scan_id
是
StartPassiveScan()
或 StartActiveScan()
。如果取消成功
服务器很快就会调用 WlanSoftmacIfc.ScanComplete()
scan_id
。
设备驱动程序指示支持 CancelScan()
,使用
fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported
。
常见错误包括:
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
停用硬件信标。
请求
<空>
响应
名称 | 类型 |
---|---|
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
:之前未告知设备此 BSS 经由WlanSoftmac.JoinBss
。
请求
名称 | 类型 |
---|---|
assoc_cfg |
WlanAssociationConfig
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_NotifyAssociationComplete_Result
|
查询
获取有关设备及其所支持功能的一般信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。
注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_Query_Result
|
QueryDiscoverySupport
获取有关车站发现的信息(例如,扫描和 探测)功能。您可以安全地调用此方法 (即使 SoftMAC 尚未启动)。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryDiscoverySupport_Result
|
QueryMacSublayerSupport
获取有关设备支持的 MAC 功能的信息。这个 方法可以安全地调用,即使 SoftMAC 尚未启动也是如此。
注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryMacSublayerSupport_Result
|
QuerySecuritySupport
获取有关设备支持的安全功能的信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QuerySecuritySupport_Result
|
QuerySpectrumManagementSupport
获取有关频谱使用的信息(例如,支持 DFS)功能 。此方法可以安全地调用,即使 SoftMAC 尚未 尚未开始。
请求
<空>
响应
名称 | 类型 |
---|---|
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
协议的服务器端。SME
代表 iface 拥有客户端。因此,该渠道适用于 SME <->MLME
通信。
除非另有说明,否则只能在调用 WlanSoftmac
方法之后
成功调用 WlanSoftmac.Start
。
常见错误包括:
ZX_ERR_ALREADY_BOUND
:已在此 softmac 上调用Start
。
请求
名称 | 类型 |
---|---|
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:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
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:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseStartPassiveScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_StartPassiveScan_Result
|
停止
如果 Softmac 正在运行,请将其关闭。 在 softmac 未运行时可以安全地调用。
请求
<空>
响应
<空>
UpdateWmmParameters
指示设备拥有经过修改的 Wi-Fi 多媒体 (WMM) 参数 特定访问类别 (AC)。
请求
名称 | 类型 |
---|---|
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()
。如果取消成功
服务器很快就会调用 WlanSoftmacIfc.ScanComplete()
scan_id
。
设备驱动程序指示支持 CancelScan()
,使用
fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported
。
常见错误包括:
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
停用硬件信标。
请求
<空>
响应
名称 | 类型 |
---|---|
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
:之前未告知设备此 BSS 经由WlanSoftmac.JoinBss
。
请求
名称 | 类型 |
---|---|
assoc_cfg |
WlanAssociationConfig
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_NotifyAssociationComplete_Result
|
查询
获取有关设备及其所支持功能的一般信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。
注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_Query_Result
|
QueryDiscoverySupport
获取有关车站发现的信息(例如,扫描和 探测)功能。您可以安全地调用此方法 (即使 SoftMAC 尚未启动)。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryDiscoverySupport_Result
|
QueryMacSublayerSupport
获取有关设备支持的 MAC 功能的信息。这个 方法可以安全地调用,即使 SoftMAC 尚未启动也是如此。
注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryMacSublayerSupport_Result
|
QuerySecuritySupport
获取有关设备支持的安全功能的信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QuerySecuritySupport_Result
|
QuerySpectrumManagementSupport
获取有关频谱使用的信息(例如,支持 DFS)功能 。此方法可以安全地调用,即使 SoftMAC 尚未 尚未开始。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QuerySpectrumManagementSupport_Result
|
SetChannel
设置主要电台频道,如以响应频道切换事件。 如果成功,此操作会立即触发频道切换。这可能会 会影响传输中帧的传输,还可能 会干扰进行中的扫描请求。
常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备无法切换到所请求的频道。
请求
名称 | 类型 |
---|---|
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:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
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:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseStartPassiveScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_StartPassiveScan_Result
|
UpdateWmmParameters
指示设备拥有经过修改的 Wi-Fi 多媒体 (WMM) 参数 特定访问类别 (AC)。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseUpdateWmmParametersRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_UpdateWmmParameters_Result
|
WlanSoftmacBridge
在 fuchsia.wlan.softmac/softmac.fidl 中定义
WlanSoftmacBridge
是 wlansoftmac
驱动程序使用的协议
桥接驱动程序不应实现此协议
由供应商驱动程序提供
CancelScan
取消与 scan_id
相对应的正在进行的扫描,
其中 scan_id
是
StartPassiveScan()
或 StartActiveScan()
。如果取消成功
服务器很快就会调用 WlanSoftmacIfc.ScanComplete()
scan_id
。
设备驱动程序指示支持 CancelScan()
,使用
fuchsia.wlan.common/ScanOffloadExtension.scan_cancel_supported
。
常见错误包括:
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
停用硬件信标。
请求
<空>
响应
名称 | 类型 |
---|---|
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
:之前未告知设备此 BSS 经由WlanSoftmac.JoinBss
。
请求
名称 | 类型 |
---|---|
assoc_cfg |
WlanAssociationConfig
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_NotifyAssociationComplete_Result
|
查询
获取有关设备及其所支持功能的一般信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。
注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_Query_Result
|
QueryDiscoverySupport
获取有关车站发现的信息(例如,扫描和 探测)功能。您可以安全地调用此方法 (即使 SoftMAC 尚未启动)。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryDiscoverySupport_Result
|
QueryMacSublayerSupport
获取有关设备支持的 MAC 功能的信息。这个 方法可以安全地调用,即使 SoftMAC 尚未启动也是如此。
注意:此方法的实现不得依赖于响应 来自以太网驱动程序,否则有死锁的风险。 wlansoftmac 驱动程序会同步调用此方法,并且会同时调用 提供 fuchsia.hardware.ethernet/EthernetImpl.Query 方法。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QueryMacSublayerSupport_Result
|
QuerySecuritySupport
获取有关设备支持的安全功能的信息。 即使 SoftMAC 尚未启动,也可以安全地调用此方法。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QuerySecuritySupport_Result
|
QuerySpectrumManagementSupport
获取有关频谱使用的信息(例如,支持 DFS)功能 。此方法可以安全地调用,即使 SoftMAC 尚未 尚未开始。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_QuerySpectrumManagementSupport_Result
|
SetChannel
设置主要电台频道,如以响应频道切换事件。 如果成功,此操作会立即触发频道切换。这可能会 会影响传输中帧的传输,还可能 会干扰进行中的扫描请求。
常见错误包括:
ZX_ERR_NOT_SUPPORTED:设备无法切换到所请求的频道。
请求
名称 | 类型 |
---|---|
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
代理此时,此方法的等效项应为
重构为单独的迁移桥。
请求
名称 | 类型 |
---|---|
status |
uint32
|
响应
<空>
开始
向服务器表明 iface 的 MLME 可以发送和接收了 帧。
客户端提供以下参数:
ifc_bridge
:WlanSoftmacIfcBridge
服务器的客户端,wlansoftmac
司机将用于将WlanSoftmacIfc
事件转发给 桥接驱动程序。ethernet_tx
:转换为uint64
的ethernet_tx_t*
。通过ethernet_tx_t
在//src/connectivity/wlan/drivers/wlansoftmac/rust_driver/c-binding/bindings.h
。wlan_rx
:转换为uint64
的wlan_rx_t*
。通过wlan_rx_t
在//src/connectivity/wlan/drivers/wlansoftmac/rust_driver/c-binding/bindings.h
。
服务器必须先复制 ethernet_tx_t
和 wlan_rx_t
的内容,
返回的值。ethernet_tx_t*
和 wlan_rx_t*
的生命周期仅
与此方法调用一样长,但 ethernet_tx_t
和 wlan_rx_t
的内容将
直到服务器停止 MLME 为止。
服务器会返回 fuchsia.wlan.mlme/MLME
协议的服务器端。SME
代表 iface 拥有客户端。因此,该渠道适用于 SME <->MLME
通信。
WlanSoftmacBridge.Start
方法与 WlanSoftmac.Start
不同
有两个原因首先,传输驱动程序不存在 Rust 绑定
因此 WlanSoftmacIfcBridge
协议必须先经过 Zircon 传输,然后才能
可供桥接驱动程序使用。其次,Zircon 运输系统还增加了
与驱动程序传输相比,延迟时间明显更长。因此,
ethernet_tx
和 wlan_rx
参数为 wlansoftmac 驱动程序提供 FFI
使用
与驱动程序传输协议相当或更好。
除非另有说明,否则只能在调用 WlanSoftmacBridge
方法之后
成功调用 WlanSoftmacBridge.Start
。
常见错误包括:
ZX_ERR_ALREADY_BOUND
:已在此 softmac 上调用Start
。
请求
名称 | 类型 |
---|---|
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:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
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:另一项扫描已在进行中。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseStartPassiveScanRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_StartPassiveScan_Result
|
UpdateWmmParameters
指示设备拥有经过修改的 Wi-Fi 多媒体 (WMM) 参数 特定访问类别 (AC)。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacBaseUpdateWmmParametersRequest
|
响应
名称 | 类型 |
---|---|
payload |
WlanSoftmacBase_UpdateWmmParameters_Result
|
WlanSoftmacIfc
在 fuchsia.wlan.softmac/softmac.fidl 中定义
NotifyScanComplete
报告与唯一 scan_id
关联的扫描完成。status
指示扫描是已成功完成、因错误而失败、
或 已被取消。
返回状态指示扫描完成的原因: ZX_OK:所有频道都已成功扫描。 ZX_ERR_CANCELLED:扫描已因用户请求(要么是 显式 WlanSoftmac.CancelScan() 或启动 不兼容的请求(例如连接)。 ZX_ERR_OUT_OF_RANGE:扫描请求包含被禁止的频道。 这可能与当前的国家/地区设置有关。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacIfcBaseNotifyScanCompleteRequest
|
响应
<空>
接收
转发通过无线媒介收到的数据包。
请求
名称 | 类型 |
---|---|
packet |
WlanRxPacket
|
响应
<空>
ReportTxResult
报告尝试传输的结果。
设备驱动程序指示支持 ReportTxResult()
,使用
fuchsia.wlan.common/DeviceExtension.report_tx_result_supported
。
请求
名称 | 类型 |
---|---|
tx_result |
fuchsia.wlan.common/WlanTxResult
|
响应
<空>
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() 或启动 不兼容的请求(例如连接)。 ZX_ERR_OUT_OF_RANGE:扫描请求包含被禁止的频道。 这可能与当前的国家/地区设置有关。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacIfcBaseNotifyScanCompleteRequest
|
响应
<空>
ReportTxResult
报告尝试传输的结果。
设备驱动程序指示支持 ReportTxResult()
,使用
fuchsia.wlan.common/DeviceExtension.report_tx_result_supported
。
请求
名称 | 类型 |
---|---|
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。
NotifyScanComplete
报告与唯一 scan_id
关联的扫描完成。status
指示扫描是已成功完成、因错误而失败、
或 已被取消。
返回状态指示扫描完成的原因: ZX_OK:所有频道都已成功扫描。 ZX_ERR_CANCELLED:扫描已因用户请求(要么是 显式 WlanSoftmac.CancelScan() 或启动 不兼容的请求(例如连接)。 ZX_ERR_OUT_OF_RANGE:扫描请求包含被禁止的频道。 这可能与当前的国家/地区设置有关。
请求
名称 | 类型 |
---|---|
payload |
WlanSoftmacIfcBaseNotifyScanCompleteRequest
|
响应
<空>
ReportTxResult
报告尝试传输的结果。
设备驱动程序指示支持 ReportTxResult()
,使用
fuchsia.wlan.common/DeviceExtension.report_tx_result_supported
。
请求
名称 | 类型 |
---|---|
tx_result |
fuchsia.wlan.common/WlanTxResult
|
响应
<空>
StopBridgedDriver
停止桥接驱动程序。
调用此方法会导致此协议的服务器端 (WlanSoftmacIfcBridge
) 出现
关闭,WlanSoftmacBridge
的客户端关闭。服务器不会返回
返回 1000 响应。
实际上,wlansoftmac 驱动程序会在解除绑定期间调用此方法。
请求
<空>
响应
<空>
WlanTx
在 fuchsia.wlan.softmac/softmac.fidl 中定义
用于从桥接 wlansoftmac 发送 WLAN 帧的协议 推送到 wlansoftmac 驱动程序。
实验性
此协议作为外部函数接口 (FFI) 实现 wlansoftmac 驱动程序和桥接驱动程序之间仅为了改进 通过 wlan-mlme 库处理数据帧的性能。
转移
请求
名称 | 类型 |
---|---|
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 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
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 中定义
<空>
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 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
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 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
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 中定义
名称 | 值 | 说明 |
---|---|---|
无 |
0 |
|
RX |
1 |
|
TX |
2 |
|
RX_TX |
3 |
表
EthernetRxTransferRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
packet_address |
uint64
|
|
2 |
packet_size |
uint64
|
EthernetTxTransferRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
packet_address |
uint64
|
|
2 |
packet_size |
uint64
|
|
3 |
async_id |
uint64
|
|
4 |
borrowed_operation |
uint64
|
|
5 |
complete_borrowed_operation |
uint64
|
WlanAssociationConfig
在 fuchsia.wlan.softmac/softmac.fidl 中定义
要作为单个参数传递给的参数表 WlanSoftmac.NotifyAssociationComplete. 此处的所有信息仅适用于与 指定的 Peer_addr。 除非另有说明,否则下表中的所有字段均为必填字段。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
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]
|
SupportedRates 和 ExtendedSupportedRates 的串联 IEEE 标准 802.11-2016、9.4.2.3 及9.4.2.13 |
8 |
capability_info |
uint16
|
IEEE 标准 802.11-2016、9.4.1.4 |
9 |
ht_cap |
fuchsia.wlan.ieee80211/HtCapabilities
|
IEEE 标准 802.11-2016、9.4.2.56、57 “受支持的 MCS 集”字段中的 Rx MCS 位掩码表示 MCS 集 考虑此设备的 Tx 功能,这样对等设备就可以从此设备接收 到 的带宽。 |
10 |
ht_op |
fuchsia.wlan.ieee80211/HtOperation
|
|
11 |
vht_cap |
fuchsia.wlan.ieee80211/VhtCapabilities
|
IEEE 标准 802.11-2016、9.4.2.158、159 |
12 |
vht_op |
fuchsia.wlan.ieee80211/VhtOperation
|
WlanKeyConfiguration
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
protection |
WlanProtection
|
要保护的路径:“无”“TX”“RX”或“TX 和 RX”。 |
2 |
cipher_oui |
uint8[3]
|
IEEE 加密套件选择器。 请参阅 IEEE 标准 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。 |
WlanRxTransferRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
packet_address |
uint64
|
|
2 |
packet_size |
uint64
|
|
3 |
packet_info |
WlanRxInfo
|
|
4 |
async_id |
uint64
|
|
5 |
arena |
uint64
|
WlanSoftmacBandCapability
在 fuchsia.wlan.softmac/softmac.fidl 中定义
描述特定频段 SoftMAC 的功能。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
band |
fuchsia.wlan.common/WlanBand
|
此数据报描述的功能适用的频段。 |
2 |
basic_rate_count |
uint8
|
支持的基本费率的计数。如果 弃用此字段已替换为 已弃用:15
|
3 |
basic_rate_list |
uint8[12]
|
以 500 Kbit/s 为单位表示的一组受支持基本速率(如 IEEE 中所定义) 标准 802.11-2016、9.4.2.3),例如0x02 表示 1 Mbps。本组 表示设备同时支持这两种非 HT 速率的所有非 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 中所定义) 标准 802.11-2016、9.4.2.3),例如0x02 表示 1 Mbps。本组 表示设备同时支持这两种非 HT 速率的所有非 HT 速率。 传输和接收 添加时间:15
|
11 |
operating_channels |
vector<uint8>[256]
|
根据监管信息确定的有效运营渠道集 由设备驱动程序在 iface 创建期间触发。运营渠道是指 到 AP 可在其中传输信标帧的信道。 客户端必须使用此集合来确定后续 使用 iface 扫描频道子集的请求,或确定 启动 AP 时使用哪个操作频道。 添加时间:15
|
WlanSoftmacBaseCancelScanRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
scan_id |
uint64
|
WlanSoftmacBaseClearAssociationRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
peer_addr |
fuchsia.wlan.ieee80211/MacAddr
|
WlanSoftmacBaseEnableBeaconingRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
packet_template |
WlanTxPacket
|
信标模板。由于这是一个模板,因此某些数据包内容 只包含最少量的有效信息,因为内容 并对其进行更改。 |
2 |
tim_ele_offset |
uint64
|
到 |
3 |
beacon_interval |
uint16
|
信标间隔时间(以 TU 为单位)。 |
WlanSoftmacBaseSetChannelRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
channel |
fuchsia.wlan.common/WlanChannel
|
WlanSoftmacBaseStartPassiveScanRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
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 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
ac |
fuchsia.wlan.ieee80211/WlanAccessCategory
|
|
2 |
params |
fuchsia.wlan.common/WlanWmmParameters
|
WlanSoftmacBase_StartActiveScan_Response
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
scan_id |
uint64
|
WlanSoftmacBase_StartPassiveScan_Response
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
scan_id |
uint64
|
WlanSoftmacIfcBaseNotifyScanCompleteRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
status |
zx/Status
|
|
2 |
scan_id |
uint64
|
WlanSoftmacQueryResponse
在 fuchsia.wlan.softmac/softmac.fidl 中定义
描述正在运行的 softmac 状态的概要信息。 此回答中的所有字段均为必填字段。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
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 的参数结构体
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
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 List 元素中, 列表中的第一个 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 定义的限制。MMPDU 限制常量 可在 fuchsia.wlan.ieee80211 中找到。这些限制 通过指定 探测请求帧。 |
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 无效 因为必须传输至少一个探测请求帧以进行有效扫描。 限制在通道上发送的探测请求帧数可减少所花费的时间 传输帧,因此会增加扫描时接收帧所用的时间。 |
WlanTxTransferRequest
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
packet_address |
uint64
|
|
2 |
packet_size |
uint64
|
|
3 |
packet_info |
WlanTxInfo
|
|
4 |
async_id |
uint64
|
|
5 |
arena |
uint64
|
联合体
EthernetRx_Transfer_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
EthernetRx_Transfer_Response
|
|
2 |
err |
zx/Status
|
EthernetTx_Transfer_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
EthernetTx_Transfer_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_CancelScan_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_CancelScan_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_ClearAssociation_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_ClearAssociation_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_DisableBeaconing_Result strict
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_DisableBeaconing_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_EnableBeaconing_Result strict
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_EnableBeaconing_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_InstallKey_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_InstallKey_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_JoinBss_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_JoinBss_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_NotifyAssociationComplete_Result strict(严格)
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_NotifyAssociationComplete_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_QueryDiscoverySupport_Result strict
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_QueryDiscoverySupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_QueryMacSublayerSupport_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_QueryMacSublayerSupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_QuerySecuritySupport_Result strict
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_QuerySecuritySupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_QuerySpectrumManagementSupport_Result strict
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_QuerySpectrumManagementSupport_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_Query_Result strict
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacQueryResponse
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_SetChannel_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_SetChannel_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_StartActiveScan_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_StartActiveScan_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_StartPassiveScan_Result strict
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_StartPassiveScan_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBase_UpdateWmmParameters_Result strict
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBase_UpdateWmmParameters_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmacBridge_Start_Result 严格资源
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmacBridge_Start_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_QueueTx_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmac_QueueTx_Response
|
|
2 |
err |
zx/Status
|
WlanSoftmac_Start_Result 严格资源
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanSoftmac_Start_Response
|
|
2 |
err |
zx/Status
|
WlanTx_Transfer_Result 严格
在 fuchsia.wlan.softmac/softmac.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
WlanTx_Transfer_Response
|
|
2 |
err |
zx/Status
|
位
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 可靠而非快速,并且无需进行速率探测 |
QOS |
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
|
驱动程序 |