MB PIN 操作
概述
本主题介绍与对存储在 MB 设备内存中或订阅者标识模块 (SIM) 卡 的订阅信息的访问控制相关的操作。 这包括启用、禁用或更改个人标识号 (PIN) ,以及通过 PIN 或个人解锁密钥 (PUK) 解锁。
体系结构/流
用于启用/禁用/解锁/更改 PIN 的用户操作
PIN1/PUK1 状态的手机网络 UX 查询
从休眠状态恢复后自动解锁
MBIM_CID_MS_PIN_EX
此处介绍了此 CID: MBIM_CID_MS_PIN_EX
MBIM_CID_PIN_LIST
说明
此命令返回 MB 设备支持的所有不同类型的个人标识号 (PIN) 的列表,以及每种 PIN 类型的其他详细信息,例如 PIN 的长度 (最小长度和最大长度) 、PIN 格式和 PIN 输入模式 (已启用/禁用/不可用) 。 此 CID 还指定函数支持的每个 PIN 的当前模式。 函数必须报告它们支持的所有 PIN。 但是,多模式设备的 PIN1 只能报告一次。
报告为 PIN1 的 PIN 必须符合 PIN1 准则:对于基于 CDMA 的设备,这是提供开机验证或标识功能的 PIN;对于基于 GSM 的设备,这是一个订阅者标识模块 (SIM) PIN。
当就绪状态更改为 MBIMSubscriberReadyStateInitialized 或就绪状态为 MBIMSubscriberReadyStateDeviceLocked (PIN 锁定) 时,函数必须能够返回此信息。 函数还应尽可能在其他就绪状态下返回此信息。
仅查询
查询消息的 InformationBuffer 为空。 informationBuffer of MBIM_COMMAND_DONE 包含MBIM_PIN_LIST_INFO。
参数
设置 | 查询 | 通知 | |
---|---|---|---|
命令 | 空值 | Empty | 不可用 |
响应 | 空值 | MBIM_PIN_LIST_INFO | 空值 |
数据结构
MBIM_PIN_MODE
类型 | 值 |
---|---|
MBIMPinModeNotSupported | 0 |
MBIMPinModeEnabled | 1 |
MBIMPinModeDisabled | 2 |
MBIM_PIN_FORMAT
类型 | 值 |
---|---|
MBIMPinFormatUnknown | 0 |
MBIMPinFormatNumeric | 1 |
MBIMPinFormatAlphaNumeric | 2 |
MBIM_PIN_DESC
Offset | 大小 | 字段 | 类型 | 说明 |
---|---|---|---|---|
0 | 4 | PinMode | MBIM_PIN_MODE | 请参阅上表 MBIM_PIN_MODE。 这会显示该锁是否已启用。 它不会显示锁定状态是锁定还是已解锁。 |
4 | 4 | PinFormat | MBIM_PIN_FORMAT | 请参阅上表 MBIM_PIN_FORMAT。 |
8 | 4 | PinLengthMin | UINT32 | PIN 中的最小字符数。 设备不应指定大于 16 的值。 如果 PIN 长度不可用,设备应指定0xffffffff。 |
12 | 4 | PinLengthMax | UINT32 | PIN 中的最大字符数。 设备不应指定大于 16 的值。 如果 PIN 长度不可用,设备应指定0xffffffff。 |
查询
InformationBuffer 应为 null ,InformationBufferLength 应为 零。
响应
在 InformationBuffer 中应使用以下结构:
MBIM_PIN_LIST_INFO
Offset | 大小 | 字段 | 类型 | 说明 |
---|---|---|---|---|
0 | 16 | PinDescPin1 | MBIM_PIN_DESC | 描述 PIN1 的MBIM_PIN_DESC结构。 对于 GSMbased 设备,这是一个订阅者标识模块 (SIM) PIN。 对于基于 CDMA 的设备,开机设备锁报告为 PIN1。 |
16 | 16 | PinDescPin2 | MBIM_PIN_DESC | 描述 PIN2 的MBIM_PIN_DESC结构。 这是保护特定 SIM 卡功能的 SIM 卡 PIN2。 |
32 | 16 | PinDescDeviceSimPin | MBIM_PIN_DESC | 描述设备到 SIM 卡卡 PIN 的MBIM_PIN_DESC结构。 这是将设备锁定到特定 SIM 卡的 PIN。 |
48 | 16 | PinDescDeviceFirstSimPin | MBIM_PIN_DESC | 描述设备到非常优先-SIM-卡 PIN 的MBIM_PIN_DESC结构。 这是将设备锁定到第一个插入的 SIM 卡的 PIN。 |
64 | 16 | PinDescNetworkPin | MBIM_PIN_DESC | 描述网络个性化 PIN 的MBIM_PIN_DESC结构。 这是一个 PIN,允许将设备个性化到网络。 有关此 PIN 类型的详细信息,请参阅 3GPP 规范 22.022。 |
80 | 16 | PinDescNetworkSubsetPin | MBIM_PIN_DESC | 描述网络子集个性化 PIN 的MBIM_PIN_DESC结构。 这是一个 PIN,允许将设备个性化到网络的子集。 有关此 PIN 类型的详细信息,请参阅 3GPP 规范 22.022。 |
96 | 16 | PinDescServiceProviderPin | MBIM_PIN_DESC | 描述服务提供商 (SP) 个性化 PIN 的MBIM_PIN_DESC结构。 这是一个 PIN,允许向服务提供商个性化设备。 有关此 PIN 类型的详细信息,请参阅 3GPP 规范 22.022。 |
112 | 16 | PinDescCorporatePin | MBIM_PIN_DESC | MBIM_PIN_DESC描述公司个性化 PIN 的结构。 这是一个 PIN,允许将设备个性化到特定公司。 有关此 PIN 类型的详细信息,请参阅 3GPP 规范 22.022。 |
128 | 16 | PinDescSubsidyLock | MBIM_PIN_DESC | 描述补贴解锁 PIN 的MBIM_PIN_DESC结构。 这是一个 PIN,允许限制设备在特定网络上运行。 有关此 PIN 类型的详细信息,请参阅 3GPP 规范 22.022。 |
144 | 16 | PinDescCustom | MBIM_PIN_DESC | 描述自定义 PIN 的MBIM_PIN_DESC结构。 这是供应商定义的自定义 PIN 类型。 它不包括在上述列表中。 |
状态代码
状态代码 | 说明 |
---|---|
MBIM_STATUS_PIN_REQUIRED | PIN 列表操作失败,因为必须先输入 PIN 才能继续此操作。 |
测试
以下测试作为 TestPin HLK 测试列表的一部分运行:
测试名称 | 说明 |
---|---|
PinListQueryRadioOn | 此测试尝试在打开无线电的情况下进行固定列表查询。 |
PinListQueryRadioOff | 此测试尝试在无线电关闭的情况下进行引脚列表查询。 |
NoPinSupport | 此测试验证不支持 PIN1 的设备。 |
PinExSetEnableDisableWithValidPin | 此测试使用有效引脚启用和禁用 PIN1。 |
PinExSetDisableIncorrectPinWithValidLength | 此测试尝试使用具有有效长度的错误引脚启用 PIN1。 |
PukEnableDisableThroughIncorrectPinExDisable | 此测试通过多次输入不正确的 PIN1 来启用 PUK1,然后禁用 PUK1。 |
PinExSetChangeWithBothInvalidAndValidPin | 此测试启用 PIN1,立即更改 PIN,并禁用它。 |
RebootTestMachineToPutPinIntoLockState | 此测试会重启设备,使调制解调器进入锁定状态并提示输入有效的 PIN。 |
PinExSetEnterWithValidPin | 此测试验证设备是否处于锁定状态,以请求 PIN 代码输入。 |
TestPowerStates HLK 测试列表还包含一个相关的测试 - SimPinUnlockAfterHibernate。
日志分析
示例日志:
自动解锁:
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
将 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}}
固定列表:
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
另请参阅
有关 PIN 操作的其他信息,请参阅 OID_WWAN_PIN。