概要
このトピックでは、MB デバイス メモリまたはサブスクライバー ID モジュール (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 は 1 回だけ報告する必要があります。
PIN1 として報告される PIN は PIN1 ガイドラインに準拠している必要があります。CDMA ベースのデバイスの場合、これは電源オン検証または識別機能を提供する PIN であり、GSM ベースのデバイスの場合はサブスクライバー ID モジュール (SIM) PIN です。
関数は、準備完了状態が MBIMSubscriberReadyStateInitialized に変わるか、準備完了状態が MBIMSubscriberReadyStateDeviceLocked (PIN ロック) の場合に、この情報を返すことができる必要があります。 関数は、可能な限り、この情報を他の準備完了状態で返す必要もあります。
クエリのみ
クエリ メッセージの InformationBuffer が空です。 MBIM_COMMAND_DONEの InformationBuffer には、MBIM_PIN_LIST_INFOが含まれています。
パラメーター
| オン | クエリ | 通知 | |
|---|---|---|---|
| 命令 | なし | 空っぽ | なし |
| 応答 | なし | MBIM_PIN_LIST_INFO | なし |
データ構造
MBIM_PIN_MODE
| 種類 | 価値 |
|---|---|
| MBIMPinModeNotSupported | 0 |
| MBIMピンモード有効 | 1 |
| MBIMPinModeDisabled (MBIMピンモード無効) | 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 | Pin長さ最小値 | UINT32 | PIN の最小文字数。 デバイスでは、16 より大きい値を指定しないでください。 PIN の長さが使用できない場合は、デバイスで0xffffffffを指定する必要があります。 |
| 12 | 4 | ピンの最大長 | UINT32 | PIN の最大文字数。 デバイスでは、16 より大きい値を指定しないでください。 PIN の長さが使用できない場合は、デバイスで0xffffffffを指定する必要があります。 |
クエリ
InformationBuffer は null 、InformationBufferLength は ゼロでなければなりません。
[応答]
InformationBuffer では、次の構造を使用する必要があります。
MBIM_PIN_LIST_INFO
| オフセット | サイズ | フィールド | タイプ | 説明 |
|---|---|---|---|---|
| 0 | 16 | PinDescPin1 | MBIM_PIN_DESC | PIN1 を記述するMBIM_PIN_DESC構造。 GSM ベースのデバイスの場合、これはサブスクライバー ID モジュール (SIM) PIN です。 CDMA ベースのデバイスの場合、電源オン デバイス ロックは PIN1 として報告されます。 |
| 16 | 16 | PinDescPin2 | MBIM_PIN_DESC | PIN2 を記述するMBIM_PIN_DESC構造。 これは、特定の SIM 機能を保護する SIM PIN2 です。 |
| 32 | 16 | PinDescDeviceSimPin | MBIM_PIN_DESC | MBIM_PIN_DESCデバイスから SIM カードへの PIN を記述する構造です。 これは、デバイスを特定の SIM にロックする PIN です。 |
| 48 | 16 | PinDescDeviceFirstSimPin | MBIM_PIN_DESC | MBIM_PIN_DESC 構造体は、デバイス内の最初の SIM カードに対する PIN を記述しています。 これは、最初に挿入された SIM にデバイスをロックする PIN です。 |
| 64 | 16 | PinDescNetworkPin | MBIM_PIN_DESC | MBIM_PIN_DESCネットワーク パーソナル化 PIN を記述する構造。 これは、デバイスをネットワークにカスタマイズできるようにする PIN です。 この PIN の種類の詳細については、3GPP 仕様 22.022 を参照してください。 |
| 80 | 16 | PinDescNetworkSubsetPin | MBIM_PIN_DESC | MBIM_PIN_DESCネットワーク サブセットのパーソナル化 PIN を記述する構造です。 これは、デバイスをネットワークのサブセットに合わせてカスタマイズできるようにする PIN です。 この PIN の種類の詳細については、3GPP 仕様 22.022 を参照してください。 |
| 96 | 16 | PinDescServiceProviderPin | MBIM_PIN_DESC | MBIM_PIN_DESCサービス プロバイダー (SP) パーソナル化 PIN を記述する構造です。 これは、デバイスをサービス プロバイダーにカスタマイズできるようにする 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 | 補助を記述するMBIM_PIN_DESC構造は PIN のロックを解除します。 これは、デバイスが特定のネットワークで動作するように制限できる PIN です。 この PIN の種類の詳細については、3GPP 仕様 22.022 を参照してください。 |
| 144 | 16 | PinDescCustom | MBIM_PIN_DESC | MBIM_PIN_DESCカスタム PIN を記述する構造体。 これは、ベンダーが定義したカスタム PIN の種類です。 上記の一覧には含まれていません。 |
状態コード
| 状態コード | 説明 |
|---|---|
| MBIM_STATUS_PIN_REQUIRED (PINが必要です) | この操作を続行する前に PIN を入力する必要があるため、PIN リスト操作に失敗しました。 |
テスティング
次のテストは、 TestPin HLK テスト リストの一部として実行されます。
| テスト名 | 説明 |
|---|---|
| ピンリストクエリラジオオン | このテストでは、無線をオンにしたピン リスト クエリが試行されます。 |
| PinListQueryRadioOff | このテストでは、無線をオフにしてピン リスト クエリを試行します。 |
| NoPinサポート | このテストでは、PIN1 をサポートしていないデバイスを検証します。 |
| PinExSetEnableDisableWithValidPin | このテストでは、有効なピンで PIN1 を有効または無効にします。 |
| PinExSetDisableIncorrectPinWithValidLength | このテストでは、有効な長さの正しくない PIN で PIN1 を有効にしようとします。 |
| PukEnableDisableThroughIncorrectPinExDisable | このテストでは、正しくない PIN1 を複数回入力して PUK1 を有効にし、PUK1 を無効にします。 |
| PinExSetChangeWithBothInvalidAndValidPin | このテストでは、PIN1 を有効にし、すぐに PIN を変更して無効にします。 |
| テストマシンを再起動してPINをロック状態にする | このテストでは、デバイスが再起動され、モデムがロック状態になり、有効な 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
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
こちらもご覧ください
MB UICC アプリケーションとファイル システム アクセス を する
PIN 操作の詳細については、「 OID_WWAN_PIN」を参照してください。