Operações MB Multi-SIM

Suporte para Ambiente de Trabalho com Multi-Modem e Multi-Executor

Tradicionalmente, os dispositivos Windows não telefónicos não foram configurados para modems multi-SIM porque têm menos restrições de espaço físico do que os telefones. Isso permite que eles realmente aproveitem várias interfaces de rádio ativas ao mesmo tempo, em vez de ter um modem com vários cartões SIM, como um telefone; no entanto, devido ao aumento do eSIM e de cenários empresariais, a demanda por suporte para múltiplos cartões SIM por modem em dispositivos que não são telefones aumentou.

A maioria dos dispositivos telefónicos multi-SIM típicos têm ranhuras dual SIM, mas estão limitados a um cartão SIM primário que suporta dados, enquanto o outro suporta apenas funcionalidades de voz. Tal limitação não existe no modelo de PC não-telefone como todos os cartões SIM são usados para conexão de dados.

Enquanto o framework definido nesta especificação pode, teoricamente, suportar um número ilimitado de modems e cartões SIM, o Windows 10, nas versões 1703 e posteriores, suporta apenas o cenário dual-SIM/single-active (DSSA) de ponta a ponta.

Especificação da interface de modem NDIS

Interface existente e lacunas de recursos

É possível suportar a funcionalidade dual-SIM/dual-active com vários modems independentes, onde cada modem é um dispositivo separado e opera de forma completamente independente. No entanto, isso está fora do escopo desta documentação, que em vez disso se concentra num modem de miniporta WWAN capaz de apresentar pilhas celulares múltiplas e simultâneas ao host. Esta secção define os vários objetos e estabelece a terminologia utilizada em toda a documentação MB relacionada com a funcionalidade multi-SIM.

Os avanços no hardware resultaram em dispositivos que podem manter registros simultâneos com várias redes celulares. Em tais dispositivos, supõe-se que haja "várias instâncias da pilha celular" a funcionar em paralelo, cada uma capaz de manter o registo, monitorizar a intensidade do sinal, realizar transferências e detectar páginas recebidas. Cada instância desta "pilha celular" será referida como um executor para o resto deste documento. Por exemplo, em um dispositivo capaz de manter registros com duas redes simultaneamente, o hardware do modem é considerado como tendo dois executores.

O executor é uma representação lógica do hardware e pode, na verdade, ser um único transceptor de hardware que é multiplexado. As especificidades exatas do hardware são consideradas como detalhes de implementação do fornecedor e estão fora do escopo desta especificação. Para um driver de miniporta NDIS, os executores são expostos como várias instâncias de um adaptador de miniporta WWAN. Para um modem MBIM, os executores são representados por várias funções MBIM em um dispositivo composto enumerado.

As duas imagens a seguir ilustram a visão lógica de um modem dual SIM. Cada um mostra uma possível combinação de executor e UICC.

Diagrama ilustrando a visão lógica de um modem dual SIM.

A pilha celular dentro de um executor é considerada autossuficiente, exceto no caso de uma implementação de modem Dual Standby, onde o executor que realiza o tráfego (voz e/ou dados) pode impedir que o outro mantenha a inscrição.

O diagrama a seguir ilustra a visão lógica de um modem de espera dupla. O tráfego no Executor 0, uma chamada telefónica, faz com que o Executor 1 perca o registo.

Diagrama que representa a vista lógica de um modem com standby duplo.

O modelo de interface de modem de área de trabalho do Windows no NDIS 6.7 não acomoda essa arquitetura porque se baseia em várias suposições implícitas:

  • O modelo assume que há um único executor dentro do modem.
  • O modelo assume que há uma única placa UICC diretamente associada ao hardware do modem.
  • A UICC é tratada como se fosse um cartão SIM de aplicação única.

Por outro lado, a interface Microsoft Radio Interface Layer (RIL) no Windows Mobile expõe explicitamente a multiplicidade dessas suposições. A interface de banda larga móvel no Windows Mobile expõe a capacidade de registrar independentemente através de miniportas separadas e assume que alguma configuração básica do dispositivo já foi realizada através da interface RIL. Para fornecer funcionalidade equivalente, a Área de Trabalho do Windows deve fornecer mecanismos para descobrir o número de executores e slots, para acessar executores de forma independente, para definir o mapeamento entre executores e slots e para definir os aplicativos dentro do cartão UICC mapeado que cada executor usará.

Para obter mais informações sobre a arquitetura celular e as diferenças entre o Windows 10 Mobile e o Desktop, consulte Cellular architecture and implementation.

Principais Objetos e Operações

A figura a seguir mostra um modelo abstrato de um modem.

Diagrama mostrando a relação entre modem, executores e slots.

Cada modem é identificado por um identificador global exclusivo (GUID) e contém um conjunto de um ou mais executores, cada um dos quais é capaz de registro independente em uma rede celular. Cada executor tem um índice de executor associado, um inteiro, começando com 0 para o primeiro executor. Além disso, o modem expõe um ou mais slots que podem conter placas UICC. Presume-se que o número de slots é maior ou igual ao número de executores. Cada slot tem um índice associado, também começando com 0, e um estado atual relacionado ao estado de energia do slot e estado de disponibilidade de um cartão no slot (se houver).

Para manter a compatibilidade com modems existentes, cada executor opera com informações fornecidas por uma placa UICC em um único slot. A associação entre executores e slots é definida pelo mapeamento de slots, que mapeia cada executor para exatamente um slot.

Um slot pode conter um cartão UICC; cada cartão contém uma ou mais aplicações UICC, como um USIM, CSIM, ISIM, ou possivelmente outras aplicações de telefonia e não telefonia, como PKCS#15 ou aplicações da Plataforma Global para um elemento seguro de NFC. O endereçamento e o uso desses aplicativos UICC individuais é um tópico para especificação futura e fora do escopo desta documentação.

A interface NDIS da área de trabalho do Windows para o modem é caracterizada pela troca de OIDs e notificações NDIS. Na maioria dos casos, esses OIDs são direcionados a executores individuais; no entanto, alguns comandos e notificações têm como escopo o modem.

Para sistemas operacionais que não sejam Windows Mobile, um modem multi-executor aparece como um dispositivo com várias instâncias físicas de miniporta WWAN. Cada instância de miniporta física representa um executor que pode manter o registro como uma instância NDIS. Instâncias virtuais adicionais podem ser criadas em tempo de execução para gerenciar dados de pacotes específicos do contexto e sessões de serviço de dispositivo. Comandos e notificações específicos do executor são trocados por meio da instância física NDIS da miniporta WWAN que representa esse executor. Os comandos específicos do modem (em outras palavras, aqueles que não são específicos do executor) e suas notificações correspondentes podem ser enviados ou provenientes de qualquer instância física de miniporta.

Os dois diagramas a seguir mostram a diferença em comandos e notificações específicos do executor (o primeiro diagrama), onde os comandos e notificações passam e vêm do mesmo executor, e comandos e notificações específicos do modem (o segundo diagrama), onde os comandos podem passar por qualquer executor e vir de qualquer executor.

Diagrama exibindo comandos e notificações específicos do executor.

Diagrama ilustrando comandos e notificações específicos do modem.

Todas as solicitações de consulta ou conjunto OID emitidas para uma instância de miniporta são executadas no modem e no executor ao qual a instância de miniporta está associada. Da mesma forma, todas as notificações não solicitadas e eventos não solicitados do Serviço de Dispositivo enviados de uma instância de miniporta são aplicáveis ao modem e ao executor ao qual a instância de miniporta está associada. Por exemplo, uma notificação de NDIS_STATUS_WWAN_REGISTER_STATE ou NDIS_STATUS_WWAN_PACKET_SERVICE não solicitada de uma miniporta indica apenas o registro (ou o estado do serviço de pacotes) do modem associado e do executor e não está relacionada ao estado de outro(s) modem(s) ou outro(s) executor(es).

Quando há vários modems e/ou vários executores em um dispositivo, o adaptador de miniporta físico associado a essa combinação de modem e executor emite notificações não solicitadas específicas do contexto relacionadas a uma combinação específica de modem e executor.

Da mesma forma, se um dispositivo tiver vários modems e/ou vários executores, a instância física do adaptador de miniporta associada a uma combinação específica de modem e executor poderá receber solicitações de consulta OID não específicas do contexto relacionadas a esse modem e executor. O adaptador que recebe essa solicitação de consulta processa-a de acordo com a definição OID. Se assim for escolhido pelo driver de miniporta, essa solicitação de consulta pode ser processada simultaneamente com qualquer outro conjunto de OID em processo ou solicitações de consulta em qualquer instância de adaptadores associados a esse modem e executor. Todas as instâncias de um adaptador de miniporta associado a um mesmo modem e executor relatam as mesmas informações de estado para esse modem celular e executor (como estado de energia de rádio, estado de registro, estado de serviço de pacote, etc.).

Para um dispositivo que tenha vários modems e/ou vários executores, a instância física do adaptador de miniporta associada a uma combinação de modem e executor pode receber solicitações de conjunto OID não específicas do contexto. O condutor do miniporto deve acompanhar a evolução desse pedido. Se uma dessas solicitações de conjunto estiver em andamento em qualquer adaptador e ainda não tiver sido concluída, uma segunda tentativa de solicitação de conjunto (para qualquer instância de adaptador associada ao mesmo modem e executor) será enfileirada e processada após a conclusão das solicitações anteriores.

O driver WMBCLASS da área de trabalho do Windows 10 segue a especificação descrita no parágrafo anterior para lidar com essa condição de corrida de solicitação definida, mas se a condição de corrida ocorrer na camada de modem, o modem deve seguir a mesma orientação para enfileirar comandos conflitantes em todo o dispositivo na função MBIM se ainda estiver processando outra função vinculada ao mesmo dispositivo subjacente.

OIDs para solicitações de definição e consulta

Para consultar o número de dispositivos (executores) e slots no modem, bem como o número de executores que podem estar ativos simultaneamente, o host usa OID_WWAN_SYS_CAPS.

Para consultar a capacidade de um executor, o host usa OID_WWAN_DEVICE_CAPS_EX.

Para definir o slot que está vinculado a cada executor ou consultar o mapeamento atual, o host usa OID_WWAN_DEVICE_SLOT_MAPPINGS.

Para consultar o status de um slot específico no modem, o host usa OID_WWAN_SLOT_INFO_STATUS.

Comandos por dispositivo e por executor

Com a adição do conceito de executor para dispositivos não-Windows Mobile no Windows 10, versão 1703 e posterior, os OIDs agora são divididos em duas categorias: OIDs por dispositivo e OIDs por executor. A tabela abaixo explica quais OIDs se enquadram em qual categoria.

Por dispositivo ou por executor Nome OID
Por dispositivo 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
Por executor 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
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

Observação

OID_WWAN_RADIO_STATE foi atualizado para o Windows 10, versão 1703 também. Consulte OID_WWAN_RADIO_STATE para obter mais informações.

Atualização da interface MBIM para operações Multi-SIM

Para sistemas operativos que não sejam Windows Mobile, um modem com múltiplos executores aparece como um dispositivo composto USB com várias funções MBIM. Cada função MBIM representa um executor que pode manter o registo. Os comandos e notificações específicos do executor são trocados através da função MBIM que representa esse executor, enquanto os comandos específicos do modem (por outras palavras, aqueles que não são específicos do executor) e as notificações correspondentes podem ser enviados ou provenientes de qualquer função MBIM que pertença ao mesmo dispositivo composto USB subjacente.

Todos os conjuntos CID ou solicitações de consulta emitidos para uma função MBIM são executados no modem e no executor ao qual a instância de miniporta está associada; da mesma forma, todas as notificações não solicitadas enviadas a partir de uma função MBIM são aplicáveis ao modem e ao executor ao qual a função MBIM está associada. Da mesma forma, todos os eventos não solicitados do Serviço de Dispositivo enviados de uma instância de miniporta são aplicáveis ao modem e ao executor ao qual a função MBIM está associada. Por exemplo, uma notificação de MBIM_CID_REGISTER_STATE ou MBIM_CID_PACKET_SERVICE não solicitada de uma função MBIM indica apenas o estado de registo ou serviço de pacotes do modem/executor associado e não está relacionada com o estado de outro(s) modem(s) ou outro(s) executor(es).

Quando existirem vários modems e/ou vários executores num dispositivo, serão emitidas notificações não solicitadas não específicas do contexto relacionadas com uma combinação específica de modem e executor a partir da função MBIM associada ao modem e ao executor acima mencionados.

Em um dispositivo com vários modems e/ou vários executores, solicitações de consulta CID não específicas do contexto relacionadas a um modem e executor específicos podem ser emitidas para a função MBIM associada a essa combinação de modem e executor. A função que recebe esse pedido de consulta deve processá-lo de acordo com a definição do CID. Se assim for escolhido pelo firmware do modem, tal solicitação de consulta pode ser processada simultaneamente com qualquer outro conjunto CID ou solicitações de consulta sendo processadas por quaisquer funções do MBIM associadas a esse modem e executor. Todas as funções MBIM associadas ao mesmo modem devem comunicar as mesmas informações de estado para esse modem celular, para além do executor que representam.

Quando há vários modems e/ou vários executores em um dispositivo, solicitações de conjunto CID não específicas do executor podem ser emitidas para a função MBIM associada a esse modem e executor. O modem deve acompanhar o progresso desses pedidos como um todo. Se uma dessas solicitações de conjunto estiver em andamento em qualquer adaptador e ainda não tiver sido concluída, uma segunda tentativa de solicitação de conjunto (para qualquer instância de adaptador associada ao mesmo modem e executor) será enfileirada e processada após a conclusão das solicitações anteriores.

O diagrama a seguir ilustra o fluxo de informações entre as funções WWANSVC e MBIM em dois modems diferentes.

Diagrama da estrutura do modem com funções MBIM.

Esta seção contém as descrições detalhadas do CID por modem e por executor para os serviços de dispositivo definidos. As definições fazem referência à especificação MBIM1.0 pública existente. Um dispositivo compatível com MBIM implementa e relata o seguinte serviço de dispositivo quando consultado por CID_MBIM_DEVICE_SERVICES. Os serviços bem conhecidos existentes são definidos na secção 10.1 da especificação USB NCM MBIM 1.0. A Microsoft estende isso para definir o seguinte serviço.

Nome do Serviço = Extensões Básicas do Connect

UUID = UUID_BASIC_CONNECT_EXTENSIONS

Valor UUID = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

Os seguintes CIDs são definidos para UUID_MS_BasicConnect:

CID Código de comando Versão mínima do SO
MBIM_CID_MS_SYS_CAPS 5 Windows 10, versão 1703
MBIM_CID_MS_DEVICE_CAPS_V2 6 Windows 10, versão 1703
MBIM_CID_MS_DEVICE_SLOT_MAPPINGS 7 Windows 10, versão 1703
MBIM_CID_MS_SLOT_INFO_STATUS 8 Windows 10, versão 1703

Todos os deslocamentos nas seguintes secções de CID são calculados a partir do início do MBIM_COMMAND_MSG InformationBuffer.

MBIM_CID_MS_SYS_CAPS

Descrição

Este CID recupera informações sobre o modem. Isso pode ser enviado em qualquer uma das instâncias MB expostas como uma função USB.

Consulta

O InformationBuffer em MBIM_COMMAND_MSG contém os dados de resposta como MBIM_MS_SYS_CAPS_INFO.

Conjunto

Não aplicável.

Evento não solicitado

Não aplicável.

Parâmetros

Funcionamento Conjunto Consulta Notificação
Comando Não aplicável Não aplicável Não aplicável
Resposta Não aplicável MBIM_MS_SYS_CAPS_INFO Não aplicável

Estruturas de Dados

Consulta

O InformationBuffer deve ser nulo e InformationBufferLength deve ser zero.

Conjunto

Não aplicável.

Resposta

A seguinte estrutura MBIM_SYS_CAPS_INFO deve ser utilizada no InformationBuffer.

Deslocamento Tamanho Campo Tipo Descrição
0 4 NúmerodeExecutores UINT32 Número de instâncias de MBB reportadas por este modem
4 4 Número de Slots UINT32 Número de slots UICC físicos disponíveis neste modem
8 4 Concorrência UINT32 Número de instâncias MBB que podem estar ativas simultaneamente
12 8 Identificador do Modem UINT64 Identificador exclusivo de 64 bits para cada modem

O campo NumberOfExecutors indica o número de executores suportados pelo modem em sua configuração atual. Isso corresponde diretamente ao número de pilhas de 'subtelefones' suportadas pelo modem.

O campo NumberofSlots indica o número de slots que estão fisicamente presentes no modem. Cada slot relatado deve ser capaz de receber um cartão UICC (os slots em si podem ser uma mistura heterogênea, se necessário – mini SIM, micro SIM, nano SIM ou qualquer padrão, conforme definido pelo ETSI). O número de slots deve ser igual ou maior do que o número de executores suportados. A disposição "maior que" permite o uso de UICC não de telefonia, como para segurança, NFC, etc.

O campo Concurrency indica o número de executores (instâncias MBB) que podem estar ativos ao mesmo tempo. O intervalo deve ser 1 ≤ Concurrency ≤ NumberOfExecutors. Por exemplo, um modem dual-standby teria uma concorrência de 1, enquanto um modem dual-active teria uma concorrência de 2.

O campo ModemId indica o identificador exclusivo de 64 bits para um determinado hardware de modem. Um IHV pode implementar sua própria lógica para gerar um valor exclusivo de 64 bits para cada modem; por exemplo, hashing de um dos números IMEI, geração aleatória de números de 64 bits, etc. Uma vez que o ID de 64 bits é gerado, ele deve persistir em reinicializações e remoções/inserções de cartão SIM.

Códigos de estado

Este CID utiliza Códigos de Estado Genéricos (consulte Utilização de Códigos de Estado na Secção 9.4.5 de a norma pública USB MBIM).

MBIM_CID_MS_DEVICE_CAPS_V2

Descrição

Este CID recupera as informações de capacidade relacionadas a um executor. Uma vez que este CID é uma extensão do MBIM_CID_DEVICE_CAPS, apenas as alterações de MBIM_CID_DEVICE_CAPS como indicado na Secção 10.5.1 da norma pública USB MBIM são apresentadas aqui.

Este CID continua a ser apenas para consulta e retornará uma estrutura de MBIM_MS_DEVICE_CAPS_INFO_V2 em resposta a MBIM_COMMAND_MSG com o serviço MBIM MSUUID_BASIC_CONNECT e CID MBIM_CID_MS_DEVICE_CAPS_V2.

Parâmetros

Funcionamento Conjunto Consulta Notificação
Comando Não aplicável Não aplicável Não aplicável
Resposta Não aplicável MBIM_MS_DEVICE_CAPS_INFO_V2 Não aplicável

Estruturas de Dados

Consulta

O mesmo que a Seção 10.5.1.4 do padrão público USB MBIM.

Conjunto

Não aplicável.

Resposta

A seguinte estrutura MBIM_DEVICE_CAPS_INFO_V2 deve ser utilizada no InformationBuffer. Em comparação com a estrutura MBIM_CID_DEVICE_CAPS definida na seção 10.5.1 do padrão público USB MBIM, a estrutura a seguir tem um novo campo chamado DeviceIndex. A menos que indicado aqui, as descrições de campo na Tabela 10-14 do padrão público USB MBIM aplicam-se aqui.

Deslocamento Tamanho Campo Tipo Descrição
0 4 Tipo de dispositivo MBIM_DEVICE_TYPE
4 4 CellularClass MBIM_CELLULAR_CLASS
8 4 VoiceClass MBIM_VOICE_CLASS
12 4 SimClasse MBIM_SIM_CLASS Para modems MBIM que suportam este CID, a SimClass será sempre reportada como MBIMSimClassSimRemovable.
16 4 Classe de dados MBIM_DATA_CLASS
20 4 SmsCaps MBIM_SMS_CAPS
24 4 ControlCaps MBIM_CTRL_CAPS
28 4 MaxSessões UINT32
32 4 CustomDataClassOffset COMPENSAÇÃO
36 4 CustomDataClassSize TAMANHO(0..22)
40 4 DeviceIdOffset COMPENSAÇÃO
44 4 DeviceIdSize TAMANHO(0..26)
48 4 FirmwareInfoOffset COMPENSAÇÃO
52 4 FirmwareInfoSize TAMANHO(0..60)
56 4 HardwareInfoOffset COMPENSAÇÃO
60 4 HardwareInfoSize TAMANHO(0..60)
64 4 ExecutorIndex UINT32 O índice do executor. Varia de 0 a n-1 onde n é o número de instâncias MBB contidas no modem MBIM. Seu valor é sempre constante e independente da ordem de enumeração.
68 Buffer de Dados BUFFER DE DADOS O buffer de dados que contém os membros CustomDataClass, DeviceId, FirmwareInfoe HardwareInfo.

Códigos de estado

Este CID utiliza Códigos de Estado Genéricos (consulte Utilização de Códigos de Estado na Secção 9.4.5 da norma pública USB MBIM).

MBIM_CID_MS_DEVICE_SLOT_MAPPINGS

Descrição

Esse CID define ou retorna os mapeamentos de slot de dispositivo (em outras palavras, os mapeamentos de slot de executor).

Consulta

O InformationBuffer em MBIM_COMMAND_MSG não é usado. MBIM_MS_DEVICE_SLOT_MAPPING_INFO é retornado no InformationBuffer do MBIM_COMMAND_DONE.

Conjunto

O InformationBuffer de MBIM_COMMAND_MSG contém MBIM_MS_DEVICE_SLOT_MAPPING_INFO. MBIM_MS_DEVICE_SLOT_MAPPING_INFO é retornado no InformationBuffer do MBIM_COMMAND_DONE. Independente de o Set CID ser bem-sucedido ou falhar, o MBIM_MS_DEVICE_SLOT_MAPPING_INFO contido na resposta representa os mapeamentos atuais de ranhuras do dispositivo.

Eventos não solicitados

Não aplicável.

Parâmetros

Funcionamento Conjunto Consulta Notificação
Comando MBIM_MS_DEVICE_SLOT_MAPPING_INFO Não aplicável Não aplicável
Resposta MBIM_MS_DEVICE_SLOT_MAPPING_INFO MBIM_MS_DEVICE_SLOT_MAPPING_INFO Não aplicável

Estruturas de Dados

Consulta

O InformationBuffer deve ser nulo e InformationBufferLength deve ser zero.

Conjunto

A seguinte estrutura MBIM_MS_DEVICE_SLOT_MAPPING_INFO deve ser utilizada no InformationBuffer.

Deslocamento Tamanho Campo Tipo Descrição
0 4 MapCount (MC) UINT32 Número de mapeamentos, que é sempre igual ao número de dispositivos/executores.
4 8 * MC SlotMapList OL_PAIR_LIST O i-ésimo par desta lista, onde (0 <= i <= (MC-1)) registra o índice do slot que está atualmente mapeado para o i-ésimo dispositivo/executor. O primeiro elemento no par é um campo de 4 bytes com o Offset no DataBuffer, calculado desde o início (deslocamento 0) desta estrutura MBIM_MS_DEVICE_SLOT_MAPPINGS_INFO, para um UINT32. O segundo elemento do par é o tamanho de 4 bytes do elemento de registo. Como o tipo de índice de slot é UINT32, o segundo elemento no par é sempre 4.
4 + (8 * MC) 4 * MC Buffer de Dados BUFFER DE DADOS O buffer de dados que contém SlotMapList. Como o tamanho do slot é de 4 bytes e MC é igual ao número de índices de slots, o tamanho total de DataBuffer é 4 * MC.
Resposta

O MBIM_MS_DEVICE_SLOT_MAPPING_INFO usado em set também é usado no InformationBuffer for Response.

Códigos de estado

Código de estado Descrição
MBIM_STATUS_BUSY A operação falhou porque o dispositivo está ocupado. Na ausência de qualquer informação explícita da função para limpar essa condição, o host pode usar ações subsequentes da função (por exemplo, notificações ou conclusões de comando) como orientação para tentar novamente a operação falhada.
MBIM_STATUS_FAILURE A operação falhou (uma falha genérica).
MBIM_STATUS_CHAMADA_VOZ_EM_ANDAMENTO A operação falhou porque uma chamada de voz está em andamento.
MBIM_STATUS_PARÂMETROS_INVÁLIDOS A operação falhou devido a parâmetros inválidos (por exemplo, números de slots fora do intervalo ou valores duplicados no mapeamento).

MBIM_CID_MS_SLOT_INFO_STATUS

Descrição

Este CID obtém um estado agregado de alto nível de um slot UICC especificado e do cartão dentro dele (se houver). Também pode ser utilizado para enviar uma notificação não solicitada quando o estado de um dos slots muda.

Consulta

O InformationBuffer de MBIM_COMMAND_MSG contém uma estrutura MBIM_MS_SLOT_INFO_REQ. O InformationBuffer da mensagem MBIM_COMMAND_DONE contém uma estrutura MBIM_MS_SLOT_INFO.

Conjunto

Não aplicável.

Eventos não solicitados

O Event InformationBuffer contém uma estrutura MBIM_MS_SLOT_INFO. A função envia esse evento caso o estado do slot/cartão composto seja alterado.

Parâmetros

Funcionamento Conjunto Consulta Notificação
Comando Não aplicável MBIM_MS_SLOT_INFO_REQ Não aplicável
Resposta Não aplicável MBIM_MS_SLOT_INFO MBIM_MS_SLOT_INFO

Estruturas de Dados

Consulta

A seguinte estrutura MBIM_MS_SLOT_INFO_REQ deve ser utilizada no InformationBuffer.

Deslocamento Tamanho Campo Tipo Descrição
0 4 SlotIndex UINT32 O índice do slot a ser consultado.
Conjunto

Não aplicável.

Resposta

A seguinte estrutura MBIM_MS_SLOT_INFO deve ser utilizada no InformationBuffer.

Deslocamento Tamanho Campo Tipo Descrição
0 4 SlotIndex UINT32 O índice do slot.
4 4 Estado MBIM_MS_UICC_SLOT_STATE O estado da ranhura e do cartão (se aplicável).

A estrutura MBIM_MS_UICCSLOT_STATE a seguir descreve os possíveis estados do slot.

Estados Valor Descrição
UICCSlotStateUnknown 0 O modem ainda está em processo de inicialização, portanto, o estado do slot SIM não é determinístico.
UICCSlotStateOffEmpty 1 O slot UICC está desligado e nenhum cartão está presente. Uma implementação que não consegue determinar a presença de uma placa em um slot que está desligado relata seu estado como UICCSlotStateOff.
UICCSlotStateOff 2 O slot UICC está desligado.
UICCSlotStateEmpty 3 O slot UICC está vazio (não há cartão nele).
UICCSlotStateNotReady (Estado do Slot UICC Não Pronto) 4 O slot UICC está ocupado e ligado, mas a placa dentro dele ainda não está pronta.
UICCSlotStateActive 5 O slot UICC está ocupado e o cartão dentro dele está pronto.
UICCSlotStateError 6 O slot UICC está ocupado e ligado, mas a placa está em um estado de erro e não pode ser usada até a próxima redefinição.
UICCSlotStateActiveEsim 7 O cartão no slot é um eSIM com um perfil ativo e está pronto para aceitar comandos.
UICCSlotStateActiveEsimNoProfiles 8 O cartão no slot é um eSIM sem perfis (ou sem perfis ativos) e está pronto para aceitar comandos.
MBIM_MS_UICCSLOT_STATE orientações sobre a transição para dispositivos multisim

A conformidade com as transições corretas do estado do slot UICC garante que o sistema operacional manipule todas as alterações corretamente e exiba as notificações do sistema corretas para o usuário.

Para a notificação do sistema de SIM inserido, o Sistema Operativo espera que o slot incorporado (SIM2/Slot 1) seja selecionado e que a seguinte transição de estado ocorra após a inserção de um SIM no slot físico (SIM1/Slot 0).

Valores possíveis da ranhura 0 antes da inserção do SIM Valores possíveis da ranhura 0 após a inserção do SIM
UICCSlotStateEmpty UICCSlotStateActive
UICCSlotStateOffEmpty
  • UICCSlotStateActiveEsim
  • UICCSlotStateActiveEsimNoProfile

Para a notificação de brinde SIM removida, o SO espera que o slot físico (SIM1/Slot 0) seja selecionado com um SIM inserido e a seguinte transição de estado acontecerá após a remoção do SIM do slot físico (SIM1/Slot 0).

Valores possíveis do Slot 0 antes da remoção do SIM Valores possíveis do Slot 0 após a remoção do SIM
UICCSlotStateActive UICCSlotStateEmpty
  • UICCSlotStateActiveEsim
  • UICCSlotStateActiveEsimNoProfile
UICCSlotStateOffEmpty

Códigos de estado

Este CID utiliza Códigos de Estado Genéricos (consulte Utilização de Códigos de Estado na Secção 9.4.5 da norma pública USB MBIM).

Mapeamento não-NDIS de CIDs MBIM por executor e por modem

A maioria dos CIDs do MBIM estão mapeados ou relacionados com OIDs NDIS, mas há alguns comandos usados pelo driver de classe WMB do Windows que não têm equivalente NDIS. Esta seção fornece clareza sobre se esses comandos são por modem ou por executor.

Por dispositivo ou por executor Nome do CID
Por dispositivo CID_MBIM_MSEMERGENCYMODE
CID_MBIM_MSHOSTSHUTDOWN
Por executor CID_MBIM_MSIPADDRESSINFO
CID_MBIM_MSNETWORKIDLEHINT
CID_MBIM_MULTICARRIER_CURRENT_CID_LIST

Dual SIM Ativo Único

Dual SIM single ative (DSSA) é a única forma de operação multi-SIM que é totalmente suportada no Windows 10. O DSSA permite que dois cartões SIM sejam usados com o modem, com a restrição de que apenas um SIM pode estar ativo a qualquer momento.

Arquitetura/Fluxo

Diagrama que mostra o fluxo DSSA.

Comportamento do Comutador de Slot

Se o DSSA for suportado no dispositivo, há alguns cenários onde a troca de slot é executada automaticamente ou solicitada pelo utilizador através de balões de notificação.

Experiência Fora da Caixa (OOBE)

  • Durante o OOBE, o WwanSvc pode realizar um remapeamento de slot com base no estado do slot físico. Se o slot físico estiver vazio, o slot incorporado será selecionado. Se houver um SIM no slot físico, este será selecionado.

Remoção do cartão SIM

  • Se o cartão SIM for removido do slot físico e o slot físico for o slot atualmente selecionado, será exibida uma mensagem a perguntar ao utilizador se deseja mudar para o slot incorporado.
  • Se o usuário selecionar "Sim", o slot será trocado.

Fluxograma ilustrando o processo de remoção do SIM.

SIM Inserir

  • Se a comutação automática estiver ativada através da chave regkey:
    • Se o SIM for inserido no encaixe físico enquanto o encaixe selecionado estiver incorporado, o sistema mudará automaticamente para o encaixe físico e será exibida uma notificação informando o utilizador sobre a mudança.
    • A notificação tipo toast tem um botão que abre a página de configurações.
  • Se a comutação automática estiver desativada através da chave regkey
    • Se o SIM for inserido no slot físico enquanto o slot selecionado estiver incorporado, uma notificação do sistema será exibida perguntando se o usuário deseja alternar para o slot físico.
    • Se o usuário selecionar "Sim", o slot será trocado.

Use essa chave do Registro para configurar a alternância automática. Não existe por padrão.

localização: HKLM\Software\Microsoft\Cellular\MVSettings\DeviceSpecific\CellUX
Chave : EnableAutoSlotSwitch
Tipo: REG_DWORD
Valor: 1 | 0 (padrão, desativado)

Fluxograma ilustrando o processo de inserção do SIM.

Testes do Hardware Lab Kit (HLK)

Consulte etapas para instalar o HLK.

No HLK Studio, conecte-se ao driver de modem móvel do dispositivo e execute o teste: Win6_4.MB.GSM.Data.TestSlot. Este teste contém os seguintes quatro testes:

Nome do teste Descrição
QuerySlotMapping Este teste verifica se é possível consultar com êxito o mapeamento de slots do dispositivo.
SetSlotMapping Este teste verifica se o teste pode definir com êxito o mapeamento do slot do dispositivo.
QuerySlotInfo Este teste verifica se é possível consultar com êxito as informações do slot do dispositivo.
ValidateSlotInfoState Este teste valida o estado do slot UICC em relação ao ReadyInfoState.

Como alternativa, execute a lista de testes HLK TestSlot por netsh-mbn e netsh-mbn-test-installation.

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

Este arquivo mostrando os resultados do teste HLK deve ter sido gerado no diretório a partir do qual o comando 'netsh mbn test' foi executado: TestSlot.htm.

Análise de Log

  1. Os logs podem ser recolhidos e decodificados usando estas instruções: MB Recolha de logs
  2. Abra o arquivo .txt no TextAnalysisTool
  3. Carregue o filtro DSSA

Aqui está um exemplo de log para consultar e definir mapeamentos de slots:

  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)