MBIMEx 2.0 – 5G NSA 支持

由于 MBIM 1.0 勘误表规范缺少使用新的或修改的有效负载更改现有 CID 的机制,Windows 10版本 1903 引入了 MBIM 1.0 扩展 2.0 来扩展接口以支持 5G。

版本控制方案

注意

在本部分中,术语 MBIMEx 版本 是指 MBIM 扩展版本号。

主机通过两种方式了解设备的 MBIMEx 版本:

  1. MBIM 扩展功能描述符。
  2. 可选MBM_CID_VERSION消息(如果设备支持它并声明支持它)。

如果这两者不同,则更高版本在设备枚举到主机的持续时间内规定 MBIMEx 版本。 较高的 MBIMEx 版本称为设备 宣布的 MBIMEx 版本。 设备宣布的 MBIMEx 版本可能低于其本机 MBIMEx 版本,后者是设备支持的最高 MBIMEx 版本。 设备只能通过MBIM_CID_VERSION消息显式了解主机的 MBIMEx 版本。

在任何版本中,主机始终在设备初始化序列的开头使用MBIM_CID_DEVICE_SERVICES查询设备,以查找受支持的服务和 CID。

如果设备支持MBIM_CID_VERSION并在MBIM_CID_DEVICE_SERVICES查询响应中播发其支持,则不了解MBIM_CID_VERSION或 MBIMEx 版本低于 2.0 的主机将忽略它。 同时,了解MBIM_CID_VERSION且本机 MBIMEx 版本为 2.0 或更高版本的主机使用主机的本机 MBIMEx 版本向设备发送MBIM_CID_VERSION消息,CID 是收到MBIM_CID_DEVICE_SERVICES响应后发送到设备的第一个 CID。

如果设备在响应MBIM_CID_DEVICE_SERVICES查询后从主机接收的第一个 CID MBIM_CID_VERSION,则设备知道主机的 MBIMEx 版本。

如果设备在响应MBIM_CID_DEVICE_SERVICES查询后从主机接收的第一个 CID 是任何其他 CID,则设备假定主机的本机 MBIMEx 版本为 1.0。

显示没有MBIM_CID_VERSION支持的 OS 和调制解调器支持的最高 MBIMEx 版本为 3.0 的示意图。

如果设备不支持MBIM_CID_VERSION,则不会使用 MBIM_CID_VERSION 响应MBIM_CID_DEVICE_SERVICES查询。 因此,主机不会发送MBIM_CID_VERSION消息,并假定设备的本机 MBIMEx 版本为 1.0。

显示具有最高 MBIMEx 版本 3.0 的 OS 和没有MBIM_CID_VERSION支持的调制解调器的示意图。

从功能上看,较高 MBIMEx 版本是所有较低 MBIMEx 版本的超集。 主机支持具有已宣布的 MBIMEx 版本在主机的本机 MBIMEx 版本或低于主机的本机 MBIMEx 版本的所有设备。 如果设备宣布的 MBIMEx 版本高于主机的本机 MBIMEx 版本,则主机不应支持该设备,并且在这种情况下主机的确切行为未定义。

打算使用较旧主机的设备最初应播发 MBIMEx 版本 1.0 或最低主机 MBIMEx 版本,该设备打算使用 MBIM 扩展功能描述符。

如果主机发送的 MBIMEx 版本高于最初播发的设备版本MBIM_CID_VERSION,则设备应在MBIM_CID_VERSION响应中指示更高的 MBIMEx 版本,最高为主机的本机 MBIMEx 版本和设备本机 MBIMEx 版本中的较小版本。

说明 MBIMEx 版本低于调制解调器支持的最高版本的 OS 的关系图。

说明 MBIMEx 版本高于调制解调器支持的最高版本的 OS 的示意图。

注意

例如,设备支持 MBIMEx 版本 2.0,但适用于不支持 MBIMEx 2.0 的旧版 OS。 设备最初在 USB 描述符中播发 MBIMEx 版本 1.0,并播发对可选MBIM_CID_VERSION的支持。 当插入到运行 Windows 10 版本 1803 的主机时,主机不了解MBIM_CID_VERSION,也不会向设备发送MBIM_CID_VERSION。 对于主机,设备的 MBIMEx 版本为 1.0。 主机继续发送初始化序列中的其他 CID。 收到除 MBIM_CID_VERSION 以外的 CID 时,设备知道主机支持 MBIMEx 版本 1.0。 双方继续遵循 MBIMEx 版本 1.0。 稍后,将同一设备插入运行 Windows 10 版本 1903 且本机 MBIMEx 版本为 2.0 的主机时,主机会向设备发送MBIM_CID_VERSION,以通知其主机的本机 MBIMEx 版本为 2.0。 设备发送MBIM_CID_VERSION,以响应设备宣布的 MBIMEx 版本 2.0。 此后,双方将继续遵循 MBIMEx 版本 2.0。

下表显示了一个兼容性矩阵,其中包含三个假设主机和三个假设设备,每个设备都声明了其本机 MBIMEx 版本。 设备最初在 USB 描述符中播发 MBIMEx 1.0 版。 矩阵显示每个设备与每个主机的行为方式。

设备 () 下方/主机 (右侧) Windows 10 版本 1809 或更早 (本机 MBIMEx 版本 1.0) Windows 10版本 1903 及更高版本 (MBIMEx 2.0)
4G 设备

本机 MBIMEx 版本 1.0

设备最初播发 MBIMEx 1.0。 无MBIM_CID_VERSION交换。 兼容的设备和主机。 默认情况下适用于 MBIMEx 版本 1.0。 设备最初播发 MBIMEx 1.0。 无MBIM_CID_VERSION交换。 主机使用 MBIMEx 1.0 处理设备。
5G NSA 设备

本机 MBIMEx 版本 2.0

设备最初播发 MBIMEx 1.0。 无MBIM_CID_VERSION交换。 设备知道主机具有 MBIMEx 1.0,并继续使用 MBIMEx 1.0。 设备最初播发 MBIMEx 1.0。 主机发送MBIM_CID_VERSION以通知设备主机支持 MBIMEx 2.0。 设备使用 MBIMEx 2.0 进行响应。 双方继续执行 MBIMEx 2.0。

下表列出了 MBIMEx 版本 2.0 中修改的所有现有 CID 及其修改的有效负载。 这些 CID 中的所有未提及有效负载以及表中未提及的所有其他 CID 都会从 MBIMEx 版本 1.0 继续保留,并且保持不变。

CID 有效负载
MBIM_CID_REGISTER_STATE MBIM_REGISTRATION_STATE_INFO_V2
MBIM_CID_PACKET_SERVICE MBIM_PACKET_SERVICE_INFO_V2
MBIM_CID_SIGNAL_STATE MBIM_SIGNAL_STATE_INFO_V2

MBIM 服务

服务名称 UUID UUID 值
Microsoft 基本 IP 连接扩展 UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

MBIM_CID_VERSION

对于支持 MBIM Microsoft 扩展 2.0 或更高版本的 MBB 驱动程序,MBIM_CID_VERSION 是用于在主机和设备之间交换 MBIM 版本信息的必需命令。 对于具有无法识别此 CID 的驱动程序的市场内设备,主机将假定并提供向后兼容性。

如果设备支持此命令,主机会将此命令作为查询发送。 该查询包含主机当前支持的 MBIM 版本号和 MBIM 扩展版本号。

在设备端,设备根据 版本控制方案中定义的规则调整其宣布的 MBIM 版本号和 MBIM 扩展版本号,然后在响应中将它们发送到主机。

此命令在 基本连接扩展 服务下定义。

CID 命令代码 UUID
MBIM_CID_VERSION 15 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

参数

Operation Set 查询 通知
命令 不适用 MBIM_VERSION_INFO 不适用
响应 不适用 MBIM_VERSION_INFO 不适用

查询

通知设备主机的本机 MBIM 版本号和 MBIM 扩展版本号。 InformationBuffer 包含以下MBIM_VERSION_INFO结构。

Offset 大小 字段 类型 描述
0 2 bcdMBIMVersion UINT16 BCD 中发送方的 MBIM 版本号,隐含的小数点介于位 7 和 8 之间。 例如 0x0100 == 1.00 == 1.0。 这是一个小端常量,因此0x00字节,然后0x01。
2 2 bcdMBIMExtendedVersion UINT16 BCD 中发送方的 MBIM 扩展版本号,隐含的小数点介于位 7 和 8 之间。 例如 0x0100 == 1.00 == 1.0。 这是一个小端常量,因此0x00字节,然后0x01。

Set

不适用。

响应

MBIM_COMMAND_DONE 中的 InformationBuffer 包含MBIM_VERSION_INFO结构。

未经请求的事件

不适用。

状态代码

此 CID 仅使用 MBIM 规范修订版 1.0 第 9.4.5 节中定义的泛型状态代码。

MBIM_CID_MS_DEVICE_CAPS_V2

此 CID 与在 MB 多 SIM 卡操作上定义的相同,该操作本身是 MBIM 规范修订版 1.0 第 10.5.1 节中定义的MBIM_CID_MS_DEVICE_CAPS的扩展。 对于 MBIM Extensions 2.0 版,MBIM_DATA_CLASS表中定义了新的数据类,使设备能够报告其 5G 功能。 MBIMDataClass5G_NSA表示设备支持 3GPP TS 37.340 中定义的 5G 非独立 (NSA) ,MBIMDataClass5G_SA表示设备支持 5G 独立 (SA) (也在 3GPP TS 37.340 中定义)。

如果设备支持这两个新数据类,则应设置这两个位。

MBIM_DATA_CLASS

类型 Mask
MBIMDataClassNone 0h
MBIMDataClassGPRS 1h
MBIMDataClassEDGE 2 小时
MBIMDataClassUMTS 4h
MBIMDataClassHSDPA 8h
MBIMDataClassHSUPA 10h
MBIMDataClassLTE 20h
MBIMDataClass5G_NSA 40h
MBIMDataClass5G_SA 80h
预留 100h-8000h
MBIMDataClass1XRTT 10000h
MBIMDataClass1XEVDO 20000h
MBIMDataClass1XEVDORevA 40000h
MBIMDataClass1XEVDV 80000h
MBIMDataClass3XRTT 100000h
MBIMDataClass1XEVDORevB 200000h
MBIMDataClassUMB 400000h
预留 800000-40000000h
MBIMDataClassCustom 80000000h

MBIM_CID_REGISTER_STATE

此命令是 MBIM 规范修订版 1.0 中已定义的 MBIM_CID_REGISTER_STATE CID 的扩展。 此扩展为响应结构添加了名为 PreferredDataClasses 的新成员。

参数

Operation Set 查询 通知
命令 MBIM_SET_REGISTRATION_STATE 不适用
响应 MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2

查询

InformationBuffer 为 null,InformationBufferLength 为零。

Set

设置注册状态。 此信息与 MBIM 规范修订版 1.0 中所述相同。

响应

MBIM_COMMAND_DONE 中的 InformationBuffer 包含以下MBIM_REGISTRATION_STATE_INFO_V2结构。 与 MBIM 规范修订版 1.0 第 10.5.10.6 节中定义的MBIM_REGISTRATION_STATE_INFO结构相比,以下结构具有新的 PreferredDataClasses 字段。 除非此处另有说明, 否则 MBIM 规范修订版 1.0 的表 10-55 中的字段说明适用于此结构。

MBIM_REGISTRATION_STATE_INFO_V2

Offset 大小 字段 类型 说明
0 4 NwError UINT32 特定于网络的错误。 MBIM 规范修订版 1.0 中的表 10-44 记录了 NwError 的原因代码。
4 4 RegisterState MBIM_REGISTER_STATE 请参阅 MBIM 规范修订版 1.0 中的表 10-46。
8 4 RegisterMode MBIM_REGISTER_MODE 请参阅 MBIM 规范修订版 1.0 中的表 10-47。
12 4 AvailableDataClass UINT32 MBIM_DATA_CLASS中值的位图,表示注册设备的单元格的已注册网络上支持的数据类。

如果 RegisterState 不是 MBIMRegisterStateHome、MBIMRegisterStateRoamingMBIMRegisterStatePartner,则此值设置为 MBIMDataClassNone

16 4 CurrentCellularClass MBIM_CELLULAR_CLASS 指示当前用于多模式函数的手机网络类。 有关详细信息,请参阅 MBIM 规范修订版 1.0 中的表 10-8

对于单模式函数,这与 MBIM_CID_DEVICE_CAPS 中报告的手机网络类相同。 对于多模式函数,使用更新的 CurrentCellularClass 指示从 CDMA 转换到 GSM,反之亦然。

20 4 ProviderIdOffset OFFSET 从此结构的开头计算到数字 (0-9) 表示网络提供程序标识的 名为 ProviderId 的字符串的偏移量(以字节为单位)。

对于基于 GSM 的网络,此字符串是三位数移动国家/地区代码 (MCC) 和两位或三位数移动网络代码 (MNC) 串联。 基于 GSM 的运营商可能有多个 MNC,因此有多个 ProviderId

对于基于 CDMA 的网络,此字符串是 SID) (五位数的系统 ID。 通常,基于 CDMA 的运营商具有多个 SID。 通常,一个运营商为每个市场都有一个 SID,通常按法规(例如大都会统计区域 (MSA) 美国)划分。 如果此信息不可用,基于 CDMA 的设备必须指定MBIM_CDMA_DEFAULT_PROVIDER_ID。

处理查询请求并且注册状态处于自动注册模式时,此成员包含当前与设备关联的提供程序 ID, ((如果适用) )。 当注册状态处于手动注册模式时,此成员包含请求设备注册的提供程序 ID (即使提供程序) 不可用也是如此。

处理设置请求并且注册状态处于手动模式时,这包含主机选择的提供程序 ID,用于注册设备的主机。 当注册状态处于自动注册模式时,将忽略此参数。

如果提供程序 ID 不可用,必须将 CDMA 1xRTT 提供程序设置为 MBIM_CDMA_DEFAULT_PROVIDER_ID。

24 4 ProviderIdSize 大小 (0..12) ProviderId 的大小(以字节为单位)。
28 4 ProviderNameOffset OFFSET 从此结构的开头开始计算到表示网络提供商名称的名为 ProviderName 的字符串的偏移量(以字节为单位)。 此成员最多只能MBIM_PROVIDERNAME_LEN个字符。

对于基于 GSM 的网络,如果首选国家/地区首字母缩写和移动网络名称 (PCCI&N) 的长度超过 20 个字符,则设备应缩写网络名称。

当主机设置首选提供程序列表时,将忽略此成员。 设备应为没有此信息的设备指定 NULL 字符串。

32 4 ProviderNameSize 大小 (0..40) ProviderName 的大小(以字节为单位)。
36 4 RoamingTextOffset OFFSET 从此结构的开头计算到名为 RoamingText 的字符串的偏移量(以字节为单位),以通知用户设备正在漫游。 此成员最多只能包含 63 个字符。 当注册状态为 MBIMRegisterStatePartner 或 MBIMRegisterStateRoaming 时,此文本应向用户提供其他信息。 此成员是可选的。
40 4 RoamingTextSize 大小 (0..126) RoamingText 的大小(以字节为单位)。
44 4 RegistrationFlag MBIM_REGISTRATION_FLAGS MBIM 规范修订版 1.0 中按表 10-48 设置的标志。
48 4 PreferredDataClass UINT32 MBIM_DATA_CLASS中值的位图,表示设备上已启用的数据类。 设备只能使用已启用的数据类进行操作。
动态 4 DataBuffer DATABUFFER 包含 ProviderIdProviderNameRoamingText 的数据缓冲区。

未经请求的事件

通知包含MBIM_REGISTRATION_STATE_INFO_V2结构。

状态代码

此 CID 仅使用 MBIM 规范修订版 1.0 的第 9.4.5 节中定义的通用状态代码。

MBIM_CID_PACKET_SERVICE

此命令是 MBIM 规范修订版 1.0 中定义的现有MBIM_CID_PACKET_SERVICE的扩展。

此扩展为响应结构添加了名为 FrequencyRange 的新成员,并将 HighestAvailableDataClass 成员重命名为 CurrentDataClass ,以阐明其用途。

CurrentDataClass 指示设备当前注册到的无线电访问技术 (RAT) 。 它包含 来自 MBIM_DATA_CLASS 的单个值。

FrequencyRange 指示设备当前使用的频率范围。 仅当 CurrentDataClass 字段指示设置了MBIMDataClass5G_NSA位或MBIMDataClass5G_SA位时,这才有效。

参数

Operation Set 查询 通知
命令 MBIM_SET_PACKET_SERVICE 不适用
响应 MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2

查询

InformationBuffer 为 null,InformationBufferLength 为零。

Set

MBIM 规范修订版 1.0 中介绍了 set 命令的信息。

响应

MBIM_COMMAND_DONE 中的 InformationBuffer 包含MBIM_PACKET_SERVICE_INFO_V2结构。 与 MBIM 规范修订版 1.0 的第 10.5.10.6 节中定义的MBIM_PACKET_SERVICE_INFO结构相比,此新结构具有 CurrentDataClassFrequencyRange 字段。 除非此处另有说明,否则 MBIM 规范修订版 1.0 的表 10-55 中的字段说明在此处适用。

MBIM_PACKET_SERVICE_INFO_V2

Offset 大小 字段 类型 说明
0 4 NwError UINT32 特定于网络的错误。 MBIM 规范修订版 1.0 中的表 10-44 记录了 NwError 的原因代码。
4 4 PacketServiceState MBIM_PACKET_SERVICE_STATE 请参阅 MBIM 规范修订版 1.0 中的表 10-53。
8 4 CurrentDataClass MBIM_DATA_CLASS 当前单元格中的当前数据类,根据 MBIM_DATA_CLASS指定。 如果函数不处于附加的数据包服务状态,则函数必须将此成员设置为 MBIMDataClassNone。 除了 HSPA (,即 HSUPA 和 HSDPA) 和 5G DC 之外,函数将此成员设置为单个MBIM_DATA_CLASS值。 对于 HSPA 数据服务,函数指定 MBIMDataClass HSDPA 和 MBIMDataClassHSUPA 的按位 OR。 对于支持 HSDPA 但不支持 HSUPA 的单元格,仅指示 HSDPA (表示上行数据) 的 UMTS 数据类。 每当当前数据类发生更改时,函数都发送一条通知,指示 CurrentDataClass 的新值。
12 8 UplinkSpeed UINT64 包含上行比特率(以位数/秒为单位)。
20 8 DownlinkSpeed UINT64 包含下行链路比特率(以位/秒为单位)。
38 4 FrequencyRange MBIM_FREQUENCY_RANGE MBIM_FREQUENCY_RANGE中值的位掩码,表示设备当前使用的频率范围。 仅当 CurrentDataClass 为 MBIMDataClass5G_NSA 或 MBIMDataClass5G_SA 时,这才有效。

MBIM_FREQUENCY_RANGE

以下枚举用作上述MBIM_PACKET_SERVICE_INFO_V2结构中的值。

类型 说明
MBIMFrequencyRangeUnknown 0 如果系统类型不是 5G。
MBIMFrequencyRange1 1 3GPP TS 38.101-1 (Sub-6G) 中的频率范围 1 (FR1) 。
MBIMFrequencyRange2 2 3GPP TS 38.101-2 中的 FR2 (mmWave) 。
MBIMFrequencyRange1AndRange2 3 如果 FR1 和 FR2 运营商都已连接。

未经请求的事件

通知包含MBIM_PACKET_SERVICE_INFO_V2结构。

状态代码

此 CID 仅使用 MBIM 规范修订版 1.0 第 9.4.5 节中定义的泛型状态代码。

MBIM_CID_SIGNAL_STATE

此 CID 是MBIM_CID_SIGNAL_STATE的扩展,引入了用于信号状态条件的 RSRP 和 SNR。 仅当设备指示支持 MBIM 扩展版本 2.0 时,此新扩展才有效。 如果调制解调器支持 MBIMDataClass5G_ (N) SA 数据类,则此扩展是必需的。

仅当相应的 SystemType 为 MGBIMDataClassLTE 或 MBIMDataClass5G_ (N) SA 时,RSRP 和 SNR 字段才有效。 如果调制解调器报告 RSRP 和/或 SNR,则 RSSI 字段应设置为值 99

如果相应的 SystemType MBIMDataClass5G_ (N) SA,则 RSRP 字段是必需的,SNR 字段是可选的。 如果相应的 SystemType 为 MBIMDataClassLTE,则 RSRP 和 SNR 字段是可选的,可以改用 RSSI 字段。 在这种情况下,可以通过为 RsrpSnrOffset 和 RsrpSnrSize 成员设置零 (0) 值来省略 RSRP 和 SNR 字段。

参数

Operation Set 查询 通知
命令 MBIM_SET_SIGNAL_STATE 不适用
响应 MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2

查询

InformationBuffer 为 null,InformationBufferLength 为零。

Set

MBIM 规范修订版 1.0 中介绍了设置命令的信息。

响应

MBIM_COMMAND_DONE 中的 InformationBuffer 包含以下MBIM_SIGNAL_STATE_INFO_V2结构。

MBIM_SIGNAL_STATE_INFO_V2

Offset 大小 字段 类型 描述
0 4 Rssi UINT32 请参阅 MBIM 规范修订版 1.0 中的表 10.58
4 4 ErrorRate UINT32 请参阅 MBIM 规范修订版 1.0 中的表 10.58
8 4 SignalStrengthInterval UINT32 报告间隔(以秒为单位)。
12 4 RssiThreshold UINT32 触发报表的 RSSI 编码值的差异。 如果这不重要,请使用0xFFFFFFFF。
16 4 ErrorRateThreshold UINT32 触发报表的 ErrorRate 编码值的差异。 如果这不重要,请使用0xFFFFFFFF。
20 4 RsrpSnrOffset OFFSET 从此结构的开头计算到包含 RSRP 和 SNR 信号信息的缓冲区的偏移量(以字节为单位)。 当没有可用的 RSRP 和 SNR 信号信息时,此成员可以为 NULL
24 4 RsrpSnrSize SIZE 包含 RSRP 和 SNR 信号信息的缓冲区的大小(以字节为单位),格式为MBIM_RSRP_SNR_INFO结构。
4 DataBuffer DATABUFFER MBIM_RSRP_SNR结构。

MBIM_RSRP_SNR

以下MBIM_RSRP_SNR结构用于MBIM_SIGNAL_STATE_INFO_V2结构的 DataBuffer

Offset 大小 字段 类型 描述
0 4 ElementCount UINT32 此元素后面的RSRP_SNR项计数。
4 4 DataBuffer DATABUFFER 一个由RSRP_SNR记录构成的数组,每个记录都指定为MBIM_RSRP_SNR_INFO结构。

MBIM_RSRP_SNR_INFO

以下MBIM_RSRP_SNR_INFO结构的数组用于MBIM_RSRP_SNR结构的 DataBuffer

Offset 大小> 字段 类型 描述
0 4 RSRP UINT32
RSRP 值(以 dBm 为单位) 编码值 (min = 0,max = 126)
小于 -156 0
小于 -155 1
... ...
小于 -138 18
... ...
小于 -45 111
... ...
小于 -31 125
-31 或更高版本 126
未知或无法检测到 127
4 4 信噪比 UINT32
SNR 值(以 dB 为单位) 编码值 (min = 0,max = 127)
小于 -23 0
小于 -22.5 1
小于 -22 2
小于 -21.5 3
... ...
小于 39.5 125
小于 40 126
40 或更高 127
未知或无法检测到 128
8 4 RSRPThreshold UINT32 定义旧 (缓存) RSRP 值和新计算的 RSRP 值之间的阈值。 如果绝对差大于阈值,设备将触发未经请求的事件。 单位为 1 dBm。 如果设置为零,请在设备函数中使用默认行为。 如果设置为 0xFFFFFFFF,请不要使用它来触发事件。 如果设备不支持给定的阈值,则返回它支持的最大阈值。
12 4 SNRThreshold UINT32 定义旧 (缓存) SNR 值和新计算的 SNR 值之间的阈值。 如果绝对差大于阈值,设备将触发未经请求的事件。 单位为 1 dB。 如果设置为零,请在设备函数中使用默认行为。 如果设置为 0xFFFFFFFF,请不要使用它来触发事件。 如果给定的阈值不受设备支持,它将返回它支持的最大阈值。
16 4 SystemType MBIM_DATA_CLASS 指示信号状态信息对其有效的系统类型。 此成员是 MBIM_DATA_CLASS 中定义的一种类型的位掩码。

未经请求的事件

通知包含MBIM_SIGNAL_STATE_INFO_V2结构。

状态代码

此 CID 仅使用 MBIM 规范修订版 1.0 第 9.4.5 节中定义的泛型状态代码。

LTE 信号条计算

说明 LTE 信号条计算过程的示意图。

OS 应按以下顺序处理用于信号强度计算的注册表设置:

数据类是 CDMA (或其变体) 或 TDSCDMA

  1. 如果“per_iccid”下存在旧信号条映射表,请使用此设置。
  2. 否则,如果“per_device”下存在旧信号条映射表,请使用此设置。
  3. 否则,请在代码中使用默认信号条映射表。

Dataclass 为 GSM 或 WCDMA

  1. 如果“per_iccid”下存在特定于 GSM 或 WCDMA 技术的信号条映射表,请使用此设置。
  2. 否则,如果“per_device”下存在特定于 GSM 或 WCDMA 技术的信号条映射表,请使用此设置。
  3. 否则,如果“per_iccid”下存在旧信号条映射表,请使用此设置。
  4. 否则,如果“per_device”下存在旧信号条映射表,请使用此设置。
  5. 否则,请在代码中使用默认信号条映射表。
    1. RSSI >= 17;5 条
    2. RSSI >= 12;4 条
    3. RSSI >= 7;3 条
    4. RSSI >= 4;2 条
    5. RSSI >= 2;1 条
    6. 还;0 条

数据类为 LTE,调制解调器报告 RSRP

  1. 如果 RSRP 的 LTE 技术特定信号条映射表位于“per_iccid”下,请使用此设置。
  2. 否则,如果“per_device”下存在 RSRP 的 LTE 技术特定信号条映射表,请使用此设置。
  3. 否则,请在代码中使用默认的 LTE RSRP 信号条映射表。

注意

如果 EnableLTESnrReporting 已启用,但调制解调器没有用于 LTE 或 SNR 报告的 SNR 表,则仅使用 RSRP。 否则,RSRP 或 SNR 的更好值将转换为信号条。

数据类为 LTE,RSSI 由调制解调器报告

  1. 如果“per_iccid”下存在 LTE 技术特定的信号条映射表,请使用此设置。
  2. 否则,如果“per_device”下存在 LTE 技术特定的信号条映射表,请使用此设置。
  3. 否则,如果“per_iccid”下存在旧信号条映射表,请使用此设置。
  4. 否则,如果“per_device”下存在旧信号条映射表,请使用此设置。
  5. 否则,请在代码中使用默认信号条映射表。

数据类为 NR

  1. 如果“per_iccid”下存在 RSRP 的 NR 技术特定信号条映射表,请使用此设置。
  2. 否则,如果“per_device”下存在 RSRP 的 NR 技术特定信号条映射表,请使用此设置。
  3. 否则,请在代码中使用默认的 NR RSRP 信号条映射表。

注意

如果 EnableNRSnrReporting 已启用,但调制解调器没有用于 NR 或 SNR 报告的 SNR 表,则仅使用 RSRP。 否则,RSRP 或 SNR 的更好值将转换为信号条。

Dataclass 为 NSA

  1. 如果未设置 EnableLTEReportingOnNSA 或设置为 0
    1. 遵循 Dataclass NR 流。
  2. 如果 EnableLTEReportingOnNSA 设置为 1
    1. 遵循 DATAclass LTE 流 (RSRP 或 RSSI) 。
  3. 如果 EnableLTEReportingOnNSA 设置为 2
    1. 如果 FrequencyRange 为 FR1,请按照 Dataclass LTE 流 (RSRP 或 RSSI) 。
    2. 如果 FrequencyRange 为 <> FR1,请遵循 Dataclass NR 流。
  4. 如果 EnableLTEReportingOnNSA 设置为 3
    1. 如果 FrequencyRange 为 FR2,请按照 DATAclass LTE 流 (RSRP 或 RSSI) 。
    2. 如果 FrequencyRange 为 <> FR2,请遵循 Dataclass NR 流。
  5. 如果 EnableLTEReportingOnNSA 设置为 4
    1. 使用 LTE 和 NR 流计算信号条。
    2. 选择最强的 。

注意

如果调制解调器未在 1-5 中报告 LTE 信号,则使用 NR 信号。 如果未使用 NR 信号,则应用 LTE 信号。

SignalBar 计算的 COSA 自定义项

EnableLTEReportingOnNSA:

0 = “使用 5G 信号”

1 = “使用 LTE 信号”

2 = “如果在 5G 频率范围 1 上设置,请使用 LTE 信号”

3 = “如果在 5G 频率范围 2 上设置,请使用 LTE 信号”

4 = “使用 LTE 和 5G 的最强信号”

EnableNRSnrReporting:

0 = “仅使用 RSRP”

1 = “同时使用 RSRP 和 SNR”

EnableLTESnrReporting:

0 = “仅使用 RSRP”

1 = “同时使用 RSRP 和 SNR”

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/<SignalBar>

修改与要显示的条数对应的最小信号强度值。 技术特定的设置优先。 每个条形图数都需要有有效的信号强度映射,此设置才能生效。

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/GERAN/<SignalBar>

修改与设备在 GSM 上定点时要显示的条数对应的最小信号强度值。 每个条形图数都需要有有效的信号强度映射,此设置才能生效。

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/WCDMA/<SignalBar>

修改与设备在 WCDMA 上定点时要显示的条数对应的最小信号强度值。 每个条形图数都需要有有效的信号强度映射,此设置才能生效。

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTE/<SignalBar>

修改与设备在 LTE 上定点时要显示的条数对应的最小信号强度值。 每个条形图数都需要有有效的信号强度映射,此设置才能生效。

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTERSRP/<SignalBar>

修改设备在 LTE 上定营时对应于要显示的条数的最小信号强度值。 每个条形图数都需要有有效的信号强度映射,此设置才能生效。

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTERSSNR/<SignalBar>

修改与设备在 LTE 上定点时要显示的条数对应的最小信号强度值。 当 EnableLTESnrReporting 设置为 1 时使用。 每个条形图数都需要有有效的信号强度映射,此设置才能生效。

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/NRRSRP/<SignalBar>

修改与设备在 5G 上定营时要显示的条数对应的最小信号强度值。 每个条形图数都需要有有效的信号强度映射,此设置才能生效。

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/NRRSSNR/<SignalBar>

修改与设备在 5G 上定营时要显示的条数对应的最小信号强度值。 当 EnableNRSnrReporting 设置为 1 时使用。 每个条形图数都需要有有效的信号强度映射,此设置才能生效。

<SignalBar> 可以是 1-5 个值。

如果 OEM/MO 未能正确配置 RSSI 的映射表或它不完整,请使用默认映射:

Rssi 显示的条形图
[0,1] 0
[2,3] 1
[4,6] 2
[7,11] 3
[12,16] 4
[17,31] 5

如果 OEM/MO 未能正确配置 RSRP 的映射表或它不完整,请使用默认映射:

RSRP 显示的条形图
[0,16] 0
[17,41] 1
[42,51] 2
[52,61] 3
[62,71] 4
[72,126] 5

如果 OEM/MO 无法正确配置 SNR 的映射表或它不完整,请使用默认映射:

信噪比 显示的条形图
[0,18] 0
[19,38] 1
[39,46] 2
[47,53] 3
[54,72] 4
[73,127] 5