MB-UiCC-Zugriff auf niedriger Ebene

Übersicht

Das Mobile Broadband Interface Model Revision 1.0 oder MBIM1 definiert eine OEM- und IHV-agnostische Schnittstelle zwischen einem Hostgerät und einem Mobilfunkdatenmodem.

Eine MBIM1-Funktion umfasst ein intelligentes UICC-Karte und bietet Zugriff auf einige ihrer Daten und den internen Zustand. Die intelligenten Karte verfügen jedoch möglicherweise über zusätzliche Funktionen, die über die von der MBIM-Schnittstelle definiert werden. Diese zusätzlichen Funktionen umfassen die Unterstützung eines sicheren Elements für mobile Zahlungslösungen, die auf der Nahfeldkommunikation basieren, oder für die Remotebereitstellung eines gesamten UICC-Profils.

In einem mobilen Breitband-Windows-Gerät wird die MBIM-Schnittstelle zusätzlich zur RIL-Schnittstelle (Radio Interface Layer) verwendet. Eines der Features, die das RIL bietet, ist eine Schnittstelle für den Zugriff auf die UICC auf niedriger Ebene. In diesem Thema wird eine Reihe von Microsoft-Erweiterungen für MBIM beschrieben, die diese zusätzliche Funktionalität an der MBIM-Schnittstelle beschreiben.

Die Microsoft-Erweiterungen umfassen eine Reihe von Gerätedienstbefehlen (sowohl Set als auch Query) und Benachrichtigungen. Diese Erweiterungen enthalten keine neuen Verwendungen von Gerätedienststreams.

MBIM-Dienst- und CID-Werte

Dienstname UUID UUID-Wert
Microsoft Low-Level UICC Access UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367

In der folgenden Tabelle wird der Befehlscode für die einzelnen CID sowie die Unterstützung von Set-, Abfrage- oder Ereignisanforderungen (Benachrichtigung) vom CID angegeben. Weitere Informationen zu den Parametern, Datenstrukturen und Benachrichtigungen finden Sie im einzelnen Abschnitt der einzelnen CID in diesem Thema.

CID Befehlscode Set Abfrage Benachrichtigen
MBIM_CID_MS_UICC_ATR 1 N J N
MBIM_CID_MS_UICC_OPEN_CHANNEL 2 J N N
MBIM_CID_MS_UICC_CLOSE_CHANNEL 3 J N N
MBIM_CID_MS_UICC_APDU) 4 J N N
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY 5 J J N
MBIM_CID_MS_UICC_RESET 6 J J N

Statuscodes

MBIM-status-Codes sind in Abschnitt 9.4.5 des MBIM-Standards definiert. Darüber hinaus werden die folgenden zusätzlichen Fehler status-Codes definiert:

Statuscode Wert (Hex) BESCHREIBUNG
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS 87430001 Der geöffnete logische Kanal war nicht erfolgreich, da auf der UICC keine logischen Kanäle verfügbar sind (entweder werden sie nicht unterstützt oder alle werden verwendet).
MBIM_STATUS_MS_SELECT_FAILED 87430002 Der geöffnete logische Kanal war nicht erfolgreich, da SELECT fehlgeschlagen ist.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL 87430003 Die logische Kanalnummer ist ungültig (sie wurde nicht von MBIM_CID_MS_UICC_OPEN_CHANNEL geöffnet).

MBIM_SUBSCRIBER_READY_STATE

Typ Wert BESCHREIBUNG
MBIMSubscriberReadyStateNoEsimProfile 7 Die Karte ist bereit, verfügt aber über keine aktivierten Profile.

UICC-Antworten und -status

Die UICC kann entweder eine zeichenbasierte oder datensatzbasierte Schnittstelle oder beides implementieren. Obwohl sich der spezifische Mechanismus unterscheidet, reagiert die UICC auf jeden Befehl mit zwei status Bytes (sw1 und SW2) und einer Antwort (die möglicherweise leer ist). Ein normaler Erfolg status wird durch 90 00 angegeben. Wenn das UICC jedoch das Karte Anwendungs-Toolkit unterstützt und die UICC einen proaktiven Befehl an das Terminal senden möchte, wird eine erfolgreiche Rückgabe durch einen status von 91 XX (wobei XX variiert) angezeigt. Die MBIM-Funktion oder das Terminal ist für die Behandlung dieses proaktiven Befehls genauso verantwortlich wie ein proaktiver Befehl, der während eines anderen UICC-Vorgangs empfangen wird (Senden eines FETCH an die UICC, Behandeln des proaktiven Befehls oder Senden an den Host mit MBIM_CID_STK_PAC). Wenn der MBIM-Host entweder MBIM_CID_MS_UICC_OPEN_CHANNEL oder MBIM_CID_MS_UICC_APDU sendet, sollte er sowohl 90 00 als auch 91 XX als normale status betrachten.

Befehle müssen Antworten zurückgeben können, die größer als 256 Bytes sind. Dieser Mechanismus wird in Abschnitt 5.1.3 der Norm ISO/IEC 7816-4:2013 beschrieben. In diesem Fall gibt der Karte SW1 SW2 status Wörter von 61 XX anstelle von 90 00 zurück, wobei XX entweder die Anzahl der verbleibenden Bytes oder 00 ist, wenn 256 Bytes oder mehr vorhanden sind. Das Modem muss wiederholt eine GET RESPONSE mit demselben Klassenbyte ausstellen, bis alle Daten empfangen wurden. Dies wird durch die letzten status Wörter 90 00 angegeben. Die Sequenz muss innerhalb eines bestimmten logischen Kanals unterbrechungsfrei sein. Zusätzliche APDUs sollten am Modem verarbeitet werden und für den Host transparent sein. Wenn auf dem Host behandelt wird, gibt es keine Garantie dafür, dass eine andere APDU während der Sequenz von APDUs asynchron auf die Karte verweist.

Vergleich mit IHVRIL

In den Abschnitten 5.2.3.3.10 bis 5.2.3.3.14 der IHVRIL-Spezifikation wird eine ähnliche Schnittstelle definiert, auf der diese Spezifikation basiert. Einige Unterschiede sind:

  • Die RIL-Schnittstelle bietet keine Möglichkeit, sicheres Messaging anzugeben. Der MBIM-Befehl zum Austauschen von APDUs gibt dies als expliziten Parameter an.
  • Die RIL-Schnittstelle definiert die Interpretation des Klassenbytes innerhalb der APDU nicht eindeutig. Die MBIM-Spezifikation besagt, dass das vom Host gesendete Klassenbyte vorhanden sein muss, aber nicht verwendet wird (und stattdessen die MBIM-Funktion dieses Byte erstellt).
  • Die RIL-Schnittstelle verwendet eine separate Funktion, um alle UICC-Kanäle in einer Gruppe zu schließen, während die MBIM-Schnittstelle dies mit Variantenargumenten für eine einzelne CID erreicht.
  • Die Beziehung zwischen MBIM-Fehler status und UICC-status (SW1 SW2) ist klarer definiert als die Beziehung zwischen RIL-Fehlern und UICC-status.
  • Die MBIM-Schnittstelle unterscheidet fehler beim Zuordnen eines neuen logischen Kanals von fehler zu SELECT einer angegebenen Anwendung.
  • Die MBIM-Schnittstelle ermöglicht das Senden der Modemterminalfunktionsobjekte an die Karte.

MBIM_CID_MS_UICC_ATR

Die Antwort auf das Zurücksetzen (Answer to Reset, ATR) ist die erste Zeichenfolge von Bytes, die vom UICC gesendet werden, nachdem ein Zurücksetzen durchgeführt wurde. Es beschreibt die Funktionen der Karte, z. B. die Anzahl der von ihr unterstützten logischen Kanäle. Die MBIM-Funktion muss den ATR speichern, wenn er vom UICC empfangen wird. Anschließend kann der Host den Befehl MBIM_CID_MS_UICC_ATR verwenden, um den ATR abzurufen.

Parameter

type Set Abfrage benachrichtigungs-
Get-Help Nicht verfügbar Leer Nicht verfügbar
Antwort Nicht verfügbar MBIM_MS_ATR_INFO Nicht verfügbar

Abfrage

Der InformationBuffer einer Abfragemeldung ist leer.

Set

Nicht zutreffend

Antwort

Der InformationBuffer von MBIM_COMMAND_DONE enthält die folgende MBIM_MS_ATR_INFO-Struktur, die die Antwort beschreibt, die für das UICC zurückgesetzt werden soll, das an diese Funktion angefügt ist.

MBIM_MS_ATR_INFO

Offset Size Feld Typ BESCHREIBUNG
0 4 AtrSize SIZE(0..33) Die Länge von AtrData.
4 4 AtrOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur zu einem Bytearray namens AtrData berechnet wird, das die ATR-Daten enthält.
8 AtrSize DataBuffer DATABUFFER Das AtrData-Bytearray .

Nicht angeforderte Ereignisse

Nicht zutreffend

Statuscodes

Es gelten die folgenden status Codes.

Statuscode BESCHREIBUNG
MBIM_STATUS_SUCCESS Grundlegende MBIM-status wie für alle Befehle definiert.
MBIM_STATUS_BUSY Grundlegende MBIM-status wie für alle Befehle definiert.
MBIM_STATUS_FAILURE Grundlegende MBIM-status wie für alle Befehle definiert.
MBIM_STATUS_NO_DEVICE_SUPPORT Grundlegende MBIM-status wie für alle Befehle definiert.
MBIM_STATUS_SIM_NOT_INSERTED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC fehlt.
MBIM_STATUS_BAD_SIM Der UICC-Vorgang kann nicht ausgeführt werden, da sich die UICC in einem Fehlerzustand befindet.
MBIM_STATUS_NOT_INITIALIZED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC noch nicht vollständig initialisiert ist.

MBIM_CID_MS_UICC_OPEN_CHANNEL

Der Host verwendet den Befehl MBIM_CID_MS_UICC_OPEN_CHANNEL, um anzufordern, dass die Funktion einen neuen logischen Kanal auf dem UICC-Karte öffnet und eine angegebene UICC-Anwendung (angegeben durch die Anwendungs-ID) auswählt.

Die Funktion implementiert diesen MBIM-Befehl mithilfe einer Sequenz von UICC-Befehlen:

  1. Die Funktion sendet einen BEFEHL MANAGE CHANNEL an die UICC, wie in Abschnitt 11.1.17 der technischen Spezifikation ETSI TS 102 221 beschrieben, um einen neuen logischen Kanal zu erstellen. Wenn dieser Befehl fehlschlägt, gibt die Funktion den MBIM_STATUS_MS_NO_LOGICAL_CHANNELS status mit SW1 SW2 zurück und führt keine weiteren Aktionen aus.
  2. Wenn der Befehl KANAL VERWALTEN erfolgreich ist, meldet die UICC die Kanalnummer des neuen logischen Kanals an die Funktion. Die Funktion sendet einen SELECT [by name]-Befehl mit P1 = 04, wie in Abschnitt 11.1.1 der technischen Spezifikation ETSI TS 102 221 beschrieben. Wenn dieser Vorgang fehlschlägt, sendet die Funktion einen BEFEHL MANAGE CHANNEL an die UICC, um den logischen Kanal zu schließen, und gibt den MBIM_STATUS_MS_SELECT_FAILED status mit SW1 SW2 aus dem SELECT zurück.
  3. Wenn der SELECT-Befehl erfolgreich ist, zeichnet die Funktion die logische Kanalnummer und die vom Host angegebene Kanalgruppe für die zukünftige Referenz auf. Anschließend wird die logische Kanalnummer, SW1 SW2 von SELECT und die Antwort von SELECT an den Host zurückgegeben.

Parameter

Vorgang Set Abfrage benachrichtigungs-
Get-Help MBIM_MS_SET_UICC_OPEN_CHANNEL Nicht verfügbar Nicht verfügbar
Antwort MBIM_MS_UICC_OPEN_CHANNEL_INFO Nicht verfügbar Nicht verfügbar

Abfrage

Nicht zutreffend

Set

Der InformationBuffer von MBIM_COMMAND_MSG enthält die folgende MBIM_MS_SET_UICC_OPEN_CHANNEL-Struktur.

MBIM_MS_SET_UICC_OPEN_CHANNEL

Offset Size Feld Typ BESCHREIBUNG
0 4 AppIdSize SIZE(0..32) Die Größe der Anwendungs-ID (AppId).
4 4 AppIdOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur auf ein Bytearray namens AppId berechnet wird, das die zu SELECTed zu verwendende AppId definiert.
8 4 SelectP2Arg UINT32(0..255) Das P2-Argument für den SELECT-Befehl.
12 4 ChannelGroup UINT32 Ein Tagwert, der die Kanalgruppe für diesen Kanal identifiziert.
16 AppIdSize DataBuffer DATABUFFER Das AppId-Bytearray .

Antwort

Der InformationBuffer von MBIM_COMMAND_DONE enthält die folgende MBIM_MS_UICC_OPEN_CHANNEL_INFO-Struktur.

MBIM_MS_UICC_OPEN_CHANNEL_INFO

Offset Size Feld Typ BESCHREIBUNG
0 4 Status BYTE[2] SW1 und SW2, in dieser Bytereihenfolge. Weitere Informationen finden Sie in den Hinweisen nach dieser Tabelle.
4 4 Kanal UINT32(0..19) Der bezeichner des logischen Kanals. Wenn dieser Member 0 ist, ist der Vorgang fehlgeschlagen.
8 4 ResponseLength SIZE(0..256) Die Antwortlänge in Bytes.
12 4 ResponseOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur auf ein Bytearray namens Response berechnet wird, das die Antwort aus dem SELECT enthält.
16 - DataBuffer DATABUFFER Die Daten des Antwortbytearrays.

Wenn der Befehl MBIM_STATUS_MS_NO_LOGICAL_CHANNELS zurückgibt, muss das Feld Status die UICC-status Wörter SW1 und SW2 aus dem Befehl KANAL VERWALTEN enthalten, und die restlichen Felder sind 0. Wenn der Befehl MBIM_STATUS_MS_SELECT_FAILED zurückgibt, muss das Feld Status die UICC-status Wörter SW1 und SW2 aus dem SELECT-Befehl enthalten, und die restlichen Felder sind 0. Für alle anderen status muss der InformationBuffer leer sein.

Nicht angeforderte Ereignisse

Nicht zutreffend

Statuscodes

Es gelten die folgenden status-Codes:

Statuscode BESCHREIBUNG
MBIM_STATUS_SUCCESS Grundlegende MBIM-status wie für alle Befehle definiert.
MBIM_STATUS_BUSY Grundlegende MBIM-status wie für alle Befehle definiert.
MBIM_STATUS_FAILURE Grundlegende MBIM-status wie für alle Befehle definiert.
MBIM_STATUS_NO_DEVICE_SUPPORT Grundlegende MBIM-status wie für alle Befehle definiert.
MBIM_STATUS_SIM_NOT_INSERTED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC fehlt.
MBIM_STATUS_BAD_SIM Der UICC-Vorgang kann nicht ausgeführt werden, da sich die UICC in einem Fehlerzustand befindet.
MBIM_STATUS_NOT_INITIALIZED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC noch nicht vollständig initialisiert ist.
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS Fehler beim Öffnen des logischen Kanals, da auf der UICC keine logischen Kanäle verfügbar sind (entweder werden sie nicht unterstützt oder alle werden verwendet).
MBIM_STATUS_MS_SELECT_FAILED Der geöffnete logische Kanal war nicht erfolgreich, da SELECT fehlgeschlagen ist.

MBIM_CID_MS_UICC_CLOSE_CHANNEL

Der Host sendet MBIM_CID_MS_UICC_CLOSE_CHANNEL an die Funktion, um einen logischen Kanal auf der UICC zu schließen. Der Host kann eine Kanalnummer oder eine Kanalgruppe angeben.

Wenn der Host eine Kanalnummer angibt, sollte die Funktion überprüfen, ob dieser Kanal von einem vorherigen MBIM_CID_MS_UICC_OPEN_CHANNEL geöffnet wurde. Wenn ja, sollte der Befehl KANAL VERWALTEN an die UICC gesendet werden, um den Kanal zu schließen, eine status von MBIM_STATUS_SUCCESS zurückzugeben und den SW1 SW2 aus dem KANAL VERWALTEN zurückzugeben. Andernfalls sollte sie keine Aktion ausführen und den MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL Fehler status zurückgeben.

Wenn der Host eine Kanalgruppe angibt, bestimmt die Funktion, welche logischen Kanäle (falls vorhanden) mit dieser Kanalgruppe geöffnet wurden, und sendet für jeden solchen Kanal einen BEFEHL MANAGE CHANNEL an die UICC. Es gibt eine status von MBIM_STATUS_SUCCESS mit dem SW1 SW2 des letzten MANAGE-KANALs zurück. Wenn keine Kanäle geschlossen wurden, wird 90 00 zurückgegeben.

Parameter

Vorgang Set Abfrage benachrichtigungs-
Get-Help MBIM_MS_SET_UICC_CLOSE_CHANNEL Nicht verfügbar Nicht verfügbar
Antwort MBIM_MS_UICC_CLOSE_CHANNEL_INFO Nicht verfügbar Nicht verfügbar

Abfrage

Nicht zutreffend

Set

Der InformationBuffer von MBIM_COMMAND_MSG enthält die folgende MBIM_MS_SET_UICC_CLOSE_CHANNEL-Struktur.

MBIM_MS_SET_UICC_CLOSE_CHANNEL

Offset Size Feld Typ BESCHREIBUNG
0 4 Kanal UINT32(0..19) Gibt den zu schließenden Kanal an, wenn ungleich null. Wenn null, gibt an, dass die ChannelGroup zugeordneten Kanäle geschlossen werden sollen.
4 4 ChannelGroup UINT32 Wenn Channel null ist, wird ein Tagwert angegeben, und alle Kanäle mit diesem Tag werden geschlossen. Wenn Channel ungleich null ist, wird dieses Feld ignoriert.

Antwort

Der InformationBuffer von MBIM_COMMAND_DONE enthält die folgende MBIM_MS_UICC_CLOSE_CHANNEL_INFO-Struktur.

MBIM_MS_UICC_CLOSE_CHANNEL_INFO

Offset Size Feld Typ BESCHREIBUNG
0 4 Status BYTE[2] SW1 und SW2 des letzten MANAGE CHANNEL, der von der Funktion im Namen dieses Befehls ausgeführt wurde.

Nicht angeforderte Ereignisse

Nicht zutreffend

Statuscodes

Statuscode BESCHREIBUNG
MBIM_STATUS_SUCCESS Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_BUSY Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_FAILURE Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_NO_DEVICE_SUPPORT Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_SIM_NOT_INSERTED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC fehlt.
MBIM_STATUS_BAD_SIM Der UICC-Vorgang kann nicht ausgeführt werden, da sich die UICC in einem Fehlerzustand befindet.
MBIM_STATUS_NOT_INITIALIZED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC noch nicht vollständig initialisiert wurde.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL Die logische Kanalnummer ist ungültig (d. h., sie wurde nicht mit MBIM_CID_MS_UICC_OPEN_CHANNEL geöffnet).

MBIM_CID_MS_UICC_APDU

Der Host verwendet MBIM_CID_MS_UICC_APDU, um eine Befehls-APDU an einen angegebenen logischen Kanal auf der UICC zu senden und die Antwort zu empfangen. Die MBIM-Funktion sollte sicherstellen, dass der logische Kanal zuvor mit MBIM_CID_MS_UICC_OPEN_CHANNEL geöffnet wurde, und mit status MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL fehlschlagen, wenn dies nicht der Fall war.

Der Host muss eine vollständige APDU an die Funktion senden. Die APDU kann mit einem Klassenbytewert gesendet werden, der in der ersten Interindustry-Definition in Abschnitt 4 der Norm ISO/IEC 7816-4:2013 oder in der erweiterten Definition in Abschnitt 10.1.1 der technischen Spezifikation ETSI TS 102 221 definiert ist. Die APDU kann ohne sicheres Messaging oder mit sicherem Messaging gesendet werden. Der Befehlsheader wurde nicht authentifiziert. Der Host gibt den Typ des Klassenbytes, die logische Kanalnummer und das sichere Messaging zusammen mit der APDU an.

Das erste Byte der Befehls-APDU ist das Klassenbyte, das gemäß Abschnitt 4 der Norm ISO/IEC 7816-4:2013 oder Abschnitt 10.1.1 der technischen Spezifikation ETSI TS 102 221 codiert ist. Der Host kann 0X-, 4X-, 6X-, 8X-, CX- oder EX-Klassenbytes senden. Die Funktion übergibt dieses Byte jedoch nicht direkt an die UICC. Stattdessen ersetzt die Funktion vor dem Senden der APDU an die UICC das erste Byte vom Host durch ein neues Klassenbyte (codiert gemäß Abschnitt 4 des ISO/IEC 7816-4:2013-Standards oder Abschnitt 10.1.1 der technischen Spezifikation ETSI TS 102 221), basierend auf den vom Host angegebenen Werten Type, Channel und SecureMessaging:

Byte-Klasse BESCHREIBUNG
0X 7816-4 Interindustry, 1 <= Kanal <= 3, codiert Sicherheit in geringem Nibble, falls relevant
4X 7816-4 Interindustry, 4 <= Kanal <= 19, kein sicheres Messaging
6X 7816-4 Interindustry, 4 <= Kanal <= 19, sicher (Header nicht authentifiziert)
8X 102 221 erweitert, 1< = Kanal <= 3, codiert Sicherheit in geringem Nibble, falls relevant
CX 102 221 erweitert, 4 <= Kanal <= 19, kein sicheres Messaging
EX 102 221 erweitert, 4 <= Kanal <= 19, sicher (Header nicht authentifiziert)

Die Funktion gibt die status, SW1 SW2 und antwort von der UICC an den Host zurück.

Parameter

Vorgang Set Abfrage benachrichtigungs-
Get-Help MBIM_MS_SET_UICC_APDU Nicht verfügbar Nicht verfügbar
Antwort MBIM_MS_UICC_APDU_INFO Nicht verfügbar Nicht verfügbar

Abfrage

Nicht zutreffend

Set

Der InformationBuffer von MBIM_COMMAND_MSG enthält die folgende MBIM_MS_SET_UICC_APDU-Struktur.

MBIM_MS_SET_UICC_APDU

Offset Size Feld Typ BESCHREIBUNG
0 4 Kanal UINT32(1..19) Gibt den Kanal an, für den die APDU gesendet wird.
4 4 SecureMessaging MBIM_MS_UICC_SECURE_MESSAGING Gibt an, ob die APDU mithilfe von Secure Messaging ausgetauscht wird.
8 4 Typ MBIM_MS_UICC_CLASS_BYTE_TYPE Gibt den Typ der Klassenbytedefinition an.
12 4 CommandSize UINT32(0..261) Die Befehlslänge in Bytes.
16 4 CommandOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur zu einem Bytearray namens Command berechnet wird, das die APDU enthält.
20 - DataBuffer DATABUFFER Das Befehlsbytearray .

Die MBIM_MS_SET_UICC_APDU-Struktur verwendet die folgenden MBIM_MS_UICC_SECURE_MESSAGING- und MBIM_MS_UICC_CLASS_BYTE_TYPE-Datenstrukturen.

MBIM_MS_UICC_SECURE_MESSAGING
Typ Wert BESCHREIBUNG
MBIMMsUiccSecureMessagingNone 0 Kein sicheres Messaging.
MBIMMsUiccSecureMessagingNoHdrAuth 1 Sicheres Messaging, Befehlsheader nicht authentifiziert.
MBIM_MS_UICC_CLASS_BYTE_TYPE
Typ Wert BESCHREIBUNG
MBIMMsUiccInterindustry 0 Definiert nach der ersten Interindustry-Definition in ISO 7816-4.
MBIMMsUiccExtended 1 Definiert gemäß der erweiterten Definition in ETSI 102 221.

Antwort

Der InformationBuffer von MBIM_COMMAND_DONE enthält die folgende MBIM_MS_UICC_APDU_INFO-Struktur.

MBIM_MS_UICC_APDU_INFO

Offset Size Feld Typ BESCHREIBUNG
0 4 Status BYTE[2] Die Wörter SW1 und SW2 status, die sich aus dem Befehl ergeben.
4 4 ResponseLength SIZE Die Antwortlänge in Bytes.
8 4 ResponseOffset OFFSET Der Offset in Bytes, der vom Anfang dieser Struktur auf ein Bytearray namens Response berechnet wird, das die Antwort aus dem SELECT enthält.
12 - DataBuffer DATABUFFER Das Antwortbytearray .

Nicht angeforderte Ereignisse

Nicht zutreffend

Statuscodes

Es gelten die folgenden status-Codes:

Statuscode BESCHREIBUNG
MBIM_STATUS_SUCCESS Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_BUSY Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_FAILURE Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_NO_DEVICE_SUPPORT Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_SIM_NOT_INSERTED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC fehlt.
MBIM_STATUS_BAD_SIM Der UICC-Vorgang kann nicht ausgeführt werden, da sich die UICC in einem Fehlerzustand befindet.
MBIM_STATUS_NOT_INITIALIZED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC noch nicht vollständig initialisiert wurde.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL Die logische Kanalnummer ist ungültig (d. h., sie wurde nicht mit MBIM_CID_MS_UICC_OPEN_CHANNEL geöffnet).

Wenn die Funktion die APDU an die UICC senden kann, gibt sie MBIM_STATUS_SUCCESS zusammen mit den SW1 SW2-status Wörtern und der Antwort von der UICC (falls vorhanden) zurück. Der Host muss die status (SW1 SW2) untersuchen, um festzustellen, ob der APDU-Befehl auf der UICC erfolgreich war oder warum er fehlgeschlagen ist.

MBIM_CID_MS_UICC_TERMINAL_CAPABILITY

Der Host sendet MBIM_CID_MS_UICC_TERMINAL_CAPABILITY, um das Modem über die Funktionen des Hosts zu informieren. Die TERMINAL CAPABILITY-APDU, die in Abschnitt 11.1.19 der technischen Spezifikation ETSI TS 102 221 angegeben ist, muss an die Karte gesendet werden, bevor die erste Anwendung ausgewählt wird (sofern sie unterstützt wird). Daher kann der Host die TERMINALFUNKTIONs-APDU nicht direkt senden, sondern sendet stattdessen den befehl MBIM_CID_MS_UICC_TERMINAL_CAPABILITY, der ein oder mehrere Terminalfunktionsobjekte enthält, die dauerhaft vom Modem gespeichert werden. Beim nächsten Karte einfügen oder zurücksetzen, nach dem ATR, wählt das Modem den MF aus und überprüft, ob TERMINALFUNKTION unterstützt wird. Wenn dies der Fall ist, sendet das Modem die TERMINAL CAPABILITY-APDU mit den vom MBIM_CID_MS_UICC_TERMINAL_CAPABILITY-Befehl angegebenen Informationen sowie alle vom Modem generierten Informationen.

Parameter

Vorgang Set Abfrage benachrichtigungs-
Get-Help MBIM_MS_SET_UICC_TERMINAL_CAPABILITY Leer Nicht verfügbar
Antwort Nicht verfügbar MBIM_MS_TERMINAL_CAPABILITY_INFO Nicht verfügbar

Abfrage

Der InformationBuffer muss NULL und InformationBufferLength null sein.

Set

Der InformationBuffer von MBIM_COMMAND_MSG enthält die folgende MBIM_MS_SET_UICC_TERMINAL_CAPABILITY-Struktur.

MBIM_MS_SET_UICC_TERMINAL_CAPABILITY

Offset Size Feld Typ BESCHREIBUNG
0 4 ElementCount UINT32 Die Elementanzahl von Terminalfunktionsobjekten.
4 8*EG CapabilityList-OL_PAIR_LIST Eine Liste von Paaren mit Offsetlänge für jedes Terminalfunktionsobjekt TLV.
4+8*EC - DataBuffer DATABUFFER Ein Bytearray der tatsächlichen Terminalfunktionsobjekt-TLVs.

Antwort

Antworten enthalten den genauen SET-Befehl mit den zuletzt an das Modem gesendeten Terminalfunktionsobjekten. Daher ist MBIM_MS_TERMINAL_CAPABILITY_INFO mit MBIM_MS_SET_UICC_TERMINAL_CAPABILITY identisch.

MBIM_MS_TERMINAL_CAPABILITY_INFO

Offset Size Feld Typ BESCHREIBUNG
0 4 ElementCount UINT32 Die Elementanzahl von Terminalfunktionsobjekten.
4 8*EG CapabilityList-OL_PAIR_LIST Eine Liste von Paaren mit Offsetlänge für jedes Terminalfunktionsobjekt TLV.
4+8*EC - DataBuffer DATABUFFER Ein Bytearray der tatsächlichen Terminalfunktionsobjekt-TLVs.

Nicht angeforderte Ereignisse

Nicht zutreffend

Statuscodes

Statuscode BESCHREIBUNG
MBIM_STATUS_SUCCESS Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_BUSY Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_FAILURE Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_NO_DEVICE_SUPPORT Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_SIM_NOT_INSERTED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC fehlt.
MBIM_STATUS_BAD_SIM Der UICC-Vorgang kann nicht ausgeführt werden, da sich die UICC in einem Fehlerzustand befindet.
MBIM_STATUS_NOT_INITIALIZED Der UICC-Vorgang kann nicht ausgeführt werden, da die UICC noch nicht vollständig initialisiert wurde.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL Die logische Kanalnummer ist ungültig (d. h., sie wurde nicht mit MBIM_CID_MS_UICC_OPEN_CHANNEL geöffnet).

MBIM_CID_MS_UICC_RESET

Der Host sendet MBIM_CID_MS_UICC_RESET an die MBIM-Funktion, um die UICC zurückzusetzen oder den Passthroughstatus der Funktion abzufragen.

Wenn der Host anfordert, dass die Funktion die UICC zurücksetzt, wird eine Passthroughaktion angegeben.

Wenn der Host die Passthroughaktion MBIMMsUICCPassThroughEnable angibt, setzt die Funktion die UICC zurück und behandelt die UICC beim Einschalten der UICC wie in einem Passthrough-Modus, der die Kommunikation zwischen host und UICC ermöglicht (auch wenn die UICC kein Telecom UICC-Dateisystem aufweist). Die Funktion sendet keine APDUs an den Karte und stört zu keinem Zeitpunkt die Kommunikation zwischen dem Host und der UICC.

Wenn der Host die Passthroughaktion MBIMMsUICCPassThroughDisable angibt, setzt die Funktion die UICC zurück und behandelt die UICC beim Einschalten der UICC als reguläre Telecom UICC und erwartet, dass ein Telecom UICC-Dateisystem auf der UICC vorhanden ist.

Wenn der Host die Funktion abfragt, um die Passthrough-status zu bestimmen, und wenn die Funktion mit dem MBIMMsUICCPassThroughEnabled-status antwortet, bedeutet dies, dass der Passthroughmodus aktiviert ist. Wenn die Funktion mit dem MBIMMsUICCPassThroughDisabled-status antwortet, bedeutet dies, dass der Passthroughmodus deaktiviert ist.

Parameter

type Set Abfrage benachrichtigungs-
Get-Help MBIM_MS_SET_UICC_RESET Leer Nicht verfügbar
Antwort MBIM_MS_UICC_RESET_INFO MBIM_MS_UICC_RESET_INFO Nicht verfügbar

Abfrage

Der InformationBuffer muss NULL und InformationBufferLength null sein.

Set

MBIM_SET_MS_UICC_RESET

Die MBIM_SET_MS_UICC_RESET-Struktur enthält die vom Host angegebene Passthroughaktion.

Offset Size Feld Typ BESCHREIBUNG
0 4 PassThroughAction MBIM_MS_UICC_PASSTHROUGH_ACTION Weitere Informationen finden Sie unter MBIM_MS_UICC_PASSTHROUGH_ACTION.

MBIM_MS_UICC_PASSTHROUGH_ACTION

Die MBIM_MS_UICC_PASSTHROUGH_ACTION-Enumeration definiert die Typen von Passthroughaktionen, die der Host für die MBIM-Funktion angeben kann.

Typen Wert
MBIMMsUiccPassThroughDisable 0
MBIMMsUiccPassThroughEnable 1

Antwort

MBIM_MS_UICC_RESET_INFO

Die MBIM_MS_UICC_RESET_INFO-Struktur enthält die Passthrough-status der MBIM-Funktion.

Offset Size Feld Typ BESCHREIBUNG
0 4 PassThroughStatus MBIM_MS_UICC_PASSTHROUGH_STATUS Weitere Informationen finden Sie unter MBIM_MS_UICC_PASSTHROUGH_STATUS.

MBIM_MS_UICC_PASSTHROUGH_STATUS

Die MBIM_MS_UICC_PASSTHROUGH_STATUS-Enumeration definiert die Typen von Passthrough status die die MBIM-Funktion für den Host angibt.

Typen Wert
MBIMMsUiccPassThroughDisabled 0
MBIMMsUiccPassThroughEnabled 1

Nicht angeforderte Ereignisse

Nicht zutreffend

Statuscodes

Statuscode BESCHREIBUNG
MBIM_STATUS_SUCCESS Grundlegende MBIM-status für alle Befehle definiert.
MBIM_STATUS_BUSY Das Gerät ist ausgelastet.
MBIM_STATUS_FAILURE Fehler beim Vorgang.
MBIM_STATUS_NO_DEVICE_SUPPORT Das Gerät unterstützt diesen Vorgang nicht.

OID_WWAN_UICC_RESET

Die NDIS-Entsprechung für MBIM_CID_MS_UICC_RESET ist OID_WWAN_UICC_RESET.