Compartilhar via


Preparação do dispositivo MB

Este tópico descreve os procedimentos para garantir que um dispositivo MB esteja acessível e pronto para ser usado para atividades relacionadas à rede antes que o Serviço MB continue a configurar conexões de dados. O dispositivo está pronto para ser usado quando a assinatura do usuário tiver sido ativada e as informações relacionadas ao assinante armazenadas no dispositivo ou no Módulo de Identidade do Assinante (cartão SIM)

O Serviço MB pressupõe que um driver de miniporto inicialize automaticamente o hardware do dispositivo MB (pilha de rádio, cartão SIM ou circuitos equivalentes) depois que o sistema o carregou, sem aguardar nenhuma instrução do serviço.

Os drivers de miniporto definem o estado pronto inicial do dispositivo MB como WwanReadyStateOff. Enquanto prosseguem com a inicialização, os drivers de miniporto devem enviar notificações de evento para informar o Serviço MB sobre alterações no estado de prontidão do dispositivo.

Os drivers de miniporto devem interromper o processo de inicialização se encontrarem condições de erro. Depois que a condição de erro for resolvida, os miniport drivers poderão retomar o processo de inicialização até que o dispositivo tenha atingido o estado pronto WwanReadyStateInitialized.

Veja a seguir exemplos de alguns cenários de erro:

  • Se o dispositivo exigir um cartão SIM e o driver de miniporto detectar que nenhum cartão SIM está presente, o driver de miniporto deverá enviar uma notificação de evento de estado pronto WwanReadyStateSimNotInserted e o driver de miniporto deverá permanecer nesse estado até que o usuário insira um cartão SIM no dispositivo.

  • Se o dispositivo exigir um cartão SIM e o driver de miniporto não puder ler o cartão SIM que foi inserido (por exemplo, um U-RIM é inserido em um dispositivo baseado em GSM ou um USIM é inserido em um dispositivo baseado em CDMA) ou o cartão SIM não é compatível com o dispositivo (por exemplo, um USIM 3G é inserido em um dispositivo 2G, que não pode interpretar o formato USIM), o driver de miniporto deve enviar uma notificação de evento de estado pronto WwanReadyStateBadSim e o driver de miniporto deve permanecer nesse estado até que o usuário insira um cartão SIM correto no dispositivo.

  • Se o dispositivo estiver bloqueado pelo PIN (para dispositivos que usam cartões SIM) ou por uma senha (para dispositivos que não usam cartões SIM) que impeça o progresso da inicialização do dispositivo, o driver de miniporto deverá enviar uma notificação de evento de estado pronto WwanReadyStateDeviceLocked e o driver de miniporto deverá permanecer nesse estado até que o usuário insira o PIN ou senha correto.

  • Se o driver de miniporto detectar que a ativação do serviço é necessária para prosseguir, o driver de miniporto deverá enviar uma notificação de evento do estado de prontidão WwanReadyStateNotActivated e deverá permanecer nesse estado até que o serviço seja ativado. Esse é um comportamento típico para dispositivos baseados em CDMA na América do Norte.

  • Se o driver de miniporto encontrar falhas diferentes das mencionadas anteriormente, o driver de miniporto deverá enviar uma notificação de evento de estado pronto WwanReadyStateFailure e ele deverá permanecer nesse estado até que o problema seja identificado e corrigido.

Lembre-se de que o Serviço MB não considera que os drivers de miniport podem detectar todos esses erros. O serviço também não assume a ordem na qual os drivers miniport detectam essas condições de erro. No entanto, é melhor implementar os cenários de erro na ordem listada anteriormente.

Até que um driver de miniporto envie uma notificação de evento de estado pronto WwanReadyStateInitialized, o serviço não continuará com atividades relacionadas à rede até que o problema seja identificado e corrigido. No entanto, o serviço ainda pode enviar OIDs para o driver de miniporto.

Os drivers de miniport não precisam esperar que o subsistema SMS esteja pronto antes de relatar o estado pronto WwanReadyStateInitialized . Em vez disso, os drivers de miniporto devem enviar uma notificação OID_WWAN_SMS_CONFIGURATION separada quando o subsistema SMS estiver pronto para enviar e receber mensagens SMS.

Suporte ao modo de emergência

Se o driver de miniporto indicar que ele dá suporte a serviços de chamada de emergência durante o processamento OID_WWAN_READY_INFO o driver de miniporto deverá definir o membro EmergencyMode da estrutura WWAN_READY_INFO como WwanEmergencyModeOn. Nesse caso, o driver de miniporto deve continuar a enviar notificações de registro para o Serviço MB, mas o serviço não invocará nenhuma funcionalidade relacionada à configuração automática.

Os drivers de Miniport podem especificar que dão suporte a serviços de chamada de emergência, mesmo que percebam que o SIM não é mais válido, talvez porque a assinatura não foi paga ou o serviço tenha sido desativado porque o dispositivo foi denunciado como roubado.

Inicialização do driver de miniporto MB

O diagrama a seguir representa o processo feito para determinar se a interface é uma interface MB qualificada e coletar informações sobre os recursos do dispositivo. Essas etapas são executadas para cada interface MB enumerada quando o Serviço MB é iniciado, bem como para cada nova chegada da interface enquanto o serviço está em execução. Os rótulos em negrito representam identificadores OID ou controle de fluxo transacional. Os rótulos em texto regular representam os sinalizadores importantes dentro da estrutura OID.

Estabelecendo se a interface é uma interface mb qualificada e coletando informações sobre os recursos do dispositivo.

Para inicializar um driver de miniporto MB, use o seguinte procedimento:

  1. O Serviço MB envia uma solicitação de consulta síncrona (bloqueio) OID_GEN_PHYSICAL_MEDIUM para identificar o tipo do dispositivo MB. O driver de miniporto responde com NdisPhysicalMediumWirelessWan para indicar que o dispositivo MB é um dispositivo WWAN.

  2. O Serviço MB envia uma solicitação de consulta síncrona (bloqueante) OID_GEN_MEDIA_SUPPORTED ao driver de miniporto para identificar qual tipo de meio o dispositivo MB utiliza. O driver de miniporto responde com NdisMedium802_3 para indicar que ele usa a emulação Ethernet.

  3. O Serviço MB envia uma solicitação de consulta síncrona (bloqueio) OID_WWAN_DRIVER_CAPS ao driver de miniporto para identificar qual versão do modelo de driver o driver de miniporto dá suporte. O miniport driver responde com WWAN_VERSION.

  4. O Serviço MB envia uma solicitação de consulta assíncrona (sem bloqueio) OID_WWAN_DEVICE_CAPS ao driver de miniporto para identificar os recursos do dispositivo MB. O driver de miniporto responde com uma confirmação provisória de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  5. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_DEVICE_CAPS para o Serviço MB que indica as capacidades do dispositivo MB que o driver de miniporto suporta. Por exemplo, se o driver de miniporto der suporte a um dispositivo baseado em GSM, ele deverá especificar o valor WwanCellularClassGsm no membro DeviceCaps.WwanCellularClass da estrutura NDIS_WWAN_DEVICE_CAPS . Se o driver de miniporto der suporte a um dispositivo baseado em CDMA, ele deverá especificar WwanCellularClassCdma.

Inicialização do dispositivo GPRS SIM-Locked com o contexto User-Defined

O diagrama a seguir ilustra o cenário em que o usuário insere um PIN SIM e configura manualmente uma cadeia de caracteres de nome de ponto de acesso. Os rótulos em negrito são identificadores OID ou controle de fluxo transacional e os rótulos em texto regular são os sinalizadores importantes dentro da estrutura OID.

Diagrama ilustrando o cenário em que o usuário insere um pino sim e configura manualmente uma cadeia de caracteres de nome do ponto de acesso.

Para inicializar um dispositivo baseado em GSM com PIN1 bloqueado, implemente as seguintes etapas:

  1. O Serviço MB envia uma solicitação de consulta assíncrona (sem bloqueio) OID_WWAN_READY_INFO ao driver de miniporto para identificar o estado pronto do dispositivo. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.

  2. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_FAILURE ao Serviço MB para indicar ao Serviço MB que o SIM (módulo de identidade do assinante) está bloqueado.

  3. O Serviço MB envia uma solicitação de consulta assíncrona (sem bloqueio) OID_WWAN_PIN para o driver de miniporto. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.

  4. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_SUCCESS ao Serviço MB.

  5. O Serviço MB envia uma solicitação assíncrona (sem bloqueio) OID_WWAN_PIN definida para o driver de miniporto. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.

  6. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_SUCCESS para o Serviço MB.

  7. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_READY_INFO ao Serviço MB que indica ao Serviço MB que o estado do dispositivo MB é WwanReadyStateInitialized.

  8. O Serviço MB envia uma solicitação de consulta assíncrona (sem bloqueio) OID_WWAN_REGISTER_STATE para o driver de miniporto. O driver de miniporto responde com uma confirmação temporária (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas em um momento futuro.

  9. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_SUCCESS para o Serviço MB.

  10. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_REGISTER_STATE para o serviço MB.

  11. O Serviço MB envia uma solicitação de consulta assíncrona (sem bloqueio) OID_WWAN_HOME_PROVIDER para o driver de miniporta. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas posteriormente.

  12. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_SUCCESS para o MB Service.

  13. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_REGISTER_STATE para o Serviço MB.

  14. O Serviço MB envia uma solicitação assíncrona (sem bloqueio) OID_WWAN_PACKET_SERVICE para o driver de miniporto. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.

  15. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_PACKET_SERVICE para o Serviço MB.

  16. O Serviço MB envia uma solicitação de consulta assíncrona (sem bloqueio) OID_WWAN_PROVISIONED_CONTEXTS para o driver de miniport. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  17. O driver de miniporto envia NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS para o Serviço MB.

  18. O Serviço MB envia uma solicitação assíncrona (sem bloqueio) OID_WWAN_PROVISIONED_CONTEXTS definida para o Serviço MB. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará, futuramente, uma notificação com as informações solicitadas.

  19. O driver de miniporto envia NDIS_STATUS_WWAN_SUCCESS para o Serviço MB.

Consulte Também

Para obter mais informações sobre a preparação do dispositivo, consulte OID_WWAN_READY_INFO.

Para obter mais informações sobre a inicialização do dispositivo com contextos provisionados, consulte Mb Provisioned Context Operations.