Поделиться через


MBIMEx 2.0 — поддержка 5G NSA

Так как спецификация errata MBIM 1.0 не имеет механизма для изменения существующих ИДЕНТИФИКАТОРов CID с новыми или измененными полезными данными, Windows 10 версии 1903 вводит mbIM 1.0 Extension 2.0 для расширения интерфейса для поддержки 5G.

Схема управления версиями

Примечание

В этом разделе термин ВЕРСИЯ MBIMEx относится к номеру выпуска расширений MBIM.

Узел изучает версию MBIMEx устройства двумя способами:

  1. РАСШИРЕННЫЙ ФУНКЦИОНАЛЬНЫЙ ДЕСКРИПТОР MBIM.
  2. Необязательный MBM_CID_VERSION сообщение, если устройство поддерживает его и объявляет поддержку.

Если эти два варианта отличаются, более высокая версия определяет версию MBIMEx в течение времени, когда устройство остается перечисленным на узле. Более высокая версия MBIMEx называется объявленной версией MBIMEx устройства. Объявленная версия MBIMEx для устройства может быть ниже, чем собственная версия MBIMEx, которая является самой высокой версией MBIMEx, которая поддерживается устройством. Устройства могут явно узнать версию MBIMEx узла только через сообщение MBIM_CID_VERSION.

В любом выпуске узел всегда запрашивает у устройства поддерживаемые службы и идентификаторы CID, используя MBIM_CID_DEVICE_SERVICES в начале последовательности инициализации устройства.

Если устройство поддерживает MBIM_CID_VERSION и объявляет поддержку в ответе на запрос MBIM_CID_DEVICE_SERVICES, узел, который не понимает MBIM_CID_VERSION или имеет версию MBIMEx ниже 2.0, игнорирует ее. Между тем, узел, который понимает MBIM_CID_VERSION и имеет собственную версию MBIMEx 2.0 или более поздней, отправляет MBIM_CID_VERSION сообщение на устройство с собственной версией MBIMEx узла, а CID является первым идентификатором идентификатора, который отправляется на устройство после получения ответа MBIM_CID_DEVICE_SERVICES.

Если первый идентификатор идентификатора, который устройство получает от узла после ответа на запрос MBIM_CID_DEVICE_SERVICES, MBIM_CID_VERSION, устройство знает версию MBIMEx узла.

Если первым идентификатором идентификатора идентификатора, который устройство получает от узла после ответа на запрос MBIM_CID_DEVICE_SERVICES, является любой другой идентификатор идентификатора, то устройство предполагает, что собственная версия MBIMEx узла — 1.0.

Схема, показывающая ОС без поддержки MBIM_CID_VERSION, а самая высокая поддерживаемая версия MBIMEx модема — 3.0.

Если устройство не поддерживает MBIM_CID_VERSION, оно не будет отвечать на запрос MBIM_CID_DEVICE_SERVICES MBIM_CID_VERSION. Поэтому узел не отправляет сообщение MBIM_CID_VERSION и предполагает, что собственная версия MBIMEx устройства — 1.0.

Схема, показывающая ОС с самым высоким mbIMEx версии 3.0 и модемом без поддержки MBIM_CID_VERSION.

На уровне функций более высокая версия MBIMEx является надмножеством всех более низких версий MBIMEx. Узел поддерживает все устройства с объявленной версией MBIMEx в собственной версии MBIMEx узла или ниже нее. Если объявленная версия MBIMEx устройства выше, чем собственная версия MBIMEx узла, узел не должен поддерживать устройство, и точное поведение узла в этой ситуации не определено.

Устройство, которое планирует работать со старыми узлами, должно изначально объявить MBIMEx версии 1.0 или наименьшую версию MBIMEx, с которой устройство должно работать в расширенном функциональном дескриптооре MBIM.

Если узел отправляет MBIM_CID_VERSION с более высокой версией MBIMEx, чем изначально объявленное устройство, то устройство должно указать более высокую версию MBIMEx в ответе MBIM_CID_VERSION до меньшей собственной версии MBIMEx узла и собственной версии MBIMEx устройства.

Схема, иллюстрирующая ОС с более низкой версией MBIMEx, чем самая высокая поддерживаемая версия модема.

Схема, иллюстрирующая ОС с более высокой версией MBIMEx, чем самая высокая поддерживаемая версия модема.

Примечание

Например, устройство поддерживает MBIMEx версии 2.0, но предназначено для работы с более старыми версиями ОС, которые не поддерживают MBIMEx 2.0. Изначально устройство объявляет MBIMEx версии 1.0 в дескрипторах USB и объявляет поддержку необязательного MBIM_CID_VERSION. При вставке в узел под управлением Windows 10 версии 1803 узел не понимает MBIM_CID_VERSION и не отправляет MBIM_CID_VERSION на устройство. Для узла версия MBIMEx устройства — 1.0. Узел продолжает отправлять другие идентификаторы CID в последовательности инициализации. Получив идентификаторы CID, отличные от MBIM_CID_VERSION, устройство знает, что узел поддерживает 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. Изначально устройства объявляют MBIMEx версии 1.0 в дескрипторе USB. В матрице показано, как каждое из устройств работает с каждым из узлов.

Устройство (ниже) или узел (справа) 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.
Устройство NSA 5G

Собственный 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.

В следующей таблице перечислены все существующие CID, измененные в MBIMEx версии 2.0, и их измененные полезные данные. Все неупомянутые полезные данные в этих CID и все другие идентификаторы CID, не упомянутые в таблице, переносятся из MBIMEx версии 1.0 и остаются без изменений.

CID Payload
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 Basic IP Connectivity UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

MBIM_CID_VERSION

Для драйверов MBB, поддерживающих расширение MICROSOFT MBIM 2.0 или более поздней версии, MBIM_CID_VERSION является обязательной командой для обмена сведениями о версии MBIM между узлом и устройством. Для устройств на рынке с драйверами, которые не распознают этот идентификатор CID, узел будет предполагать и обеспечивать обратную совместимость.

Узел отправляет эту команду в виде запроса, если она поддерживается устройством. Запрос содержит номер выпуска MBIM и номер выпуска расширений MBIM, которые в настоящее время поддерживает узел.

На стороне устройства устройство корректирует свой объявленный номер выпуска MBIM и номер выпуска расширений MBIM на основе правил, определенных в схеме управления версиями, а затем отправляет их в ответ на узел.

Эта команда определяется в службе расширений Basic Connect .

CID Код команды UUID
MBIM_CID_VERSION 15 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

Параметры

Операция Set Запрос Уведомление
Get-Help Неприменимо MBIM_VERSION_INFO Неприменимо
Ответ Неприменимо MBIM_VERSION_INFO Неприменимо

Запрос

Сообщает устройству собственный номер выпуска MBIM узла и номер выпуска расширений MBIM. InformationBuffer содержит следующую структуру MBIM_VERSION_INFO.

Offset Размер Поле Тип Описание
0 2 bcdMBIMVersion UINT16 Номер выпуска MBIM отправителя в BCD с подразумеваемой десятичной запятой между битами 7 и 8. Например, 0x0100 == 1.00 == 1.0. Это константа с небольшим байтом, поэтому байты 0x00, а затем 0x01.
2 2 bcdMBIMExtendedVersion UINT16 Номер выпуска расширений MBIM отправителя в BCD с подразумеваемой десятичной запятой между битами 7 и 8. Например, 0x0100 == 1.00 == 1.0. Это константа с небольшим байтом, поэтому байты 0x00, а затем 0x01.

Set

Не применяется

Ответ

InformationBuffer в MBIM_COMMAND_DONE содержит структуру MBIM_VERSION_INFO.

Нежелательные события

Не применяется

Коды состояний

Этот идентификатор CID использует только универсальные коды состояния, определенные в разделе 9.4.5 спецификации MBIM версии 1.0.

MBIM_CID_MS_DEVICE_CAPS_V2

Этот идентификатор кода совпадает с определением для операций с несколькими SIM-картами в МБ, что само по себе является расширением MBIM_CID_MS_DEVICE_CAPS, как определено в разделе 10.5.1 спецификации MBIM версии 1.0. Для расширений MBIM версии 2.0 в таблице MBIM_DATA_CLASS определены новые классы данных, позволяющие устройству сообщать о возможностях 5G. MBIMDataClass5G_NSA означает, что устройство поддерживает 5G Non-standalone (NSA), определенный в 3GPP TS 37.340, а MBIMDataClass5G_SA означает, что устройство поддерживает 5G Standalone (SA), также определенное в 3GPP TS 37.340.

Если устройство поддерживает оба новых класса данных, необходимо задать оба бита.

MBIM_DATA_CLASS

Типы Mask
MBIMDataClassNone 0 ч
MBIMDataClassGPRS 1 ч
MBIMDataClassEDGE 2 ч
MBIMDataClassUMTS 4 ч.
MBIMDataClassHSDPA 8 ч
MBIMDataClassHSUPA 10 ч
MBIMDataClassLTE 20 ч
MBIMDataClass5G_NSA 40 ч
MBIMDataClass5G_SA 80 ч
Зарезервировано 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_CID_REGISTER_STATE CID, который уже определен в спецификации MBIM версии 1.0. Это расширение добавляет новый элемент с именем PreferredDataClasses для структуры ответа.

Параметры

Операция Set Запрос Уведомление
Get-Help MBIM_SET_REGISTRATION_STATE Empty Неприменимо
Ответ MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2

Запрос

Параметр InformationBuffer имеет значение NULL, а Значение InformationBufferLength равно нулю.

Set

Задает состояние регистрации. Сведения такие же, как описано в спецификации MBIM версии 1.0.

Ответ

InformationBuffer в MBIM_COMMAND_DONE содержит следующую структуру MBIM_REGISTRATION_STATE_INFO_V2. По сравнению со структурой MBIM_REGISTRATION_STATE_INFO, определенной в разделе 10.5.10.6 спецификации MBIM версии 1.0, следующая структура содержит новое поле PreferredDataClasses . Если здесь не указано, описания полей в таблице 10–55 спецификации MBIM редакции 1.0 применяются к этой структуре.

MBIM_REGISTRATION_STATE_INFO_V2

Offset Размер Поле Тип Описание
0 4 NwError UINT32 Сетевая ошибка. В таблице 10-44 в спецификации MBIM версии 1.0 приведены коды причин для NwError.
4 4 RegisterState MBIM_REGISTER_STATE См. таблицу 10-46 в спецификации MBIM версии 1.0.
8 4 RegisterMode MBIM_REGISTER_MODE См. таблицу 10-47 в спецификации MBIM версии 1.0.
12 4 AvailableDataClass UINT32 Растровое изображение значений в MBIM_DATA_CLASS , представляющее поддерживаемые классы данных в зарегистрированной сети для ячейки, в которой зарегистрировано устройство.

Это значение имеет значение MBIMDataClassNone, если параметр RegisterState не имеет значение MBIMRegisterStateHome, MBIMRegisterStateRoaming или MBIMRegisterStatePartner.

16 4 CurrentCellularClass MBIM_CELLULAR_CLASS Указывает текущий класс сотовой связи, используемый для многомодовой функции. Дополнительные сведения см. в таблице 10-8 в спецификации MBIM версии 1.0 .

Для функции с одним режимом это то же самое, что и для класса сотовой связи, сообщаемого в MBIM_CID_DEVICE_CAPS. Для многомодовых функций переход с CDMA на GSM или наоборот обозначается обновленным параметром CurrentCellularClass.

20 4 ProviderIdOffset OFFSET Смещение в байтах, вычисленное от начала этой структуры, до числовой (0–9) строки с именем ProviderId , представляющей удостоверение поставщика сети.

Для сетей на основе GSM эта строка представляет собой объединение трехзначного мобильного кода страны (MCC) и двух- или трехзначного кода мобильной сети (MNC). Операторы на основе GSM могут иметь более одного MNC и, следовательно, более одного Идентификатора поставщика.

Для сетей на основе CDMA эта строка представляет собой пятизначный идентификатор системы (SID). Как правило, носитель на основе CDMA имеет несколько идентификаторов безопасности. Как правило, перевозчик имеет один sid для каждого рынка, который обычно географически разделен в пределах страны по нормативным актам, таким как городские статистические районы (MSA) в США. Устройства на основе CDMA должны указывать MBIM_CDMA_DEFAULT_PROVIDER_ID, если эти сведения недоступны.

При обработке запроса и состоянии регистрации в режиме автоматической регистрации этот член содержит идентификатор поставщика, с которым устройство связано в данный момент (если применимо). Если состояние регистрации находится в режиме регистрации вручную, этот член содержит идентификатор поставщика, для которого требуется зарегистрировать устройство (даже если поставщик недоступен).

При обработке запроса набора и состоянии регистрации в ручном режиме он содержит идентификатор поставщика, выбранный узлом, с помощью которого нужно зарегистрировать устройство. Если состояние регистрации находится в режиме автоматической регистрации, этот параметр игнорируется.

Поставщики CDMA 1xRTT должны иметь значение MBIM_CDMA_DEFAULT_PROVIDER_ID если идентификатор поставщика недоступен.

24 4 ProviderIdSize SIZE(0..12) Размер (в байтах) для ProviderId.
28 4 ProviderNameOffset OFFSET Смещение в байтах, вычисленное от начала этой структуры, до строки с именем ProviderName , представляющей имя поставщика сети. Этот элемент ограничен не более чем MBIM_PROVIDERNAME_LEN символами.

Для сетей на основе GSM, если предпочтительное представление инициал стран и имя мобильной сети (PCCI&N) длиннее двадцати символов, устройство должно сократить имя сети.

Этот элемент игнорируется, когда узел задает список предпочтительных поставщиков. Устройства должны указывать строку NULL для устройств, у которых нет этих сведений.

32 4 ProviderNameSize SIZE(0..40) Размер в байтах для Параметра ProviderName.
36 4 RoamingTextOffset OFFSET Смещение в байтах, вычисленное от начала этой структуры, до строки с именем RoamingText для информирования пользователя о том, что устройство перемещается. Этот элемент может содержать не более 63 символов. Этот текст должен предоставлять пользователю дополнительные сведения, если состояние регистрации — MBIMRegisterStatePartner или MBIMRegisterStateRoaming. Этот член является необязательным.
40 4 RoamingTextSize SIZE(0..126) Размер в байтах для RoamingText.
44 4 RegistrationFlag MBIM_REGISTRATION_FLAGS Флаги, установленные для каждой таблицы 10–48 в спецификации MBIM версии 1.0.
48 4 PreferredDataClass UINT32 Растровое изображение значений в MBIM_DATA_CLASS , представляющих включенные классы данных на устройстве. Устройство может работать только с помощью включенных классов данных.
Динамический 4 DataBuffer DATABUFFER Буфер данных, содержащий ProviderId, ProviderName и RoamingText.

Незапрашиваемые события

Уведомления содержат структуру MBIM_REGISTRATION_STATE_INFO_V2.

Коды состояний

Этот CID использует только универсальные коды состояния, определенные в разделе 9.4.5 спецификации MBIM версии 1.0.

MBIM_CID_PACKET_SERVICE

Эта команда является расширением для существующего MBIM_CID_PACKET_SERVICE, определенного в спецификации MBIM версии 1.0.

Это расширение добавляет новый элемент с именем FrequencyRange для структуры ответа и переименовывал член HighestAvailableDataClass в CurrentDataClass , чтобы уточнить его назначение.

CurrentDataClass указывает технологию радиодоступа (RAT), с помощью которой в настоящее время зарегистрировано устройство. Он содержит одно значение из MBIM_DATA_CLASS.

FrequencyRange указывает диапазон частот, который в настоящее время использует устройство. Это допустимо, только если в поле CurrentDataClass указано, что задан бит MBIMDataClass5G_NSA или MBIMDataClass5G_SA.

Параметры

Операция Set Запрос Уведомление
Get-Help MBIM_SET_PACKET_SERVICE Empty Неприменимо
Ответ MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2

Запрос

Параметр InformationBuffer имеет значение NULL, а Значение InformationBufferLength равно нулю.

Set

Сведения о командах set описаны в спецификации MBIM версии 1.0.

Ответ

InformationBuffer в MBIM_COMMAND_DONE содержит структуру MBIM_PACKET_SERVICE_INFO_V2. По сравнению со структурой MBIM_PACKET_SERVICE_INFO, определенной в разделе 10.5.10.6 спецификации MBIM версии 1.0, эта новая структура содержит поля CurrentDataClass и FrequencyRange . Если здесь не указано, здесь применяются описания полей в таблице 10–55 спецификации MBIM версии 1.0 .

MBIM_PACKET_SERVICE_INFO_V2

Offset Размер Поле Тип Описание
0 4 NwError UINT32 Сетевая ошибка. В таблице 10-44 в спецификации MBIM версии 1.0 приведены коды причин для NwError.
4 4 PacketServiceState MBIM_PACKET_SERVICE_STATE См. таблицу 10-53 в спецификации MBIM версии 1.0.
8 4 CurrentDataClass MBIM_DATA_CLASS Текущий класс данных в текущей ячейке, указанный в соответствии с MBIM_DATA_CLASS. Функции должны задать для этого члена значение MBIMDataClassNone, если функция не находится в состоянии присоединенной службы пакетов. За исключением HSPA (другими словами, HSUPA и HSDPA) и 5G DC, функция задает этому члену одно значение MBIM_DATA_CLASS. Для служб данных HSPA функции задают побитовое ЗНАЧЕНИЕ ИЛИ для MBIMDataClass HSDPA и MBIMDataClassHSUPA. Для ячеек, поддерживающих 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 Диапазон частот 1 (FR1) в 3GPP TS 38.101-1 (Sub-6G).
MBIMFrequencyRange2 2 FR2 в 3GPP TS 38,101-2 (mmWave).
MBIMFrequencyRange1AndRange2 3 Если подключены носители FR1 и FR2.

Незапрашиваемые события

Уведомления содержат структуру MBIM_PACKET_SERVICE_INFO_V2.

Коды состояний

Этот CID использует только универсальные коды состояния, определенные в разделе 9.4.5 спецификации MBIM версии 1.0.

MBIM_CID_SIGNAL_STATE

Этот CID является расширением для MBIM_CID_SIGNAL_STATE, представляя RSRP и SNR для критериев состояния сигнала. Это новое расширение допустимо, только если устройство указывает на поддержку расширений MBIM версии 2.0. Это расширение является обязательным, если модем поддерживает классы данных MBIMDataClass5G_(N)SA.

Поля RSRP и SNR допустимы, только если соответствующий тип SystemType имеет значение MGBIMDataClassLTE или MBIMDataClass5G_(N)SA. Если модем сообщает RSRP и (или) SNR, то для поля RSSI должно быть задано значение 99.

Если соответствующий тип SystemType имеет MBIMDataClass5G_(N)SA, поле RSRP является обязательным, а поле SNR является необязательным. Если соответствующий тип SystemType — MBIMDataClassLTE, поля RSRP и SNR являются необязательными, а вместо них можно использовать поле RSSI. В этом случае поля RSRP и SNR можно опустить, задав нулевое значение (0) для членов RsrpSnrOffset и RsrpSnrSize .

Параметры

Операция Set Запрос Уведомление
Get-Help MBIM_SET_SIGNAL_STATE Empty Неприменимо
Ответ MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2

Запрос

Параметр InformationBuffer имеет значение NULL, а Значение InformationBufferLength равно нулю.

Set

Сведения о командах set описаны в спецификации MBIM версии 1.0.

Ответ

InformationBuffer в MBIM_COMMAND_DONE содержит следующую структуру MBIM_SIGNAL_STATE_INFO_V2.

MBIM_SIGNAL_STATE_INFO_V2

Offset Размер Поле Тип Описание
0 4 Rssi UINT32 См. таблицу 10.58 в спецификации MBIM версии 1.0.
4 4 ErrorRate UINT32 См. таблицу 10.58 в спецификации MBIM версии 1.0.
8 4 SignalStrengthInterval UINT32 Интервал отчетности в секундах.
12 4 RssiThreshold UINT32 Разница в закодированных значениях RSSI, которые активируют отчет. Используйте 0xFFFFFFFF, если это не имеет значения.
16 4 ErrorRateThreshold UINT32 Разница в закодированных значениях ErrorRate, которые активируют отчет. Используйте 0xFFFFFFFF, если это не имеет значения.
20 4 RsrpSnrOffset OFFSET Смещение в байтах, вычисленное от начала этой структуры, до буфера, содержащего информацию о сигналах RSRP и SNR. Этот член может иметь значение NULL , если нет сведений о сигналах RSRP и SNR.
24 4 RsrpSnrSize SIZE Размер (в байтах) буфера, содержащего сигнальные данные RSRP и SNR в формате структуры MBIM_RSRP_SNR_INFO.
4 DataBuffer DATABUFFER Структура MBIM_RSRP_SNR.

MBIM_RSRP_SNR

Следующая структура MBIM_RSRP_SNR используется в DataBuffer структуры MBIM_SIGNAL_STATE_INFO_V2.

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 используется в DataBuffer структуры MBIM_RSRP_SNR.

Offset Размер> Поле Тип Описание
0 4 RSRP UINT32
Значение RSRP в dBm Закодированное значение (мин = 0, максимум = 126)
Менее -156 0
Менее -155 1
... ...
Менее -138 18
... ...
Менее -45 111
... ...
Менее -31 125
-31 или больше 126
Неизвестный или неизобнаружимый 127
4 4 Сигнал/шум UINT32
Значение SNR в дБ Закодированное значение (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 дБм. Если задано нулевое значение, используйте поведение по умолчанию в функции устройства. Если задано значение 0xFFFFFFFF, не используйте его для активации события. Если заданное пороговое значение не поддерживается устройством, оно возвращает поддерживаемое максимальное пороговое значение.
12 4 SNRThreshold UINT32 Определяет пороговое значение между старым (кэшируемым) значением SNR и новым вычисляемым значением SNR. Если абсолютная разница больше порогового значения, устройство инициирует незапрошенное событие. Единица измерения составляет 1 дБ. Если задано нулевое значение, используйте поведение по умолчанию в функции устройства. Если задано значение 0xFFFFFFFF, не используйте его для активации события. Если заданное пороговое значение не поддерживается устройством, оно возвращает поддерживаемое максимальное значение порога.
16 4 SystemType MBIM_DATA_CLASS Указывает тип системы, для которого допустимы сведения о состоянии сигнала. Этот элемент представляет собой битовую маску одного типа, как определено в MBIM_DATA_CLASS.

Незапрашиваемые события

Уведомления содержат структуру MBIM_SIGNAL_STATE_INFO_V2.

Коды состояний

Этот CID использует только универсальные коды состояния, определенные в разделе 9.4.5 спецификации MBIM версии 1.0.

Вычисление полосы сигнала LTE

Схема, иллюстрирующая процесс вычисления линейчатой полосы сигнала LTE.

ОС должна обрабатывать параметры реестра для расчета силы сигнала в следующем порядке:

Класс данных — CDMA (или его вариант) или TDSCDMA.

  1. Если в разделе "per_iccid" существует устаревшая таблица сопоставления панели сигналов, используйте этот параметр.
  2. В противном случае, если в разделе "per_device" существует устаревшая таблица сопоставления сигналов, используйте этот параметр.
  3. В противном случае используйте таблицу сопоставления линейчатой панели сигналов по умолчанию в коде.

Класс данных — GSM или WCDMA.

  1. Если таблица сопоставления сигналов для конкретной технологии GSM или WCDMA существует в разделе "per_iccid", используйте этот параметр.
  2. В противном случае, если таблица сопоставления сигналов для конкретной технологии GSM или WCDMA существует в разделе "per_device", используйте этот параметр.
  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 гистограмм

Dataclass is LTE and RSRP передается модемом

  1. Если таблица сопоставления сигналов для RSRP для конкретной технологии LTE существует в разделе "per_iccid", используйте этот параметр.
  2. В противном случае, если таблица сопоставления сигналов для RSRP для технологии LTE существует в разделе "per_device", используйте этот параметр.
  3. В противном случае используйте таблицу сопоставления сигналов LTE RSRP по умолчанию в коде.

Примечание

Если включен параметр EnableLTESnrReporting, но нет таблицы SNR для данных LTE или SNR с помощью модема, используется только RSRP. В противном случае лучше rsrp или SNR преобразуется в сигнальные полосы.

Dataclass is LTE and RSSI передается модемом

  1. Если таблица сопоставления сигналов для конкретной технологии LTE существует в разделе "per_iccid", используйте этот параметр.
  2. В противном случае, если таблица сопоставления сигналов для конкретной технологии LTE существует в разделе "per_device", используйте этот параметр.
  3. В противном случае, если в разделе "per_iccid" существует устаревшая таблица сопоставления сигналов, используйте этот параметр.
  4. В противном случае, если в разделе "per_device" существует устаревшая таблица сопоставления сигналов, используйте этот параметр.
  5. В противном случае используйте таблицу сопоставления линейчатой панели сигналов по умолчанию в коде.

Класс данных — NR

  1. Если таблица сопоставления сигналов для RSRP для технологии NR существует в разделе "per_iccid", используйте этот параметр.
  2. В противном случае, если таблица сопоставления сигналов для RSRP для технологии NR существует в разделе "per_device", используйте этот параметр.
  3. В противном случае используйте таблицу сопоставления сигналов NR RSRP по умолчанию в коде.

Примечание

Если EnableNRSnrReporting включен, но нет таблицы SNR для отчетов NR или SNR модемом, используется только RSRP. В противном случае лучше rsrp или SNR преобразуется в сигнальные полосы.

Класс данных — NSA

  1. Если параметр EnableLTEReportingOnNSA не задан или имеет значение 0:
    1. Следуйте потоку NR класса данных.
  2. Если параметр EnableLTEReportingOnNSA имеет значение 1:
    1. Следуйте инструкциям по потокам Dataclass LTE (RSRP или RSSI).
  3. Если параметр EnableLTEReportingOnNSA имеет значение 2:
    1. Если FrequencyRange имеет значение FR1, следуйте инструкциям по потокам Dataclass LTE (RSRP или RSSI).
    2. Если FrequencyRange имеет значение <> FR1, следуйте потоку NR класса данных.
  4. Если параметр EnableLTEReportingOnNSA имеет значение 3:
    1. Если FrequencyRange имеет значение FR2, следуйте инструкциям по потокам DATACLASS LTE (RSRP или RSSI).
    2. Если FrequencyRange имеет значение <> FR2, следуйте потоку NR класса данных.
  5. Если параметр EnableLTEReportingOnNSA имеет значение 4:
    1. Вычислите сигнальную полосу с помощью потоков LTE и NR.
    2. Выберите самый сильный.

Примечание

Если сигнал LTE не передается модемом в 1–5, используется сигнал NR. Если сигнал NR не используется, применяется сигнал LTE.

Настройки COSA для вычисления SignalBar

EnableLTEReportingOnNSA:

0 = "Использовать сигнал 5G"

1 = "Использовать сигнал LTE"

2 = "Использовать сигнал LTE, если лагерь находится в диапазоне частот 5G 1"

3 = "Использовать сигнал LTE, если лагерь находится в диапазоне частот 5G 2"

4 = "Использовать самый сильный сигнал LTE и 5G"

EnableNRSnrReporting:

0 = "Использовать только RSRP"

1 = "Используйте RSRP и SNR"

EnableLTESnrReporting:

0 = "Использовать только RSRP"

1 = "Используйте RSRP и SNR"

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/<SignalBar>

Измените минимальное значение силы сигнала, соответствующее количеству отображаемых полос. Параметры, относящиеся к технологии, имеют приоритет. Каждое число полос должно иметь допустимое сопоставление силы сигнала, чтобы этот параметр войл в силу.

Сотовая связь/PerDevice/SignalBarMappingTable/SignalForBars/GERAN/<SignalBar>

Измените минимальное значение силы сигнала, соответствующее количеству полос, которое будет отображаться, когда устройство размещено в лагере по стандарту GSM. Каждое число полос должно иметь допустимое сопоставление силы сигнала, чтобы этот параметр войл в силу.

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

Измените минимальное значение силы сигнала, соответствующее количеству полос, которое будет отображаться при установке устройства на WCDMA. Каждое число полос должно иметь допустимое сопоставление силы сигнала, чтобы этот параметр войл в силу.

Сотовая связь/PerDevice/SignalBarMappingTable/SignalForBars/LTE/<SignalBar>

Измените минимальное значение силы сигнала, соответствующее количеству полос, которое будет отображаться, когда устройство размещено в лагере LTE. Каждое число полос должно иметь допустимое сопоставление силы сигнала, чтобы этот параметр войл в силу.

Сотовая связь/PerDevice/SignalBarMappingTable/SignalForBars/LTERSRP/<SignalBar>

Измените минимальное значение силы сигнала, соответствующее количеству отображаемых полос, когда устройство размещено в лагере LTE. Каждое число полос должно иметь допустимое сопоставление силы сигнала, чтобы этот параметр войл в силу.

Сотовая связь/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