MB SAR 平台支持

概述

特定吸收率 (SAR) 是能够改变 MBB 无线电发射机功率,以响应 MBB 天线对用户的邻近性。 传统上,OEM 为 SAR 实现了专有解决方案。 这要求 OEM 实现仅在其用户模式驱动程序 (UMDF) 与调制解调器之间标识的设备服务命令,或者要求内核模式组件直接与调制解调器交互。 某些 OEM 甚至可能具有混合解决方案,其中它们同时具有 UMDF 调制解调器和内核模式调制解调器组件。 随着无线电辐射意识的提高,将 OEM 软件组件通过 SAR 命令传递到调制解调器的接口标准化带来了以下好处:

  1. OEM 可以转向用户模式组件,并使系统更加稳定,因为与内核模式相比,用户模式中的错误对系统来说并不严重。
  2. Windows 提供平台标准接口,减少了 OEM 的专有实现。
  3. 平台中希望利用 SAR 的服务可以从调制解调器检索信息。

从 Windows 10 版本 1703 开始,Windows 支持传递 SAR 配置和调制解调器传输状态。 Windows 将继续将 SAR 业务逻辑留给 IHV 和 OEM 用作自我区分因素,但将提供一个界面来简化平台。 已定义两个新的 NDIS OID 和两个新的 MBIM CID 以支持此接口。 想要利用 OS 支持的设备必须实现这两个命令。

通过添加两个新的 OID 和 CID 来支持此功能。 对于实现 MBIM 的 IHV 合作伙伴,只需要支持 CID 版本。

注意

本主题定义 IHV 合作伙伴在其调制解调器设备驱动程序中实现 SAR 平台支持的接口。 如果要查找有关为设备自定义 SAR 映射表的信息,请参阅 自定义特定吸收率 (SAR) 映射表

流向

说明 SAR 操作的流程图。

SAR 平台支持的 MB 接口更新

在CID_MBIM_DEVICE_SERVICES查询时,符合 MBIM 的设备实现并报告以下设备服务。 现有的已知服务在 USB NCM MBIM 1.0 规范的第 10.1 节中定义。 Microsoft 对此进行扩展以定义以下服务。

服务名称 = Microsoft SAR 控制

UUID = UUID_MS_SARControl

UUID 值 = 68223D04-9F6C-4E0F-822D-28441FB72340

CID 最低操作系统版本
MBIM_CID_MS_SAR_CONFIG Windows 10 版本 1703
MBIM_CID_MS_TRANSMISSION_STATUS Windows 10 版本 1703

MBIM_CID_MS_SAR_CONFIG

说明

此命令设置或返回有关 MB 设备的 SAR 退让模式和级别的信息。 MB 设备必须立即执行 SAR 退让命令,覆盖当前发射功率限制并将其应用于发射天线。 如果操作系统未更改天线的 SAR 配置,则应保持其当前设置。 例如,如果操作系统将天线 1 设置为 SAR 后退索引 1,则天线 2 的配置应保持不变,而不会进行任何更改。

支持此命令的设备应实现查询,以便向 OS 及其客户端提供设备信息。 对于 Set 命令,它位于 IHV 和 OEM 之间,用于定义每个字段的可接受值。 典型的预期是,所有天线的 SAR 退让指数都可配置为最低基线。 如果使用设备不支持的字段发送 Set 请求,则必须以状态代码的形式返回MBIM_STATUS_INVALID_PARAMETERS。

在每次“查询”或“设置”响应后,调制解调器应返回一个MBIM_MS_SAR_CONFIG结构,其中包含与移动宽带关联的设备上所有天线的信息。

查询

不使用MBIM_COMMAND_MSG上的 InformationBuffer。 MBIM_COMMAND_DONE的 InformationBuffer 中返回MBIM_MS_SAR_CONFIG。

设置

MBIM_COMMAND_MSG 上的 InformationBuffer 包含MBIM_MS_SAR_CONFIG。 MBIM_COMMAND_DONE的 InformationBuffer 中返回MBIM_MS_SAR_CONFIG。

未经请求的事件

不适用。

参数

Operation 设置 查询 通知
命令 MBIM_MS_SET_SAR_CONFIG 不适用 不适用
响应 MBIM_MS_SAR_CONFIG MBIM_MS_SAR_CONFIG 不适用

数据结构

查询

InformationBuffer 应为 NULL,InformationBufferLength 应为零。

设置

在 InformationBuffer 中应使用以下MBIM_MS_SET_SAR_CONFIG结构。

Offset 大小 字段 类型 说明
0 4 SARMode MBIM_MS_SAR_CONTROL_MODE 有关详细信息,请参阅 MBIM_MS_SAR_CONTROL_MODE 表。
4 4 SARBackOffStatus MBIM_MS_SAR_BACKOFF_STATE 有关详细信息,请参阅MBIM_MS_SAR_BACKOFF_STATE表。 如果MBIM_MS_SAR_CONTROL_MODE设置为设备控制,则 OS 将无法设置此字段。
8 4 ElementCount (EC) UINT32 DataBuffer 中后面的MBIM_MS_SAR_CONFIG结构的计数。
12 8 * EC SARConfigStatusRefList OL_PAIR_LIST 对的第一个元素是 4 字节偏移量,从此MBIM_MS_SET_SAR_CONFIG结构的起始偏移量 (偏移量 0) 到MBIM_MS_SAR_CONFIG_STATE结构计算。 有关详细信息,请参阅MBIM_MS_SAR_CONFIG_STATE表。 对的第二个元素是指向相应MBIM_MS_SAR_CONFIG_STATE结构的指针的 4 字节大小。
12 + (8 * EC) DataBuffer DATABUFFER MBIM_MS_SAR_CONFIG_STATE 结构的数组。

上表使用以下结构。

MBIM_MS_SAR_CONTROL_MODE指定如何控制 SAR 退让机制。

类型 说明
MBIMMsSARControlModeDevice 0 SAR 回退机制直接由调制解调器设备控制。
MBIMMsSARControlModeOS 1 SAR 回退机制由操作系统控制和管理。

MBIM_MS_SAR_BACKOFF_STATE描述了 SAR 的退让状态。

类型 说明
MBIMMsSARBackOffStatusDisabled 0 在调制解调器中禁用 SAR 回退。
MBIMMsSARBackOffStatusEnabled 1 调制解调器中启用了 SAR 回退。

MBIM_MS_SAR_CONFIG_STATE描述了天线的 SAR 退避可能状态。

Offset 大小 字段 类型 说明
0 4 SARAntennaIndex UINT32 对应于此表中 的 SARBackOffIndex 字段的天线索引。 它对应于天线编号,并留给 OEM 实现来为设备上的每个天线编制索引。 任何索引对此值都有效。 如果在 Set 命令中将此值设置为 0xFFFFFFFF,则应对所有天线应用 SARBackOffIndex。 如果此值设置为 响应0xFFFFFFFF ,则表示 SARBackOffIndex 应用于所有天线。
4 4 SARBAckOffIndex UINT32 与 OEM 或调制解调器供应商定义的 back off 表相对应的退让索引。 该表具有单独的带和关联的回退参数。

响应

在 InformationBuffer 中应使用以下MBIM_MS_SAR_CONFIG结构。 MBIM_MS_SAR_CONFIG指定 SAR 的配置。

Offset 大小 字段 类型 说明
0 4 SARMode MBIM_MS_SAR_MODE 有关详细信息,请参阅MBIM_MS_SAR_CONTROL_MODE表。
4 4 SARBackOffStatus MBIM_MS_SAR_BACKOFF_STATE 有关详细信息,请参阅MBIM_MS_SAR_BACKOFF_STATE表。
8 4 SARWifiIntegration MBIM_MS_SAR_ WIFI_HARDWARE_INTEGRATION 有关详细信息,请参阅 MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION 表。 这意味着设备的 Wi-Fi 和手机网络 SAR 集成在硬件层,设备将自动调整两个无线电的 SAR 控制。
12 4 ElementCount (EC) UINT32 DataBuffer 中后续MBIM_MS_SAR_CONFIG_STATE结构的计数。
16 8 * EC SARConfigStatusRefList OL_PAIR_LIST 对的第一个元素是 4 字节偏移量,从此MBIM_MS_SAR_CONFIG结构的开头 (偏移量 0) 计算到MBIM_MS_SAR_CONFIG_STATE结构。 有关详细信息,请参阅 MBIM_MS_SAR_CONFIG_STATE 表。 对的第二个元素是指向相应MBIM_MS_SAR_CONFIG_STATE结构的指针的 4 字节大小。
16 + (8 * EC) DataBuffer DATABUFFER MBIM_MS_SAR_CONFIG_STATE 结构的数组。

上表使用以下MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION结构。 它指定是否在硬件级别集成 Wi-Fi 和手机网络。

类型 说明
MBIMMsSARWifiHardwareIntegrated 0 Wi-Fi 和手机网络调制解调器 SAR 已集成到设备中。
MBIMMsSARWifiHardwareNotIntegrated 1 Wi-Fi 和手机网络调制解调器 SAR 未集成到设备中。

通知

不适用。

状态代码

错误代码 说明
MBIM_STATUS_SUCCESS 请求已成功处理。
MBIM_STATUS_BUSY 设备当前正忙。
MBIM_STATUS_FAILURE 请求失败。
MBIM_STATUS_NO_DEVICE_SUPPORT 设备不支持此命令。
MBIM_STATUS_INVALID_PARAMETERS 由于参数无效,操作失败。
MBIM_STATUS_OPERATION_NOT_ALLOWED 操作失败,因为不允许此操作。

MBIM_CID_MS_TRANSMISSION_STATUS

说明

此命令用于启用或禁用来自调制解调器的传输状态通知。 它是每个执行程序命令,因为每个执行程序可以具有不同的通道传输状态。 例如,双 SIM 卡调制解调器可能位于 LTE 上,另一个在 GSM 上。 同时,它可用于提供调制解调器的传输状态。 此通知可用于对调制解调器是否传输数据感兴趣的客户端。 每当 TX 流量开始或结束时,调制解调器都应提供通知。 如果占空周期太小,并且无法实时提供给主机,则 TX 状态可以在发送状态更新之前,使用滞后计时器在设定的时间内保持为活动状态。 例如,可能存在 TX 的短暂突发,并且调制解调器无法及时提供开始和结束通知。 调制解调器应在 TX 流量启动时发送通知,并应在滞后计时器期间继续监视其 TX 流量。 如果在计时器的时间范围内没有生成更多的 TX 流量,则它应报告 TX 流量已结束。

这在连接 Wi-Fi 和 LTE 的情况下非常有用。 如果 LTE 和 Wi-Fi 都处于传输状态,并且检测到邻近感应,则可能需要 Wi-Fi 回退。 如果 LTE 未处于传输状态,但 Wi-Fi 处于传输状态,则可能不需要 Wi-Fi 回退。 这适用于常规 Wi-Fi/LTE 连接和移动热点方案。

Wi-Fi 退出机制和命令不在此规范的范围内。

使用此命令的 OEM 应注意潜在的电源影响,因为调制解调器可能随时发送与传输相关的通知,包括降低电源状态。 默认情况下,OS 不允许此通知在新式待机期间唤醒 AP 以提高电源性能。

查询

不使用 MBIM_COMMAND_MSG 上的 InformationBuffer。 MBIM_MS_TRANSMISSION_STATUS_INFO在 MBIM_COMMAND_DONE 的 InformationBuffer 中返回。

设置

MBIM_COMMAND_MSG 上的 InformationBuffer 包含MBIM_MS_SET_TRANSMISSION_STATUS。 MBIM_MS_TRANSMISSION_STATUS_INFO在 MBIM_COMMAND_DONE 的 InformationBuffer 中返回。

未经请求的事件

未经请求的事件包含MBIM_MS_TRANSMISSION_STATUS_INFO,当活动无线 (OTA) 通道发生更改时发送。 例如,如果调制解调器开始上传数据包数据,则需要在使用网络数据通道时设置上行通道,以便上传有效负载。 这会触发向操作系统提供的通知。

参数

Operation 设置 查询 通知
命令 MBIM_MS_SET_TRANSMISSION_STATUS 不适用 不适用
响应 MBIM_MS_TRANSMISSION_STATUS_INFO MBIM_MS_TRANSMISSION_STATUS_INFO MBIM_MS_TRANSMISSION_STATUS_INFO

数据结构

查询

不使用 MBIM_COMMAND_MSG 上的 InformationBuffer。 MBIM_MS_TRANSMISSION_STATUS_INFO在 MBIM_COMMAND_DONE 的 InformationBuffer 中返回。

设置

在 InformationBuffer 中应使用以下MBIM_MS_SET_TRANSMISSION_STATUS结构。

Offset 大小 字段 类型 说明
0 4 ChannelNotification MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION 有关详细信息,请参阅MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION表。
4 4 HysteresisTimer UINT32 调制解调器用于确定何时将 MBIMMsTransmissionStateInactive 发送到主机的滞后指示器。 此值是调制解调器在向主机发送 OFF 指示器之前视为连续无传输活动的计时器。 此计时器应以秒为单位设置,范围为 1 秒到 5 秒。

上表使用以下MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION结构。 它指定是禁用还是启用调制解调器通道传输。

类型 说明
MBIMMsTransmissionNotificationDisabled 0 调制解调器通道传输状态通知已禁用。
MBIMMsTransmissionNotificationEnabled 1 已启用调制解调器通道传输状态通知。

响应

以下MBIM_MS_TRANSMISSION_STATUS_INFO结构用于响应。

Offset 大小 字段 类型 说明
0 4 ChannelNotification MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION 有关详细信息,请参阅MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION表。
4 4 TransmissionStatus MBIM_MS_TRANSMISSION_STATUS 有关详细信息,请参阅MBIM_MS_TRANSMISSION_STATUS表。 这指示调制解调器是否每 5 秒具有 TX 流量。
8 4 HysteresisTimer UINT32 调制解调器用于确定何时将 MBIMMsTransmissionStateInactive 发送到主机的滞后指示器。 此值是调制解调器在向主机发送 OFF 指示器之前视为连续无传输活动的计时器。 此计时器应以秒为单位设置,范围为 1 秒到 5 秒。

上表使用以下MBIM_MS_TRANSMISSION_STATUS结构。 它指示调制解调器是否每 5 秒有一次 TX 流量。

类型 说明
MBIMMsTransmissionStateInactive 0 调制解调器在最后一个 HysteresisTimer 值没有任何连续传输失误的情况下主动传输数据。
MBIMMsTransmissionStateActive 1 调制解调器正在主动传输数据。

通知

有关详细信息,请参阅MBIM_MS_TRANSMISSION_STATUS_INFO表。

状态代码

错误代码 说明
MBIM_STATUS_SUCCESS 请求已成功处理。
MBIM_STATUS_BUSY 设备当前正忙。
MBIM_STATUS_FAILURE 请求失败。
MBIM_STATUS_NO_DEVICE_SUPPORT 设备不支持此命令。
MBIM_STATUS_INVALID_PARAMETERS 由于参数无效,操作失败。
MBIM_STATUS_OPERATION_NOT_ALLOWED 操作失败,因为不允许此操作。

硬件实验室工具包 (HLK) 测试

请参阅 安装 HLK 的步骤

在 HLK Studio 中,连接到设备手机网络调制解调器驱动程序并运行测试: Win6_4.MB。Gsm。Data.TestSAR

此测试包含以下测试:

测试名称 说明
QuerySarConfig 此测试验证测试是否可以成功查询 SAR 配置。
SetSarConfig 此测试验证测试是否可以成功设置 SAR 配置。
QuerySarTransmissionStatus 此测试验证测试是否可以成功查询 SAR 传输状态。
SetSarTransmissionStatus 此测试验证测试是否可以成功设置 SAR 传输状态。

WinRT API

MobileBroadbandSarManager

日志分析

可以使用以下说明收集和解码日志: MB 收集日志

重要提供程序和相应的关键字

Microsoft-Windows-WWAN-SVC-EVENTS (3cb40aaa-1145-4fb8-b27b-7e30f0454316)

用于筛选的关键字:

  1. SarConfig
  2. CWwanSar::OnNdisNotification
  3. LoadSemiStaticOEMSARTable
  4. AttemptAutoConfigureSAR
  5. PreCheckSemiStaticOEMSARTable
  6. WwanIntfOpcodeSarConfig
  7. WwanIntfOpcodeSarTransmissionStatus
  8. WwanMsmEventTypeSarConfig
  9. WwanMsmEventTypeSarTransmissionStatus

MobileBroadband WinRT WPP (56dd9c57-06cc-48ba-b123-876a6495ba13)

用于筛选的关键字:MobileBroadbandSarManager

WwanProtDIM (3a07e1ba-3a6b-49bf-8056-c105b54ddd7fb)

用于筛选的关键字:

  1. NDIS_WWAN_SAR_CONFIG_INFO
  2. SarMode
  3. NDIS_WWAN_SAR_TRANSMISSION_STATUS_INFO
  4. HysteresisTimer

另请参阅

自定义特定吸收率 (SAR) 映射表