MBIMEx 2.0 — поддержка 5G NSA
Так как спецификация errata MBIM 1.0 не имеет механизма для изменения существующих ИДЕНТИФИКАТОРов CID с новыми или измененными полезными данными, Windows 10 версии 1903 вводит mbIM 1.0 Extension 2.0 для расширения интерфейса для поддержки 5G.
Схема управления версиями
Примечание
В этом разделе термин ВЕРСИЯ MBIMEx относится к номеру выпуска расширений MBIM.
Узел изучает версию MBIMEx устройства двумя способами:
- РАСШИРЕННЫЙ ФУНКЦИОНАЛЬНЫЙ ДЕСКРИПТОР MBIM.
- Необязательный 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, оно не будет отвечать на запрос MBIM_CID_DEVICE_SERVICES MBIM_CID_VERSION. Поэтому узел не отправляет сообщение MBIM_CID_VERSION и предполагает, что собственная версия MBIMEx устройства — 1.0.
На уровне функций более высокая версия MBIMEx является надмножеством всех более низких версий MBIMEx. Узел поддерживает все устройства с объявленной версией MBIMEx в собственной версии MBIMEx узла или ниже нее. Если объявленная версия MBIMEx устройства выше, чем собственная версия MBIMEx узла, узел не должен поддерживать устройство, и точное поведение узла в этой ситуации не определено.
Устройство, которое планирует работать со старыми узлами, должно изначально объявить MBIMEx версии 1.0 или наименьшую версию MBIMEx, с которой устройство должно работать в расширенном функциональном дескриптооре MBIM.
Если узел отправляет MBIM_CID_VERSION с более высокой версией MBIMEx, чем изначально объявленное устройство, то устройство должно указать более высокую версию MBIMEx в ответе MBIM_CID_VERSION до меньшей собственной версии 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 |
|
||||||||||||||||||||||
4 | 4 | Сигнал/шум | UINT32 |
|
||||||||||||||||||||||
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
ОС должна обрабатывать параметры реестра для расчета силы сигнала в следующем порядке:
Класс данных — CDMA (или его вариант) или TDSCDMA.
- Если в разделе "per_iccid" существует устаревшая таблица сопоставления панели сигналов, используйте этот параметр.
- В противном случае, если в разделе "per_device" существует устаревшая таблица сопоставления сигналов, используйте этот параметр.
- В противном случае используйте таблицу сопоставления линейчатой панели сигналов по умолчанию в коде.
Класс данных — GSM или WCDMA.
- Если таблица сопоставления сигналов для конкретной технологии GSM или WCDMA существует в разделе "per_iccid", используйте этот параметр.
- В противном случае, если таблица сопоставления сигналов для конкретной технологии GSM или WCDMA существует в разделе "per_device", используйте этот параметр.
- В противном случае, если в разделе "per_iccid" существует устаревшая таблица сопоставления сигналов, используйте этот параметр.
- В противном случае, если в разделе "per_device" существует устаревшая таблица сопоставления сигналов, используйте этот параметр.
- В противном случае используйте таблицу сопоставления линейчатой панели сигналов по умолчанию в коде.
- RSSI >= 17; 5 полос
- RSSI >= 12; 4 гистограммы
- RSSI >= 7; 3 гистограммы
- RSSI >= 4; 2 гистограммы
- RSSI >= 2; 1 гистограмма
- Еще; 0 гистограмм
Dataclass is LTE and RSRP передается модемом
- Если таблица сопоставления сигналов для RSRP для конкретной технологии LTE существует в разделе "per_iccid", используйте этот параметр.
- В противном случае, если таблица сопоставления сигналов для RSRP для технологии LTE существует в разделе "per_device", используйте этот параметр.
- В противном случае используйте таблицу сопоставления сигналов LTE RSRP по умолчанию в коде.
Примечание
Если включен параметр EnableLTESnrReporting, но нет таблицы SNR для данных LTE или SNR с помощью модема, используется только RSRP. В противном случае лучше rsrp или SNR преобразуется в сигнальные полосы.
Dataclass is LTE and RSSI передается модемом
- Если таблица сопоставления сигналов для конкретной технологии LTE существует в разделе "per_iccid", используйте этот параметр.
- В противном случае, если таблица сопоставления сигналов для конкретной технологии LTE существует в разделе "per_device", используйте этот параметр.
- В противном случае, если в разделе "per_iccid" существует устаревшая таблица сопоставления сигналов, используйте этот параметр.
- В противном случае, если в разделе "per_device" существует устаревшая таблица сопоставления сигналов, используйте этот параметр.
- В противном случае используйте таблицу сопоставления линейчатой панели сигналов по умолчанию в коде.
Класс данных — NR
- Если таблица сопоставления сигналов для RSRP для технологии NR существует в разделе "per_iccid", используйте этот параметр.
- В противном случае, если таблица сопоставления сигналов для RSRP для технологии NR существует в разделе "per_device", используйте этот параметр.
- В противном случае используйте таблицу сопоставления сигналов NR RSRP по умолчанию в коде.
Примечание
Если EnableNRSnrReporting включен, но нет таблицы SNR для отчетов NR или SNR модемом, используется только RSRP. В противном случае лучше rsrp или SNR преобразуется в сигнальные полосы.
Класс данных — NSA
- Если параметр EnableLTEReportingOnNSA не задан или имеет значение 0:
- Следуйте потоку NR класса данных.
- Если параметр EnableLTEReportingOnNSA имеет значение 1:
- Следуйте инструкциям по потокам Dataclass LTE (RSRP или RSSI).
- Если параметр EnableLTEReportingOnNSA имеет значение 2:
- Если FrequencyRange имеет значение FR1, следуйте инструкциям по потокам Dataclass LTE (RSRP или RSSI).
- Если FrequencyRange имеет значение <> FR1, следуйте потоку NR класса данных.
- Если параметр EnableLTEReportingOnNSA имеет значение 3:
- Если FrequencyRange имеет значение FR2, следуйте инструкциям по потокам DATACLASS LTE (RSRP или RSSI).
- Если FrequencyRange имеет значение <> FR2, следуйте потоку NR класса данных.
- Если параметр EnableLTEReportingOnNSA имеет значение 4:
- Вычислите сигнальную полосу с помощью потоков LTE и NR.
- Выберите самый сильный.
Примечание
Если сигнал 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 |