Операции с несколькими SIM-картами МБ

Поддержка нескольких модемов и исполнений для настольных ПК

Традиционно устройства Windows без телефонов не настроены для модемов с несколькими SIM-картами, так как они имеют меньше физических ограничений пространства, чем телефоны. Это позволяет им действительно использовать несколько активных радиомодулей одновременно вместо одного модема с несколькими SIM-картами, как это происходит в телефонах; однако из-за распространения eSIM и использования в корпоративных сценариях возрос спрос на поддержку нескольких SIM-карт на модемах в устройствах, отличных от телефонов.

Большинство типичных телефонных устройств с несколькими SIM-картами имеют два слота для SIM-карт, но ограничены одной основной SIM-картой, поддерживающей данные, а другая поддерживает только функции голосовой связи. Такое ограничение не существует в модели компьютера, отличном от телефона, так как все SIM-карты используются для подключения к данным.

Хотя фреймворк, определенный в этой спецификации, теоретически может поддерживать неограниченное количество модемов и SIM-карт, Windows 10 версий 1703 и более поздних поддерживает только сценарий с двумя SIM-картами и одной активной (DSSA).

Спецификация интерфейса модема NDIS

Существующие пробелы в интерфейсе и функциях

Можно поддерживать функции двойной SIM-карты и двойной активности с несколькими независимыми модемами, где каждый модем является отдельным устройством и работает полностью независимо. Однако это выходит за рамки этой документации, которая вместо этого фокусируется на мини-модеме WWAN, который может представлять несколько и одновременных стеков сотовой связи хосту. В этом разделе определяются различные объекты и устанавливается терминология, используемая во всей документации по МБ, связанной с функциональностью нескольких SIM-карт.

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

Исполнитель является логическим представлением оборудования и может на самом деле быть одним аппаратным трансивером, который подвергается мультиплексированию. Точные аппаратные особенности рассматриваются как сведения о реализации поставщика и не относятся к этой спецификации. Для минипорт-драйвера NDIS, исполнители представлены как несколько экземпляров минипорт-адаптера WWAN. Для модема MBIM исполнители представлены несколькими функциями MBIM на перечисленном составном устройстве.

Следующие два изображения иллюстрируют логическое представление двухсимочного модема. В каждом примере показана возможная комбинация исполнителя и UICC.

Схема, иллюстрирующая логическое представление модема с двумя SIM-картами.

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

На следующей схеме показано логическое представление двойного резервного модема. Трафик на Исполнителе 0, вызванный телефонным звонком, приводит к потере регистрации у Исполнителя 1.

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

Модель интерфейса модема Windows Desktop в NDIS 6.7 не соответствует такой архитектуре, так как она основана на нескольких неявных предположениях:

  • Модель предполагает, что в модеме существует один исполнитель.
  • В модели предполагается, что существует одна карточка UICC, связанная непосредственно с модемным оборудованием.
  • UICC обрабатывается так, как если бы это была sim-карта с одним приложением.

В отличие от этого, интерфейс Microsoft Radio Interface Layer (RIL) в Windows Mobile явно демонстрирует множественность этих предположений. Интерфейс мобильной широкополосной связи в Windows Mobile предоставляет возможность регистрироваться независимо через отдельные мини-порты и предполагает, что некоторая базовая конфигурация устройства уже выполнена через интерфейс RIL. Чтобы обеспечить эквивалентную функциональность, рабочий стол Windows должен предоставлять механизмы для обнаружения количества исполнителей и слотов, для доступа к исполнителям независимо, для определения сопоставления между исполнителями и слотами, а также для определения приложений в сопоставленной карте UICC, которую будет использовать каждый исполнитель.

Дополнительные сведения об архитектуре сотовой связи и различиях между Windows 10 Mobile и Desktop см. в статье "Архитектура и реализация сотовой связи".

Основные объекты и операции

На следующем рисунке показана абстрактная модель модема.

Схема, показывающая связь между модемом, исполнителями и слотами.

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

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

Слот может содержать карточку UICC; каждая карточка содержит одно или несколько приложений UICC, таких как USIM, CSIM, ISIM или, возможно, другие приложения телефонии или нетелефонии, такие как PKCS#15 или приложения глобальной платформы для безопасного элемента NFC. Адресация и использование этих отдельных приложений UICC — это тема для будущих спецификаций и вне области этой документации.

Интерфейс NDIS для рабочего стола Windows для модема характеризуется обменом OID и уведомлениями NDIS. В большинстве случаев эти OID направляются отдельным исполнителям; однако некоторые команды и уведомления предназначены для модема.

Для операционных систем, отличных от Windows Mobile, модем с несколькими исполнителями отображается как одно устройство с несколькими физическими экземплярами мини-порта WWAN. Каждый физический экземпляр минипорта представляет выполняющий элемент, который может поддерживать регистрацию в качестве экземпляра NDIS. Дополнительные виртуальные экземпляры могут создаваться во время выполнения для управления данными пакетов с определенным контекстом и сеансами службы устройств. Команды и уведомления для конкретного исполнителя обмениваются с помощью физического экземпляра WWAN miniport NDIS, представляющего этого исполнителя. Команды, относящиеся к модему (иными словами, те, которые не относятся к исполнителям) и соответствующие уведомления могут отправляться в любой физический экземпляр минипорта или поступать из них.

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

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

Схема, демонстрирующая команды и уведомления, относящиеся к модему.

Все запросы на установку или запросы OID, выданные экземпляру мини-порта, выполняются с модемом и исполнителем, с которым связан экземпляр мини-порта. Аналогичным образом, все незапрошенные уведомления и незапрошенные события службы устройств, отправленные из экземпляра минипорта, применимы к модему и исполнителю, с которым связан экземпляр минипорта. Например, незапрошенное уведомление NDIS_STATUS_WWAN_REGISTER_STATE или NDIS_STATUS_WWAN_PACKET_SERVICE из минипорта указывает состояние регистрации (или состояния службы пакетов) связанного модема и исполнителя и не связано с состоянием других модемов или других исполнителей.

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

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

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

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

OIDs для запросов на установку и запросы на получение данных

Чтобы запросить количество устройств (исполнителей) и слотов в модеме, а также число исполнителей, которые могут быть активны одновременно, хост использует OID_WWAN_SYS_CAPS.

Для запроса возможности исполнителя хост использует OID_WWAN_DEVICE_CAPS_EX.

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

Чтобы запросить состояние определенного слота на модеме, узел использует OID_WWAN_SLOT_INFO_STATUS.

Команды для каждого устройства и исполнителя

Благодаря добавлению концепции исполнителя на устройства, не являющиеся Windows Mobile, в Windows 10 версии 1703 и более поздних версий, OID теперь разделяются на две категории: OID для устройств и OID для каждого исполнителя. В таблице ниже объясняется, какие OID попадают в какую категорию.

Для каждого устройства или исполнителя Имя OID
На устройство OID_WWAN_DRIVER_CAPS
OID_WWAN_ENUMERATE_DEVICE_SERVICE_COMMANDS
OID_WWAN_ENUMERATE_DEVICE_SERVICES
OID_WWAN_PRESHUTDOWN
OID_WWAN_VENDOR_SPECIFIC
OID_WWAN_SYS_CAPS
OID_WWAN_DEVICE_SLOT_MAPPINGS
на исполнителя OID_WWAN_AUTH_CHALLENGE
OID_WWAN_CONNECT
OID_WWAN_DEVICE_CAPS
OID_WWAN_DEVICE_CAPS_EX
OID_WWAN_DEVICE_SERVICE_COMMAND
OID_WWAN_DEVICE_SERVICE_SESSION
OID_WWAN_DEVICE_SERVICE_SESSION_WRITE
OID_WWAN_DEVICE_SERVICES
OID_WWAN_HOME_PROVIDER
OID_WWAN_NETWORK_IDLE_HINT
OID_WWAN_PACKET_SERVICE
OID_WWAN_PIN
OID_WWAN_PIN_EX
OID_WWAN_PIN_LIST
OID_WWAN_PREFERRED_MULTICARRIER_PROVIDERS
OID_WWAN_PREFERRED_PROVIDERS (предпочтительные поставщики WWAN)
OID_WWAN_PROVISIONED_CONTEXTS
OID_WWAN_RADIO_STATE
OID_WWAN_READY_INFO
OID_WWAN_REGISTER_STATE
OID_WWAN_SERVICE_ACTIVATION
OID_WWAN_SIGNAL_STATE
OID_WWAN_SMS_CONFIGURATION
OID_WWAN_SMS_DELETE
OID_WWAN_SMS_READ
OID_WWAN_SMS_SEND
OID_WWAN_SMS_STATUS
OID_WWAN_SUBSCRIBE_DEVICE_SERVICE_EVENTS
OID_WWAN_USSD
OID_WWAN_VISIBLE_PROVIDERS
OID_WWAN_SLOT_INFO_STATUS

Замечание

OID_WWAN_RADIO_STATE также обновлен для Windows 10 версии 1703. См. OID_WWAN_RADIO_STATE для получения дополнительной информации.

Обновление интерфейса MBIM для операций с несколькими SIM

Для операционных систем, отличных от Windows Mobile, модем с несколькими исполнителями отображается как одно составное USB-устройство с несколькими функциями MBIM. Каждая функция MBIM представляет исполнителя, который может поддерживать регистрацию. Команды и уведомления, относящиеся к исполнителям, обмениваются с помощью функции MBIM, представляющей этого исполнителя, в то время как команды, относящиеся к модему (другими словами, те, которые не относятся к исполнителям) и их соответствующие уведомления могут отправляться или поступать из любой функции MBIM, принадлежащей одному и тому же базовому составному USB-устройству.

Все запросы установки или опроса CID, выданные функции MBIM, выполняются в контексте модема и исполнителя, с которыми связан экземпляр минипорта. Аналогичным образом, все незапрошенные уведомления, отправленные функцией MBIM, применяются к модему и исполнителю, с которыми связана данная функция MBIM. Таким же образом, все не запрошенные события службы устройства, отправленные из минипорта, относятся к модему и исполнителю, с которым связана функция MBIM. Например, незапрошенное уведомление MBIM_CID_REGISTER_STATE или MBIM_CID_PACKET_SERVICE из функции MBIM указывает состояние регистрации или службы пакетов связанного модема или исполнителя и не связано с состоянием других модемов или других исполнителей.

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

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

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

На следующей схеме показан поток информации между функциями WWANSVC и MBIM в двух разных модемах.

Схема структуры модема с функциями MBIM.

В этом разделе содержатся подробные описания идентификаторов CID, которые охватывают как уровень всего модема, так и каждого исполнителя для определённых служб устройств. Определения ссылались обратно на существующую общедоступную спецификацию MBIM1.0. Устройство, совместимое с MBIM, реализует и сообщает следующую службу устройства при запросе CID_MBIM_DEVICE_SERVICES. Существующие известные службы определены в разделе 10.1 спецификации USB NCM MBIM 1.0. Корпорация Майкрософт расширяет это, чтобы определить следующую службу.

Имя службы = базовые расширения подключения

UUID = UUID_BASIC_CONNECT_EXTENSIONS

Значение UUID = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

Для UUID_MS_BasicConnect определены следующие CID:

CID Код команды Минимальная версия ОС
MBIM_CID_MS_SYS_CAPS 5 Windows 10 версии 1703
MBIM_CID_MS_DEVICE_CAPS_V2 6 Windows 10 версии 1703
MBIM_CID_MS_DEVICE_SLOT_MAPPINGS 7 Windows 10 версии 1703
MBIM_CID_MS_SLOT_INFO_STATUS 8 Windows 10 версии 1703

Все смещения в следующих разделах CID вычисляются с начала MBIM_COMMAND_MSG InformationBuffer.

MBIM_CID_MS_SYS_CAPS

Описание

Этот идентификатор CID получает сведения о модеме. Это можно отправить на любой из экземпляров МБ, предоставляемых в виде USB-функции.

Запрос

Буфер информации на MBIM_COMMAND_MSG содержит данные ответа в виде MBIM_MS_SYS_CAPS_INFO.

Установить

Неприменимо.

Незапрошенное событие

Неприменимо.

Параметры

Операция Установить Запрос Уведомление
командование Неприменимо Неприменимо Неприменимо
Ответ Неприменимо MBIM_MS_SYS_CAPS_INFO Неприменимо

Структуры данных

Запрос

InformationBuffer должен иметь значение NULL, и InformationBufferLength должно быть равно нулю.

Установить

Неприменимо.

Ответ

Следующая MBIM_SYS_CAPS_INFO структура должна использоваться в InformationBuffer.

Offset Размер Поле Тип Описание
0 4 NumberOfExecutors UINT32 Количество экземпляров MBB, сообщаемых этим модемом
4 4 КоличествоСлотов UINT32 Количество физических слотов UICC, доступных на этом модеме
8 4 Конкурентность UINT32 Количество экземпляров MBB, которые могут быть активными одновременно
12 8 ModemId UINT64 Уникальный 64-разрядный идентификатор для каждого модема

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

Поле NumberofSlots обозначает количество слотов, которые физически присутствуют на модеме. Каждый слот должен иметь возможность получать карточку UICC (сами слоты могут быть разнородным сочетанием при необходимости — мини-SIM, микро SIM, nano SIM или любой стандарт, определенный ETSI). Число слотов должно быть равно или больше, чем количество поддерживаемых исполнителей. Положение "больше, чем" позволяет использовать не телефонные UICC, такие как для безопасности, NFC и т. д.

Поле параллелизма обозначает количество исполнителей (экземпляров MBB), которые могут быть активными одновременно. Диапазон должен быть 1 ≤ Конкуренция ≤ NumberOfExecutors. Например, двойной резервный модем будет иметь параллелизм 1, в то время как двойной активный модем будет иметь параллелизм 2

Поле ModemId обозначает уникальный 64-разрядный идентификатор для заданного модемного оборудования. IHV может реализовать собственную логику для создания уникального 64-разрядного значения для каждого модема; например, хэширование одного из чисел IMEI, случайное создание 64-разрядных чисел и т. д. После создания 64-разрядного идентификатора он должен сохраняться во время перезагрузки и удаления SIM-карты или вставки.

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

Этот идентификатор CID использует универсальные коды состояния (см. раздел 9.4.5 общедоступного стандарта USB MBIM).

MBIM_CID_MS_DEVICE_CAPS_V2

Описание

Этот идентификатор CID извлекает информацию о возможностях, относящуюся к исполнителю. Так как этот CID является расширением MBIM_CID_DEVICE_CAPS, здесь представлены только изменения из MBIM_CID_DEVICE_CAPS, как указано в разделе 10.5.1 общедоступного стандарта USB MBIM.

Этот CID по-прежнему остается только для запросов и возвращает структуру MBIM_MS_DEVICE_CAPS_INFO_V2 в ответ на MBIM_COMMAND_MSG со службой MBIM MSUUID_BASIC_CONNECT и CID MBIM_CID_MS_DEVICE_CAPS_V2.

Параметры

Операция Установить Запрос Уведомление
командование Неприменимо Неприменимо Неприменимо
Ответ Неприменимо MBIM_MS_DEVICE_CAPS_INFO_V2 Неприменимо

Структуры данных

Запрос

Аналогично разделу 10.5.1.4 общедоступного стандарта USB MBIM.

Установить

Неприменимо.

Ответ

Следующая MBIM_DEVICE_CAPS_INFO_V2 структура должна использоваться в InformationBuffer. По сравнению со структурой MBIM_CID_DEVICE_CAPS, определенной в разделе 10.5.1 общедоступного стандарта USB MBIM, следующая структура имеет новое поле с именем DeviceIndex. Если здесь не указано, здесь применяются описания полей в таблице 10-14 общедоступного стандарта USB MBIM.

Offset Размер Поле Тип Описание
0 4 Тип устройства MBIM_DEVICE_TYPE
4 4 CellularClass MBIM_CELLULAR_CLASS
8 4 VoiceClass MBIM_VOICE_CLASS
12 4 SimClass MBIM_SIM_CLASS Для модемов MBIM, поддерживающих этот CID, SimClass всегда будет указан как MBIMSimClassSimRemovable.
16 4 DataClass MBIM_DATA_CLASS
20 4 SmsCaps MBIM_SMS_CAPS
двадцать четыре 4 ControlCaps MBIM_CTRL_CAPS
28 4 MaxSessions UINT32
32 4 CustomDataClassOffset OFFSET
36 4 CustomDataClassSize SIZE(0..22)
40 4 СмещениеИдентификатораУстройства OFFSET
44 4 РазмерИдентификатораУстройства SIZE(0..26)
48 4 FirmwareInfoOffset OFFSET
52 4 FirmwareInfoSize SIZE(0..60)
56 4 HardwareInfoOffset OFFSET
шестьдесят 4 HardwareInfoSize SIZE(0..60)
64 4 ИндексИсполнителя UINT32 Индекс выполняющего механизма. Он варьируется от 0 до n-1 , где n — это количество экземпляров MBB, содержащихся в модеме MBIM. Его значение всегда константно и независимо от порядка перечисления.
68 Буфер данных Буфер данных Буфер данных, содержащий элементы CustomDataClass, DeviceId, FirmwareInfo и HardwareInfo .

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

Этот идентификатор CID использует универсальные коды состояния (см. раздел 9.4.5 общедоступного стандарта USB MBIM).

MBIM_CID_MS_DEVICE_SLOT_MAPPINGS

Описание

Этот CID задает или возвращает сопоставления слотов устройств (другими словами, сопоставления слотов исполняющей среды).

Запрос

InformationBuffer на MBIM_COMMAND_MSG не используется. MBIM_MS_DEVICE_SLOT_MAPPING_INFO возвращается в «InformationBuffer» MBIM_COMMAND_DONE.

Установить

MBIM_COMMAND_MSG содержит InformationBuffer с MBIM_MS_DEVICE_SLOT_MAPPING_INFO. MBIM_MS_DEVICE_SLOT_MAPPING_INFO возвращается в InformationBuffer MBIM_COMMAND_DONE. Независимо от того, успешна ли установка CID или нет, MBIM_MS_DEVICE_SLOT_MAPPING_INFO, содержащийся в ответе, представляет текущие сопоставления слотов устройств.

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

Неприменимо.

Параметры

Операция Установить Запрос Уведомление
командование MBIM_MS_DEVICE_SLOT_MAPPING_INFO Неприменимо Неприменимо
Ответ MBIM_MS_DEVICE_SLOT_MAPPING_INFO MBIM_MS_DEVICE_SLOT_MAPPING_INFO Неприменимо

Структуры данных

Запрос

InformationBuffer должен иметь значение NULL, и InformationBufferLength должно быть равно нулю.

Установить

Следующая MBIM_MS_DEVICE_SLOT_MAPPING_INFO структура должна использоваться в InformationBuffer.

Offset Размер Поле Тип Описание
0 4 MapCount (MC) UINT32 Число сопоставлений, которое всегда равно числу устройств или исполнителей.
4 8 * MC SlotMapList OL_PAIR_LIST Пара i-th этого списка, где (0 <= i = i <= (MC-1)) записывает индекс слота, который в настоящее время сопоставлен с устройством или исполнителем i-th . Первый элемент в паре — это 4-байтовое поле со смещением в DataBuffer, вычисляемое с начала (смещение 0) этой структуры MBIM_MS_DEVICE_SLOT_MAPPINGS_INFO до UINT32. Второй элемент пары — 4-байтовый размер элемента записи. Так как тип индекса слота — UINT32, второй элемент в паре всегда равен 4.
4 + (8 * MC) 4 * MC Буфер данных Буфер данных Буфер данных, содержащий SlotMapList. Так как размер слота составляет 4 байта, а MC равен количеству индексов слотов, общий размер DataBuffer составляет 4 * MC.
Ответ

MBIM_MS_DEVICE_SLOT_MAPPING_INFO, используемый в Set, также используется в InformationBuffer для Response.

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

Код состояния Описание
MBIM_STATUS_BUSY (Статус: Занято) Сбой операции, так как устройство занято. В отсутствие явных сведений из функции для очистки этого условия хост может использовать последующие действия функции (например, уведомления или завершения команд) в качестве указания повторения неудачной операции.
MBIM_STATUS_FAILURE Сбой операции (универсальный сбой).
MBIM_STATUS_ВОЗМОЖЕННЫЙ_ГОЛОСОВОЙ_ЗВОНОК_В_ПРОЦЕССЕ Операция завершилась ошибкой, так как голосовой звонок выполняется.
MBIM_STATUS_INVALID_PARAMETERS (Недопустимые параметры) Операция завершилась ошибкой из-за недопустимых параметров (например, номеров слотов вне диапазона или повторяющихся значений в сопоставлении).

MBIM_CID_MS_SLOT_INFO_STATUS

Описание

Этот CID извлекает высокоуровневое обобщённое состояние указанного слота UICC и карты внутри него (если она присутствует). Он также может использоваться для доставки незапрошенного уведомления при изменении состояния одного из слотов.

Запрос

InformationBuffer MBIM_COMMAND_MSG содержит структуру MBIM_MS_SLOT_INFO_REQ. В Buфере информации сообщения MBIM_COMMAND_DONE содержится структура MBIM_MS_SLOT_INFO.

Установить

Неприменимо.

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

Event InformationBuffer содержит структуру MBIM_MS_SLOT_INFO. Функция отправляет это событие в случае изменения состояния составного слота или карты.

Параметры

Операция Установить Запрос Уведомление
командование Неприменимо MBIM_MS_SLOT_INFO_REQ Неприменимо
Ответ Неприменимо MBIM_MS_SLOT_INFO MBIM_MS_SLOT_INFO

Структуры данных

Запрос

Следующая MBIM_MS_SLOT_INFO_REQ структура должна использоваться в InformationBuffer.

Offset Размер Поле Тип Описание
0 4 SlotIndex UINT32 Индекс слота, который нужно запросить.
Установить

Неприменимо.

Ответ

Следующая MBIM_MS_SLOT_INFO структура должна использоваться в InformationBuffer.

Offset Размер Поле Тип Описание
0 4 SlotIndex UINT32 Индекс слота.
4 4 Государство MBIM_MS_UICC_SLOT_STATE Состояние слота и карточки (если применимо).

Следующая MBIM_MS_UICCSLOT_STATE структура описывает возможные состояния слота.

Штаты Ценность Описание
UICCSlotStateUnknown 0 Модем все еще находится в процессе инициализации, поэтому состояние слота SIM не детерминировано.
UICCSlotStateOffEmpty 1 Слот UICC отключен, и карточка отсутствует. Реализация, которая не может определить наличие карточки в слоте, который выключен, сообщает о своем состоянии как UICCSlotStateOff.
UICCSlotStateOff (состояние слота UICC: выключено) 2 Слот UICC отключен.
UICCSlotStateEmpty 3 Слот UICC пуст (в нем нет карточки).
СостояниеСлотаUICCНеГотов (UICCSlotStateNotReady) 4 Слот UICC занят и включен, но карточка в ней еще не готова.
UICCSlotStateActive 5 Слот UICC занят, и карточка в ней готова.
UICCSlotStateError 6 Слот UICC занят и включен, но карточка находится в состоянии ошибки и не может использоваться до следующего сброса.
UICCSlotStateActiveEsim 7 Карта в слоте — это eSIM с активным профилем и готова принять команды.
UICCSlotStateActiveEsimNoProfiles 8 Карточка в слоте — это eSIM без профилей (или нет активных профилей) и готова принять команды.
руководство по переходу MBIM_MS_UICCSLOT_STATE для устройств с несколькими SIM-картами

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

Для всплывающего уведомления "SIM вставлена" ОС ожидает, что выбран встроенный слот (SIM2/Слот 1), и при вставке SIM-карты в физический слот (SIM1/Слот 0) должен произойти следующий переход состояния.

Возможные значения слота 0 до вставки SIM-карты Возможные значения слота 0 после вставки SIM-карты
UICCSlotStateEmpty UICCSlotStateActive
UICCSlotStateOffEmpty
  • UICCSlotStateActiveEsim
  • UICC слот активен, eSIM без профиля

Для всплывающего уведомления удалена SIM-карта операционная система ожидает, что физический слот (SIM1/Слот 0) будет выбран с вставленной SIM-картой, и при удалении SIM-карты из физического слота (SIM1/Slot 0) произойдет следующий переход состояния.

Возможные значения слота 0 перед удалением SIM-карты Возможные значения слота 0 после удаления SIM-карты
UICCSlotStateActive UICCSlotStateEmpty
  • UICCSlotStateActiveEsim
  • UICCSlotStateActiveEsimNoProfile
UICCSlotStateOffEmpty

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

Этот идентификатор CID использует универсальные коды состояния (см. раздел 9.4.5 общедоступного стандарта USB MBIM).

Сопоставление без NDIS для каждого исполнителя и MBIM CID для каждого модема

Большинство CID MBIM сопоставляются или соотносятся с OID NDIS, но есть несколько команд, которые используются драйвером Windows WMB, которые не имеют аналога в NDIS. Этот раздел даёт разъяснение, предназначены ли эти команды для каждого модема или исполнителя.

Для каждого устройства или исполнителя Имя CID
На устройство CID_MBIM_MSEMERGENCYMODE
CID_MBIM_MSHOSTSHUTDOWN
на исполнителя CID_MBIM_MSIPADDRESSINFO
CID_MBIM_MSNETWORKIDLEHINT
CID_MBIM_MULTICARRIER_CURRENT_CID_LIST

Двойной SIM с одним активным режимом

Две SIM-карты, одна активна (DSSA) — это единственный режим использования двух SIM-карт, который полностью поддерживается в Windows 10. DSSA позволяет использовать две SIM-карты с модемом с ограничением, что только одна SIM-карта может быть активной в любое время.

Архитектура и поток

Схема, показывющая поток DSSA.

Поведение переключателя слотов

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

Встроенный интерфейс (OOBE)

  • Во время OOBE WwanSvc может выполнять переназначение слота на основе состояния физического слота. Если физический слот пуст, то выбран внедренный слот. Если в физическом слоте есть SIM-карта, выбран физический слот.

Удаление SIM-карты

  • Если SIM-карта удаляется из физического слота, а физический слот - выбранный в данный момент слот, отображается всплывающее уведомление с просьбой переключиться на встроенный слот.
  • Если пользователь выбирает "Да", слот переключается.

Блок-схема, иллюстрирующая процесс удаления SIM-карты.

Вставка SIM-карты

  • Если автопереключение включено через regkey:
    • Если SIM-карта вставлена в физический слот, пока выбран встроенный слот, слот автоматически переключится на физический, и всплывающее уведомление проинформирует пользователя о переключении.
    • Тост-сообщение содержит кнопку, открывающую страницу настроек.
  • Если автоматическое переключение отключено с помощью regkey
    • Если SIM-карта вставляется в физический слот во время внедрения выбранного слота, отображается всплывающее уведомление, запрашивающий, хочет ли пользователь перейти на физический слот.
    • Если пользователь выбирает "Да", слот переключается.

Используйте этот раздел реестра для настройки автоматического коммутатора. Он не существует по умолчанию.

Местоположение: HKLM\Software\Microsoft\Cellular\MVSettings\DeviceSpecific\CellUX
Ключ: EnableAutoSlotSwitch
Тип: REG_DWORD
Значение: 1 | 0 (по умолчанию, отключено)

Блок-схема, иллюстрирующая процесс вставки SIM-карты.

Тесты лабораторного комплекта оборудования (HLK)

Инструкции по установке HLK см. в разделе.

В HLK Studio подключитесь к драйверу сотового модема устройства и запустите тест: Win6_4.МБ.GSM.Data.TestSlot. Этот тест содержит следующие четыре теста:

Название теста Описание
QuerySlotMapping Этот тест проверяет, что тест может успешно запрашивать сопоставление слотов устройства.
SetSlotMapping Этот тест проверяет, что тест может успешно задать сопоставление слотов устройства.
QuerySlotInfo Этот тест проверяет, что тест может успешно запрашивать сведения о слоте устройства.
ValidateSlotInfoState Этот тест проверяет состояние слота UICC в сравнении с ReadyInfoState.

Кроме того, можно запустить список тестов TestSlot HLK с помощью netsh-mbn и netsh-mbn-test-installation.

netsh mbn test feature=dssa testpath="C:\data\test\bin" taefpath="C:\data\test\bin" param="AccessString=internet"

Этот файл, показывающий результаты теста HLK, должны были быть созданы в каталоге, из которой была запущена команда netsh mbn test: TestSlot.htm

Анализ журналов

  1. Журналы можно собирать и декодировать с помощью следующих инструкций: МБ Сбор журналов
  2. Откройте файл .txt в TextAnalysisTool
  3. Загрузка фильтра DSSA

Ниже приведен пример журнала для запросов и настройки сопоставлений слотов:

  1619 [5]6C6C.0824::01/09/2020-10:57:17.118 [WwanDimCommon]QUERY OID_WWAN_DEVICE_CAPS_EX (e01012e), RequestId 11, Status 340001
  1673 [5]6C6C.0824::01/09/2020-10:57:17.118 [WwanDimCommon]QUERY OID_WWAN_SYS_CAPS (e01012d), RequestId 21, Status 340001
  2488 [5]6C6C.2738::01/09/2020-10:57:17.120 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_DEVICE_CAPS_EX (0x4004103f)
  2520 [5]6C6C.2738::01/09/2020-10:57:17.120 [WwanDimCommon]    SSERVICE_CAPS_MULTI_SIM     : Supported
  2669 [2]6C6C.2738::01/09/2020-10:57:17.121 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SYS_CAPS_INFO (0x4004102c)
  2679 [2]6C6C.2738::01/09/2020-10:57:17.121 [WwanDimCommon]    NumberOfExecutors 0x1
  2680 [2]6C6C.2738::01/09/2020-10:57:17.121 [WwanDimCommon]    NumberOfSlots 0x2
  3497 [5]6C6C.0824::01/09/2020-10:57:17.125 [WwanDimCommon]QUERY OID_WWAN_SLOT_INFO_STATUS (e010130), RequestId 42, Status 340001
  3502 [5]6C6C.0824::01/09/2020-10:57:17.125 [WwanDimCommon]    Slot Index    : 0
  3531 [5]6C6C.0824::01/09/2020-10:57:17.126 [WwanDimCommon]QUERY OID_WWAN_SLOT_INFO_STATUS (e010130), RequestId 32, Status 340001
  3536 [5]6C6C.0824::01/09/2020-10:57:17.126 [WwanDimCommon]    Slot Index    : 1
  6356 [4]6C6C.2738::01/09/2020-10:57:17.133 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  6890 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  6912 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  6926 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
  6934 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    SlotIndex     : 0x0
  6935 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateActive (0x5)
  6955 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  7060 [7]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  7100 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
  7108 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    SlotIndex     : 0x1
  7109 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateActiveEsimNoProfile (0x8)
  7140 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  7177 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  8424 [4]6C6C.2738::01/09/2020-10:57:17.137 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
 10616 [6]6C6C.2738::01/09/2020-10:57:17.145 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
 12731 [4]6C6C.2738::01/09/2020-10:57:17.149 [WwanDimCommon]QUERY OID_WWAN_SYS_SLOTMAPPINGS (e01012f), RequestId 1e1, Status 340001
 12991 [2]6C6C.2738::01/09/2020-10:57:17.150 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_DEVICE_SLOT_MAPPING_INFO (0x4004102d)
 13003 [2]6C6C.2738::01/09/2020-10:57:17.150 [WwanDimCommon]        Executor Index 0 is mapped to Uicc Slot Index 0
123489 [4]6C6C.2738::01/09/2020-10:57:24.048 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
128251 [2]6C6C.2738::01/09/2020-10:57:24.064 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
128317 [2]6C6C.2738::01/09/2020-10:57:24.064 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
128407 [7]6C6C.2738::01/09/2020-10:57:24.064 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
128445 [7]6C6C.2738::01/09/2020-10:57:24.065 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
129265 [5]6C6C.2738::01/09/2020-10:57:24.067 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
129292 [5]6C6C.2738::01/09/2020-10:57:24.067 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
130122 [7]6C6C.2738::01/09/2020-10:57:24.069 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
155583 [2]6C6C.2738::01/09/2020-10:57:26.637 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
159010 [7]6C6C.2738::01/09/2020-10:57:26.644 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
159034 [7]6C6C.2738::01/09/2020-10:57:26.644 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
161963 [7]6C6C.2738::01/09/2020-10:57:26.655 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
161986 [7]6C6C.2738::01/09/2020-10:57:26.655 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
162110 [2]6C6C.2738::01/09/2020-10:57:26.655 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
162355 [4]6C6C.2738::01/09/2020-10:57:26.656 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
162381 [6]6C6C.2738::01/09/2020-10:57:26.656 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
162441 [4]6C6C.2738::01/09/2020-10:57:26.656 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
194294 [6]6C6C.2738::01/09/2020-10:57:28.722 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200029 [0]6C6C.2738::01/09/2020-10:57:28.738 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200131 [4]6C6C.2738::01/09/2020-10:57:28.738 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200354 [7]6C6C.2738::01/09/2020-10:57:28.739 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200671 [6]6C6C.2738::01/09/2020-10:57:28.739 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200729 [7]6C6C.2738::01/09/2020-10:57:28.739 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200864 [1]6C6C.2738::01/09/2020-10:57:28.740 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
201464 [0]6C6C.2738::01/09/2020-10:57:28.741 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
265128 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon]SET OID_WWAN_SYS_SLOTMAPPINGS (e01012f), RequestId a6, Len 10, Status 340001
265133 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon]    SlotMapListHeader.ElementType    : 0xe
265134 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon]    SlotMapListHeader.ElementCount    : 0x1
265135 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon]    Executor Index 0 is mapped to Uicc Slot Index 1
265523 [6]6C6C.2738::01/09/2020-10:57:32.152 [WwanDimCommon]    ReadyState     : WwanReadyStateOff (0x0)
270760 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_DEVICE_SLOT_MAPPING_INFO (0x4004102d)
270770 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]        Executor Index 0 is mapped to Uicc Slot Index 1
270799 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
270807 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]    SlotIndex     : 0x0
270808 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateEmpty (0x3)
270827 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]    ReadyState     : WwanReadyStateFailure (0x4)
271044 [5]6C6C.2738::01/09/2020-10:57:32.172 [WwanDimCommon]    ReadyState     : WwanReadyStateFailure (0x4)
271089 [5]6C6C.2738::01/09/2020-10:57:32.172 [WwanDimCommon]    ReadyState     : WwanReadyStateFailure (0x4)
271130 [5]6C6C.2738::01/09/2020-10:57:32.172 [WwanDimCommon]    ReadyState     : WwanReadyStateSimNotInserted (0x2)
274729 [7]6C6C.2738::01/09/2020-10:57:32.188 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
283027 [6]6C6C.2738::01/09/2020-10:57:32.211 [WwanDimCommon]    ReadyState     : WwanReadyStateSimNotInserted (0x2)
323130 [5]6C6C.2738::01/09/2020-10:57:32.352 [WwanDimCommon]    ReadyState     : WwanReadyStateNoEsimProfile (0x7)
403200 [0]6C6C.2738::01/09/2020-10:57:33.748 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
403208 [0]6C6C.2738::01/09/2020-10:57:33.748 [WwanDimCommon]    SlotIndex     : 0x0
403209 [0]6C6C.2738::01/09/2020-10:57:33.748 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateActive (0x5)
407008 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon]SET OID_WWAN_SYS_SLOTMAPPINGS (e01012f), RequestId 18f, Len 10, Status 340001
407015 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon]    SlotMapListHeader.ElementType    : 0xe
407017 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon]    SlotMapListHeader.ElementCount    : 0x1
407018 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon]    Executor Index 0 is mapped to Uicc Slot Index 0
407079 [4]6C6C.2738::01/09/2020-10:57:40.355 [WwanDimCommon]    ReadyState     : WwanReadyStateOff (0x0)
409570 [2]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_DEVICE_SLOT_MAPPING_INFO (0x4004102d)
409580 [2]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon]        Executor Index 0 is mapped to Uicc Slot Index 0
409591 [5]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
409600 [5]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon]    SlotIndex     : 0x1
409601 [5]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateEmpty (0x3)
411302 [7]6C6C.2738::01/09/2020-10:57:40.385 [WwanDimCommon]    ReadyState     : WwanReadyStateSimNotInserted (0x2)
416851 [4]6C6C.2738::01/09/2020-10:57:40.510 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
416859 [4]6C6C.2738::01/09/2020-10:57:40.510 [WwanDimCommon]    SlotIndex     : 0x1
416860 [4]6C6C.2738::01/09/2020-10:57:40.510 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateActiveEsimNoProfile (0x8)
418613 [0]6C6C.2738::01/09/2020-10:57:42.632 [WwanDimCommon]    ReadyState     : WwanReadyStateOff (0x0)
434410 [4]6C6C.2738::01/09/2020-10:57:44.558 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
443914 [7]6C6C.2738::01/09/2020-10:57:44.593 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
529138 [4]6C6C.2738::01/09/2020-10:57:45.270 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)