Partilhar 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 módulo de identidade do assinante (SIM) cartão. 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 o PIN

Fluxograma que ilustra as ações do usuário para habilitar, desabilitar, desbloquear e alterar o PIN.

Consulta UX da rede celular para o estado PIN1/PUK1

Fluxograma ilustrando o processo de consulta de estados PIN1 e PUK1 na UX da rede 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

Description

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 de 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 aos qual dão suporte. 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 a funcionalidade de verificação ou identificação de ativação e, para dispositivos baseados em GSM, esse é um PIN do SIM (Subscriber Identity Module).

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

Somente consulta

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

Parâmetros

Definir Consulta Notificação
Comando N/D Vazio N/D
Resposta N/D MBIM_PIN_LIST_INFO N/D

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

Deslocamento Tamanho Campo Type 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.
8 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

Deslocamento Tamanho Campo Type Descrição
0 16 PinDescPin1 MBIM_PIN_DESC MBIM_PIN_DESC estrutura que descreve PIN1. Para dispositivos GSMbased, esse é 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 o PIN2. Esse é um PIN2 do SIM 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 de cartão do dispositivo para muito primeiro sim. Esse é um PIN que bloqueia o dispositivo para o primeiro SIM inserido.
64 16 PinDescNetworkPin MBIM_PIN_DESC MBIM_PIN_DESC estrutura 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 Especificação 3GPP 22.022.
80 16 PinDescNetworkSubsetPin MBIM_PIN_DESC MBIM_PIN_DESC estrutura 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 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 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 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 para operar em uma rede específica. Para obter mais informações sobre esse tipo de PIN, consulte Especificação 3GPP 22.022.
144 16 PinDescCustom MBIM_PIN_DESC MBIM_PIN_DESC estrutura que descreve o PIN personalizado. Esse é um tipo de 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 de PIN falhou porque um PIN deve ser inserido antes que essa operação possa continuar.

Testando

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.
PinListQueryRadioOff 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 o PIN1 com um pin incorreto com comprimento válido.
PukEnableDisableThroughIncorrectPinExDisable Esse teste habilita o PUK1 inserindo PIN1 incorreto várias vezes e, em seguida, desabilita o PUK1.
PinExSetChangeWithBothInvalidAndValidPin Esse teste habilita o PIN1, altera imediatamente o PIN e o desabilita.
RebootTestMachineToPutPinIntoLockState Esse teste reinicializa o dispositivo para fazer com que o modem entre no estado de bloqueio e solicite uma entrada de PIN válida.
PinExSetEnterWithValidPin Esse teste valida se o dispositivo está em estado de bloqueio para solicitar a entrada de código PIN.

A lista de testes do HLK TestPowerStates 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 

Set 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) 

API do WinRT

Classe MobileBroadbandPin

Consulte Também

OID_WWAN_PIN_EX2

OID_WWAN_PIN_LIST

Acesso ao sistema de arquivos e ao aplicativo UICC mb

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