Compartilhar via


Operações de PIN do MB

Visão geral

Este tópico descreve as operações relacionadas ao controle de acesso das informações de assinatura armazenadas na memória do dispositivo MB ou no cartão SIM (Subscriber Identity Module). Isso inclui habilitar, desabilitar ou alterar o PIN (Número de Identificação Pessoal), bem como desbloquear por meio de PIN ou PUK (Chave de Desbloqueio Pessoal).

Arquitetura/fluxos

Ações do usuário para habilitar/desabilitar/desbloquear/alterar PIN

Fluxograma ilustrando ações do usuário para habilitar, desabilitar, desbloquear e alterar PIN.

Consulta de UX celular para o estado do PIN1/PUK1

Fluxograma que ilustra o processo de consulta de estados PIN1 e PUK1 no UX celular.

Desbloqueio automático após a retomada da hibernação

Fluxograma mostrando o processo de desbloqueio automático após a retomada da hibernação.

MBIM_CID_MS_PIN_EX

Este CID é descrito aqui: MBIM_CID_MS_PIN_EX

MBIM_CID_PIN_LIST

Descrição

Esse comando retorna uma lista de todos os diferentes tipos de PINs (Números de Identificação Pessoal) compatíveis com o dispositivo MB e detalhes adicionais para cada tipo de PIN, como o comprimento do PIN (comprimentos mínimos e máximos), formato PIN e modo de entrada pin (habilitado/desabilitado/não disponível). Esse CID também especifica o modo atual de cada PIN compatível com a função. As funções devem relatar todos os PINs compatíveis. No entanto, o PIN1 para dispositivos de vários modos só deve ser relatado uma vez.

Um PIN relatado como PIN1 deve estar em conformidade com as diretrizes do PIN1: para dispositivos baseados em CDMA, esse é um PIN que fornece funcionalidade de verificação ou identificação na ativação, enquanto para dispositivos baseados em GSM, este é um PIN do SIM (Módulo de Identidade do Assinante).

As funções devem ser capazes de retornar essas informações quando o estado de prontidão for alterado para MBIMSubscriberReadyStateInitialized ou quando o estado de prontidão for MBIMSubscriberReadyStateDeviceLocked (PIN bloqueado). As funções também devem retornar essas informações em outros estados prontos sempre que possível.

Somente consulta

O InformationBuffer da mensagem de consulta está vazio. O InformationBuffer de MBIM_COMMAND_DONE contém um MBIM_PIN_LIST_INFO.

Parâmetros

Conjunto Consulta Notificação
Comando Não aplicável Empty Não aplicável
Resposta Não aplicável MBIM_PIN_LIST_INFO Não aplicável

Estruturas de dados

MBIM_PIN_MODE

Tipos Valor
MBIMPinModeNotSupported 0
MBIMPinModeEnabled 1
MBIMPinModeDisabled 2

MBIM_PIN_FORMAT

Tipos Valor
MBIMPinFormatUnknown 0
MBIMPinFormatNumeric 1
MBIMPinFormatAlphaNumeric 2

MBIM_PIN_DESC

Offset Tamanho Campo Tipo Descrição
0 4 PinMode MBIM_PIN_MODE Veja a tabela acima MBIM_PIN_MODE. Isso mostra se o bloqueio está habilitado ou não. Ele não mostra se o estado de bloqueio está bloqueado ou desbloqueado.
4 4 PinFormat MBIM_PIN_FORMAT Veja a tabela acima MBIM_PIN_FORMAT.
oito 4 PinLengthMin UINT32 O número mínimo de caracteres no PIN. Os dispositivos não devem especificar um valor maior que 16. Os dispositivos devem especificar 0xffffffff, se o comprimento do PIN não estiver disponível.
12 4 PinLengthMax UINT32 O número máximo de caracteres no PIN. Os dispositivos não devem especificar um valor maior que 16. Os dispositivos devem especificar 0xffffffff, se o comprimento do PIN não estiver disponível.

Consulta

O InformationBuffer será nulo e InformationBufferLength será zero.

Resposta

A seguinte estrutura deve ser usada no InformationBuffer:

MBIM_PIN_LIST_INFO

Offset Tamanho Campo Tipo Descrição
0 16 PinDescPin1 MBIM_PIN_DESC MBIM_PIN_DESC estrutura que descreve PIN1. Para dispositivos GSMbased, este é um PIN do SIM (Subscriber Identity Module). Para dispositivos baseados em CDMA, o bloqueio de dispositivo de ativação é relatado como PIN1.
16 16 PinDescPin2 MBIM_PIN_DESC MBIM_PIN_DESC estrutura que descreve PIN2. Esse é um SIM PIN2 que protege determinadas funcionalidades do SIM.
32 16 PinDescDeviceSimPin MBIM_PIN_DESC MBIM_PIN_DESC estrutura que descreve o PIN do dispositivo para o cartão SIM. Esse é um PIN que bloqueia o dispositivo para um SIM específico.
48 16 PinDescDeviceFirstSimPin MBIM_PIN_DESC MBIM_PIN_DESC estrutura que descreve o PIN do dispositivo para o primeiro cartão SIM. Esse é um PIN que bloqueia o dispositivo para o primeiro SIM inserido.
64 16 PinDescNetworkPin MBIM_PIN_DESC Estrutura MBIM_PIN_DESC que descreve o PIN de personalização de rede. Esse é um PIN que permite que o dispositivo seja personalizado para uma rede. Para obter mais informações sobre esse tipo de PIN, consulte a especificação 3GPP 22.022.
80 16 PinDescNetworkSubsetPin MBIM_PIN_DESC Estrutura MBIM_PIN_DESC que descreve o PIN de personalização do subconjunto de rede. Esse é um PIN que permite que o dispositivo seja personalizado para um subconjunto de uma rede. Para obter mais informações sobre esse tipo de PIN, consulte a especificação 3GPP 22.022.
96 16 PinDescServiceProviderPin MBIM_PIN_DESC MBIM_PIN_DESC estrutura que descreve o PIN de personalização do Provedor de Serviços (SP). Esse é um PIN que permite que o dispositivo seja personalizado para um provedor de serviços. Para obter mais informações sobre esse tipo de PIN, consulte a especificação 3GPP 22.022.
112 16 PinDescCorporatePin MBIM_PIN_DESC MBIM_PIN_DESC estrutura que descreve o PIN de personalização corporativa. Esse é um PIN que permite que o dispositivo seja personalizado para uma empresa específica. Para obter mais informações sobre esse tipo de PIN, consulte a especificação 3GPP 22.022.
128 16 PinDescSubsidyLock MBIM_PIN_DESC MBIM_PIN_DESC estrutura que descreve o PIN de desbloqueio de subsídios. Esse é um PIN que permite que o dispositivo seja restrito a operar em uma rede específica. Para obter mais informações sobre esse tipo de PIN, consulte a especificação 3GPP 22.022.
144 16 PinDescCustom MBIM_PIN_DESC MBIM_PIN_DESC estrutura que descreve o PIN personalizado. Esse é um tipo pin personalizado definido pelo fornecedor. Ele não está incluído na lista acima.

Códigos de status

Código de status Descrição
MBIM_STATUS_PIN_REQUIRED A operação de lista pin falhou porque um PIN deve ser inserido antes que essa operação possa continuar.

Teste

Os seguintes testes são executados como parte da lista de testes do TestPin HLK:

Nome do teste Descrição
PinListQueryRadioOn Esse teste tenta uma consulta de lista de pinos com o rádio ativado.
PinListConsultaRadioDesligado Esse teste tenta uma consulta de lista de pinos com o rádio desativado.
NoPinSupport Esse teste verifica um dispositivo que não dá suporte a PIN1.
PinExSetEnableDisableWithValidPin Esse teste habilita e desabilita o PIN1 com um pin válido.
PinExSetDisableIncorrectPinWithValidLength Esse teste tenta habilitar PIN1 com um pin incorreto com comprimento válido.
HabilitarDesabilitarPukAtravésDePinIncorretoExDesabilitar Esse teste habilita o PUK1 inserindo PIN1 incorreto várias vezes e desabilita o PUK1.
AlteraçãoDePinExDefinidaComPinInválidoEValido Esse teste habilita o PIN1, altera imediatamente o PIN e o desabilita.
ReiniciarMáquinaDeTesteParaColocarPinEmEstadoDeBloqueio Esse teste reinicializa o dispositivo para fazer o modem entrar no estado de bloqueio e solicitar a entrada de PIN válida.
PinExSetEnterWithValidPin Esse teste valida se o dispositivo está em estado de bloqueio para solicitar a entrada do código PIN.

A lista de testes do TestPowerStates HLK também contém um teste relevante: SimPinUnlockAfterHibernate.

Análise de Log

Logs de exemplo:

Desbloqueio automático:

462678 [0]0F3C.1280::2020-05-05 13:03:46.378805100 [Microsoft-Windows-WWAN-SVC-EVENTS][Request=0x53] Received PinInfo, status=WWAN_STATUS_SUCCESS , Type=WwanPinTypePin1  State=WwanPinStateEnter  Attempts=3, miniport={7971731f-33f9-4f1a-9718-087c12e64c5d} 
462753 [7]0F3C.2A6C::2020-05-05 13:03:46.379718400 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::maybeUnlockPin:  Attempting auto-PIN-unlock. Interface: {{7971731f-33f9-4f1a-9718-087c12e64c5d}} 
462809 [7]0F3C.2A6C::2020-05-05 13:03:46.380157500 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Error] CWwanPinSM::maybeUnlockPin: Attempt to auto-unlock PIN succeeded 

Definir pin (WwanPinTypePin1):

546408 [3]0F3C.1240::2020/05/02-09:18:09.178460200 [Microsoft-Windows-WWAN-SVC-EVENTS][Request=0x6C] Sent SET PinAction, Type=2(WwanPinTypePin1), Operation=0(WwanPinOperationEnter), miniport={7971731f-33f9-4f1a-9718-087c12e64c5d}, ErrorCode=3407873(WIN=The request will be completed later by NDIS status indication.)
546425 [1]3DB0.12EC::2020/05/02-09:18:09.178564700 [Microsoft.Windows.CellCore.MBBSettingsUX]{"meta":{"provider":"Microsoft.Windows.CellCore.MBBSettingsUX","event":"MBCategory::_SetPinAction. WwanSetInterface succeeded","time":"2020-05-02T16:18:09.1785647Z","cpu":1,"pid":15792,"tid":4844,"channel":11,"level":4}}
546644 [2]0F3C.39E4::2020/05/02-09:18:09.426362600 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::processPinActionResponse: SetPin rsp rcvd (result:0x0) PIN Info (state:1, type:3, attemptsRemaining:3) IsPin1Blocked 0
546645 [2]0F3C.39E4::2020/05/02-09:18:09.426364800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::maybeCapturePin: Capturing PIN for PIN ENTER/ENABLE operation Interface: {{7971731f-33f9-4f1a-9718-087c12e64c5d}}
546688 [7]3B64.2A80::2020/05/02-09:18:09.426727000 [MbaeApiLogging]{"NotificationCode":"WwanMsmEventTypePinActionComplete: Success","AdapterID":"{7971731f-33f9-4f1a-9718-087c12e64c5d}","NotificationSize":24,"meta":{"provider":"MbaeApiLogging","event":"CWwanTranslator::ProcessWwanNotification","time":"2020-05-02T16:18:09.4267270Z","cpu":7,"pid":15204,"tid":10880,"channel":11,"level":5}}
546702 [0]3B64.242C::2020/05/02-09:18:09.426762000 [Microsoft.Windows.CellCore.MBBSettingsUX]{"meta":{"provider":"Microsoft.Windows.CellCore.MBBSettingsUX","event":"MBMediaManager::ProcessWwanNotification WwanMsmEventTypePinActionComplete","time":"2020-05-02T16:18:09.4267620Z","cpu":0,"pid":15204,"tid":9260,"channel":11,"level":4}}
546710 [7]0F3C.1208::2020/05/02-09:18:09.426809700 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] _PublishSebNotification: Event Source=WwanNotificationSourceMsm, Code=WwanMsmEventTypePinActionComplete
547064 [2]3DB0.1194::2020/05/02-09:18:09.427921200 [MbaeApiLogging]{"NotificationCode":"WwanMsmEventTypePinActionComplete: Success","AdapterID":"{7971731f-33f9-4f1a-9718-087c12e64c5d}","NotificationSize":24,"meta":{"provider":"MbaeApiLogging","event":"CWwanTranslator::ProcessWwanNotification","time":"2020-05-02T16:18:09.4279212Z","cpu":2,"pid":15792,"tid":4500,"channel":11,"level":5}}
547106 [2]3DB0.0B38::2020/05/02-09:18:09.428040100 [Microsoft.Windows.CellCore.MBBSettingsUX]{"meta":{"provider":"Microsoft.Windows.CellCore.MBBSettingsUX","event":"MBMediaManager::ProcessWwanNotification WwanMsmEventTypePinActionComplete","time":"2020-05-02T16:18:09.4280401Z","cpu":2,"pid":15792,"tid":2872,"channel":11,"level":4}}

Lista de pinos:

465632 [4]0F3C.47F4::2020-05-05 13:03:46.395488200 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: PIN1 (mode:1, format:1, pinlnmin:4, pinlnmax:8) 
465633 [4]0F3C.47F4::2020-05-05 13:03:46.395489800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: PIN2 (mode:1, format:1, pinlnmin:4, pinlnmax:8) 
465634 [4]0F3C.47F4::2020-05-05 13:03:46.395491400 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: DEVSIMPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465635 [4]0F3C.47F4::2020-05-05 13:03:46.395492800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: DEVFIRSTSIMPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465636 [4]0F3C.47F4::2020-05-05 13:03:46.395494200 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: NWPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465637 [4]0F3C.47F4::2020-05-05 13:03:46.395495800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: NWSUBSETPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465641 [5]0F3C.47F4::2020-05-05 13:03:46.395510100 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: SVCPROVIDERPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465643 [5]0F3C.47F4::2020-05-05 13:03:46.395513700 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: CORPORATEPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465644 [5]0F3C.47F4::2020-05-05 13:03:46.395515200 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: SUBSIDYLOCK (mode:0, format:0, pinlnmin:0, pinlnmax:0) 

WinRT API

Classe MobileBroadbandPin

Consulte Também

OID_WWAN_PIN_EX2

OID_WWAN_PIN_LIST

MB de acesso ao aplicativo UICC e ao sistema de arquivos

Para obter informações adicionais sobre operações de PIN, consulte OID_WWAN_PIN.