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
Consulta UX da rede celular para o estado PIN1/PUK1
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
Consulte Também
Acesso ao sistema de arquivos e ao aplicativo UICC mb
Para obter informações adicionais sobre operações de PIN, consulte OID_WWAN_PIN.