MB PIN 操作
概要
このトピックでは、MB デバイス メモリまたは加入者識別モジュール (SIM) カードに格納されているサブスクリプション情報のアクセス制御に関連する操作について説明します。 これには、暗唱番号 (PIN) の有効化、無効化、または変更のほか、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 は 1 回のみ報告する必要があります。
PIN1 として報告される PIN は、PIN1 ガイドラインに準拠している必要があります。CDMA ベースのデバイスの場合、電源オン時の検証または識別機能を備えた PIN がこれに該当し、GSM ベースのデバイスの場合は、加入者識別モジュール (SIM) PIN がこれに該当します。
関数は、準備完了状態が MBIMSubscriberReadyStateInitialized に変わるか、準備完了状態が MBIMSubscriberReadyStateDeviceLocked (PIN ロック) の場合に、この情報を返すことができる必要があります。 関数は、可能な限り、この情報を他の準備完了状態でも返す必要があります。
クエリのみ
Query メッセージの InformationBuffer が空です。 MBIM_COMMAND_DONE の InformationBuffer に MBIM_PIN_LIST_INFO が含まれています。
パラメーター
Set | クエリ | 通知 | |
---|---|---|---|
コマンド | 該当なし | 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
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
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 は 0 とします。
回答
InformationBuffer では、次の構造体を使用する必要があります。
MBIM_PIN_LIST_INFO
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 16 | PinDescPin1 | MBIM_PIN_DESC | PIN1 を記述する MBIM_PIN_DESC 構造体。 GSM ベースのデバイスの場合、加入者識別モジュール (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 | 企業パーソナル化 PIN を記述する MBIM_PIN_DESC 構造体。 これは、特定の企業に合わせてデバイスをカスタマイズできるようにする PIN です。 この PIN の種類の詳細については、3GPP 仕様 22.022 を参照してください。 |
128 | 16 | PinDescSubsidyLock | MBIM_PIN_DESC | キャリア ロック解除を記述する 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 テスト リストには、関連する 1 つのテスト (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
ピンの設定 (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
参照
MB UICC アプリケーションとファイル システム アクセス
PIN 操作の詳細については、OID_WWAN_PIN を参照してください。