Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema werden die Verfahren beschrieben, um sicherzustellen, dass auf ein MB-Gerät zugegriffen und für netzwerkbezogene Aktivitäten verwendet werden kann, bevor der MB-Dienst mit der Einrichtung von Datenverbindungen fortfährt. Das Gerät ist einsatzbereit, wenn das Benutzerabonnement aktiviert wurde und abonnentenbezogene Informationen entweder auf dem Gerät gespeichert sind oder das Subscriber Identity Module (SIM-Karte) verwendet wird.
Der MB-Dienst geht davon aus, dass ein Miniporttreiber die Hardware des MB-Geräts (Funkstapel, SIM-Karte oder gleichwertige Schaltkreise) automatisch initialisiert, nachdem das System es geladen hat, ohne auf eine Anweisung des Diensts zu warten.
Miniport-Treiber legen den anfänglichen Ready-State ihres MB-Geräts auf WwanReadyStateOff fest. Während sie mit der Initialisierung fortfahren, müssen Miniporttreiber Ereignisbenachrichtigungen senden, um den MB-Dienst über Änderungen am zustandsbereiten Gerät zu informieren.
Miniporttreiber müssen den Initialisierungsprozess beenden, wenn Fehlerbedingungen auftreten. Nachdem die Fehlerbedingung gelöscht wurde, können Miniporttreiber den Initialisierungsprozess fortsetzen, bis ihr Gerät den WwanReadyStateInitialized Ready-Zustand erreicht hat.
Im Folgenden sind Beispiele für einige Fehlerszenarien aufgeführt:
Wenn das Gerät eine SIM-Karte erfordert und der Miniporttreiber erkennt, dass keine SIM-Karte vorhanden ist, muss der Miniporttreiber eine WwanReadyStateSimNotInserted Ready-State-Ereignisbenachrichtigung senden, und der Miniporttreiber muss in diesem Zustand bleiben, bis der Benutzer eine SIM-Karte in das Gerät einfügt.
Wenn für das Gerät eine SIM-Karte erforderlich ist und der Miniporttreiber die eingesteckte SIM-Karte nicht lesen kann (z. B. wird ein U-RIM in ein GSM-basiertes Gerät eingelegt oder ein USIM in ein CDMA-basiertes Gerät eingelegt), oder die SIM-Karte ist nicht mit dem Gerät kompatibel (z. B. wird ein 3G USIM in ein 2G-Gerät eingefügt, die das USIM-Format nicht interpretieren können), muss der Miniporttreiber eine WwanReadyStateBadSim Ready-State-Ereignisbenachrichtigung senden, und der Miniporttreiber muss in diesem Zustand verbleiben, bis der Benutzer eine richtige SIM-Karte in das Gerät einfügt.
Wenn das Gerät durch die PIN (für Geräte, die SIM-Karten verwenden) oder durch ein Kennwort (für Geräte, die keine SIM-Karten verwenden) gesperrt ist, die den Weiteren Fortschritt der Geräteinitialisierung verhindern, muss der Miniporttreiber eine WwanReadyStateDeviceLocked Ready-State-Ereignisbenachrichtigung senden, und der Miniporttreiber muss in diesem Zustand bleiben, bis der Benutzer die richtige PIN oder das richtige Kennwort eingibt.
Wenn der Miniporttreiber erkennt, dass die Dienstaktivierung fortgesetzt werden muss, muss der Miniporttreiber eine WwanReadyStateNotActivated Ready-State-Ereignisbenachrichtigung senden, und er muss in diesem Zustand bleiben, bis der Dienst aktiviert wurde. Dies ist typisches Verhalten für CDMA-basierte Geräte in Nordamerika.
Wenn der Miniporttreiber andere Fehler als die zuvor erwähnten aufweist, muss der Miniporttreiber eine WwanReadyStateFailure-Ereignisbenachrichtigung senden, und er muss in diesem Zustand verbleiben, bis das Problem identifiziert und behoben wurde.
Beachten Sie, dass der MB-Dienst nicht davon ausgeht, dass Miniporttreiber alle diese Fehler erkennen können. Der Dienst übernimmt auch nicht die Reihenfolge, in der Miniporttreiber diese Fehlerbedingungen erkennen. Es empfiehlt sich jedoch, die Fehlerszenarien in der zuvor aufgeführten Reihenfolge zu implementieren.
Bis ein Miniporttreiber eine WwanReadyStateInitialized Ready-State-Ereignisbenachrichtigung sendet, wird der Dienst erst dann mit netzwerkbezogenen Aktivitäten fortfahren, wenn das Problem identifiziert und korrigiert wurde. Der Dienst sendet jedoch möglicherweise weiterhin OIDs an den Miniporttreiber.
Miniport-Treiber müssen nicht warten, bis das SMS-Subsystem bereit ist, bevor der Bereitschaftsstatus WwanReadyStateInitialized gemeldet wird. Stattdessen sollten Miniporttreiber eine separate OID_WWAN_SMS_CONFIGURATION Benachrichtigung senden, wenn das SMS-Subsystem zum Senden und Empfangen von SMS-Nachrichten bereit ist.
Unterstützung für den Notfallmodus
Wenn der Miniporttreiber angibt, dass er Notrufdienste unterstützt, muss bei der Verarbeitung von OID_WWAN_READY_INFO das EmergencyMode-Mitglied der WWAN_READY_INFO-Struktur auf WwanEmergencyModeOn festgelegt werden. In diesem Fall sollte der Miniporttreiber weiterhin Registrierungsbenachrichtigungen an den MB-Dienst senden, der Dienst ruft jedoch keine automatischen Konfigurationsfunktionen auf.
Miniport-Treiber können angeben, dass sie Notrufdienste auch in Szenarien unterstützen, in denen sie feststellen, dass die SIM nicht mehr gültig ist, vielleicht weil das Abonnement nicht bezahlt ist oder der Dienst deaktiviert wurde, da das Gerät gestohlen wurde.
MB Miniport-Treiberinitialisierung
Das folgende Diagramm stellt den Prozess dar, der verwendet wird, um zu bestimmen, ob es sich bei der Schnittstelle um eine qualifizierte MB-Schnittstelle handelt, und um Informationen zu den Gerätefunktionen zu sammeln. Diese Schritte werden für jede aufgezählte MB-Schnittstelle beim Starten des MB-Diensts sowie für jede neue Schnittstelle ausgeführt, während der Dienst ausgeführt wird. Die Bezeichnungen in Fettdruck stellen OID-Bezeichner oder Transaktionsflusssteuerung dar. Die Beschriftungen im regulären Text stellen die wichtigen Kennzeichen innerhalb der OID-Struktur dar.
Verwenden Sie zum Initialisieren eines MB-Miniporttreibers das folgende Verfahren:
Der MB-Dienst sendet eine synchrone (blockierend) OID_GEN_PHYSICAL_MEDIUM Abfrage, um den Typ des MB-Geräts zu identifizieren. Der Miniporttreiber reagiert mit NdisPhysicalMediumWirelessWan , um anzugeben, dass das MB-Gerät ein WWAN-Gerät ist.
Der MB-Dienst sendet eine synchrone (blockierende) OID_GEN_MEDIA_SUPPORTED-Abfrageanforderung an den Miniporttreiber, um zu ermitteln, welche Art von Medium das MB-Gerät verwendet. Der Miniporttreiber antwortet mit NdisMedium802_3 , um anzugeben, dass er die Ethernet-Emulation verwendet.
Der MB-Dienst sendet eine synchrone, blockierende OID_WWAN_DRIVER_CAPS-Abfrageanforderung an den Miniporttreiber, um zu ermitteln, welche Treibermodellversion der Miniporttreiber unterstützt. Der Miniporttreiber reagiert mit WWAN_VERSION.
Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_DEVICE_CAPS Abfrageanforderung an den Miniporttreiber, um die Funktionen des MB-Geräts zu identifizieren. Der Miniporttreiber antwortet mit einer vorläufigen Empfangsbestätigung, dass er die Anforderung erhalten hat und eine Benachrichtigung mit den angeforderten Informationen in der Zukunft senden wird.
Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_DEVICE_CAPS Benachrichtigung an den MB-Dienst, der die Funktionen des MB-Geräts angibt, das der Miniporttreiber unterstützt. Wenn der Miniporttreiber beispielsweise ein GSM-basiertes Gerät unterstützt, sollte er den WwanCellularClassGsm-Wert im DeviceCaps.WwanCellularClass-Element der NDIS_WWAN_DEVICE_CAPS-Struktur angeben. Wenn der Miniporttreiber ein CDMA-basiertes Gerät unterstützt, sollte er WwanCellularClassCdma angeben.
Initialisierung des SIM-Locked GPRS-Geräts mit einem User-Defined Kontext
Das folgende Diagramm veranschaulicht das Szenario, in dem der Benutzer eine SIM-PIN eingibt, und konfiguriert manuell eine Zugriffspunktnamenzeichenfolge. Die fettgedruckten Bezeichnungen sind OID-Bezeichner oder Transaktionsflusssteuerungen, und die Bezeichnungen im normalen Text sind die wichtigen Flags innerhalb der OID-Struktur.
Um ein GSM-basiertes Gerät mit gesperrter PIN1 zu initialisieren, implementieren Sie die folgenden Schritte:
Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_READY_INFO Abfrageanforderung an den Miniporttreiber, um den bereiten Zustand des Geräts zu identifizieren. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat und in Zukunft eine Benachrichtigung mit den angeforderten Informationen senden wird.
Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_FAILURE Benachrichtigung an den MB-Dienst, um an den MB-Dienst anzugeben, dass das Abonnentenidentitätsmodul (SIM) gesperrt ist.
Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_PIN Abfrageanforderung an den Miniporttreiber. Der Miniporttreiber antwortet mit einer provisorischen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und dass er die angeforderten Informationen zukünftig durch eine Benachrichtigung senden wird.
Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_SUCCESS Benachrichtigung an den MB-Dienst.
Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_PIN Einstellungsanforderung an den Miniporttreiber. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat und zu einem späteren Zeitpunkt eine Benachrichtigung mit den angeforderten Informationen senden wird.
Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_SUCCESS-Benachrichtigung an den MB-Dienst.
Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_READY_INFO Benachrichtigung an den MB-Dienst, der an den MB-Dienst angibt, dass der Status des MB-Geräts WwanReadyStateInitialized ist.
Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_REGISTER_STATE Abfrageanforderung an den Miniporttreiber. Der Miniporttreiber antwortet mit einer vorläufigen Eingangsbestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat und in Zukunft eine Benachrichtigung mit den angeforderten Informationen senden wird.
Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_SUCCESS-Benachrichtigung an den MB-Dienst.
Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_REGISTER_STATE Benachrichtigung an den MB-Dienst.
Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_HOME_PROVIDER Abfrageanforderung an den Miniporttreiber. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und er sendet eine Benachrichtigung mit den angeforderten Informationen in der Zukunft.
Der Miniporttreiber sendet eine „NDIS_STATUS_WWAN_SUCCESS“-Benachrichtigung an den MB-Service.
Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_REGISTER_STATE Benachrichtigung an den MB-Dienst.
Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_PACKET_SERVICE Anforderung an den Miniporttreiber. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat und zukünftig eine Benachrichtigung mit den angeforderten Informationen senden wird.
Der Miniporttreiber sendet eine NDIS_STATUS_WWAN_PACKET_SERVICE Benachrichtigung an den MB-Dienst.
Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_PROVISIONED_CONTEXTS Abfrageanforderung an den Miniporttreiber. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und wird nachträglich eine Benachrichtigung mit den angeforderten Informationen in die Zukunft senden.
Der Miniporttreiber sendet NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS an den MB-Dienst.
Der MB-Dienst sendet eine asynchrone (nicht blockierende) OID_WWAN_PROVISIONED_CONTEXTS Setzanfrage an den MB-Dienst zurück. Der Miniporttreiber antwortet mit einer vorläufigen Bestätigung (NDIS_STATUS_INDICATION_REQUIRED), dass er die Anforderung erhalten hat, und wird in der Zukunft eine Benachrichtigung mit den angeforderten Informationen senden.
Der Miniporttreiber sendet NDIS_STATUS_WWAN_SUCCESS an den MB-Dienst.
Siehe auch
Weitere Informationen zur Gerätebereitschaft finden Sie unter OID_WWAN_READY_INFO.
Weitere Informationen zur Geräteinitialisierung mit bereitgestellten Kontexten finden Sie unter MB Provisioned Context Operations.