Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Поддержка нескольких модемов и исполнений для настольных ПК
Традиционно устройства Windows без телефонов не настроены для модемов с несколькими SIM-картами, так как они имеют меньше физических ограничений пространства, чем телефоны. Это позволяет им действительно использовать несколько активных радиомодулей одновременно вместо одного модема с несколькими SIM-картами, как это происходит в телефонах; однако из-за распространения eSIM и использования в корпоративных сценариях возрос спрос на поддержку нескольких SIM-карт на модемах в устройствах, отличных от телефонов.
Большинство типичных телефонных устройств с несколькими SIM-картами имеют два слота для SIM-карт, но ограничены одной основной SIM-картой, поддерживающей данные, а другая поддерживает только функции голосовой связи. Такое ограничение не существует в модели компьютера, отличном от телефона, так как все SIM-карты используются для подключения к данным.
Хотя фреймворк, определенный в этой спецификации, теоретически может поддерживать неограниченное количество модемов и SIM-карт, Windows 10 версий 1703 и более поздних поддерживает только сценарий с двумя SIM-картами и одной активной (DSSA).
Спецификация интерфейса модема NDIS
Существующие пробелы в интерфейсе и функциях
Можно поддерживать функции двойной SIM-карты и двойной активности с несколькими независимыми модемами, где каждый модем является отдельным устройством и работает полностью независимо. Однако это выходит за рамки этой документации, которая вместо этого фокусируется на мини-модеме WWAN, который может представлять несколько и одновременных стеков сотовой связи хосту. В этом разделе определяются различные объекты и устанавливается терминология, используемая во всей документации по МБ, связанной с функциональностью нескольких SIM-карт.
Усовершенствования оборудования привели к тому, что устройства могут поддерживать одновременную регистрацию с несколькими сотовыми сетями. В таких устройствах предполагается, что в параллельном режиме выполняется несколько экземпляров сотового стека, которые могут поддерживать регистрацию, отслеживать сильные стороны сигнала, выполнять передачу и прослушивать входящие страницы. Каждый экземпляр этого "стека ячеек" будет называться исполнителем для остальной части этого документа. Например, на устройстве, поддерживающем регистрации с двумя сетями одновременно, модемное оборудование считается имеющим две исполнительные функции.
Исполнитель является логическим представлением оборудования и может на самом деле быть одним аппаратным трансивером, который подвергается мультиплексированию. Точные аппаратные особенности рассматриваются как сведения о реализации поставщика и не относятся к этой спецификации. Для минипорт-драйвера NDIS, исполнители представлены как несколько экземпляров минипорт-адаптера WWAN. Для модема MBIM исполнители представлены несколькими функциями MBIM на перечисленном составном устройстве.
Следующие два изображения иллюстрируют логическое представление двухсимочного модема. В каждом примере показана возможная комбинация исполнителя и UICC.
Стек сотовой связи внутри исполнителя считается в основном автономным, за исключением случая реализации двойного резервного модема, когда исполнитель обрабатывает трафик (голос и/или данные) и может помешать другим поддерживать регистрацию.
На следующей схеме показано логическое представление двойного резервного модема. Трафик на Исполнителе 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 в двух разных модемах.
В этом разделе содержатся подробные описания идентификаторов 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 |
|
Для всплывающего уведомления удалена SIM-карта операционная система ожидает, что физический слот (SIM1/Слот 0) будет выбран с вставленной SIM-картой, и при удалении SIM-карты из физического слота (SIM1/Slot 0) произойдет следующий переход состояния.
| Возможные значения слота 0 перед удалением SIM-карты | Возможные значения слота 0 после удаления SIM-карты |
|---|---|
| UICCSlotStateActive | UICCSlotStateEmpty |
|
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 поддерживается на устройстве, существуют некоторые сценарии, в которых переключение слотов выполняется автоматически или запрашивается пользователем по уведомлениям.
Встроенный интерфейс (OOBE)
- Во время OOBE WwanSvc может выполнять переназначение слота на основе состояния физического слота. Если физический слот пуст, то выбран внедренный слот. Если в физическом слоте есть SIM-карта, выбран физический слот.
Удаление SIM-карты
- Если SIM-карта удаляется из физического слота, а физический слот - выбранный в данный момент слот, отображается всплывающее уведомление с просьбой переключиться на встроенный слот.
- Если пользователь выбирает "Да", слот переключается.
Вставка SIM-карты
- Если автопереключение включено через regkey:
- Если SIM-карта вставлена в физический слот, пока выбран встроенный слот, слот автоматически переключится на физический, и всплывающее уведомление проинформирует пользователя о переключении.
- Тост-сообщение содержит кнопку, открывающую страницу настроек.
- Если автоматическое переключение отключено с помощью regkey
- Если SIM-карта вставляется в физический слот во время внедрения выбранного слота, отображается всплывающее уведомление, запрашивающий, хочет ли пользователь перейти на физический слот.
- Если пользователь выбирает "Да", слот переключается.
Используйте этот раздел реестра для настройки автоматического коммутатора. Он не существует по умолчанию.
Местоположение: HKLM\Software\Microsoft\Cellular\MVSettings\DeviceSpecific\CellUX
Ключ: EnableAutoSlotSwitch
Тип: REG_DWORD
Значение: 1 | 0 (по умолчанию, отключено)
Тесты лабораторного комплекта оборудования (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
Анализ журналов
- Журналы можно собирать и декодировать с помощью следующих инструкций: МБ Сбор журналов
- Откройте файл .txt в TextAnalysisTool
- Загрузка фильтра 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)