Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique décrit les procédures permettant de s’assurer qu’un appareil Mo est accessible et prêt à être utilisé pour les activités liées au réseau avant que le service Mb ne passe à la configuration des connexions de données. L’appareil est prêt à être utilisé lorsque l’abonnement utilisateur a été activé et que les informations associées à l’abonné sont stockées sur l’appareil ou sur le module d’identité de l’abonné (carte SIM)
Le service Mo part du principe qu’un pilote miniport initialise automatiquement le matériel de son appareil Mo (pile radio, carte SIM ou circuit équivalent) une fois que le système l’a chargé, sans attendre d’obtenir des instructions du service.
Les pilotes miniport définissent l'état de disponibilité initial de leur appareil MB sur WwanReadyStateOff. Au fur et à mesure de l’initialisation, les pilotes miniport doivent envoyer des notifications d’événements pour informer le service Mb des modifications apportées à l’état prêt de leur appareil.
Les pilotes miniport doivent arrêter le processus d’initialisation s’ils rencontrent des conditions d’erreur. Une fois la condition d’erreur effacée, les pilotes miniports peuvent reprendre le processus d’initialisation jusqu’à ce que leur appareil ait atteint l’état WwanReadyStateInitialized.
Voici quelques exemples de scénarios d’erreur :
Si l’appareil nécessite une carte SIM et que le pilote miniport détecte qu’aucune carte SIM n’est présente, le pilote miniport doit envoyer une notification d’état prêt WwanReadyStateSimNotInserted, et le pilote miniport doit rester dans cet état jusqu’à ce que l’utilisateur insère une carte SIM dans l’appareil.
Si l’appareil nécessite une carte SIM et que le pilote miniport ne peut pas lire la carte SIM qui a été insérée (par exemple, un U-RIM est inséré dans un appareil GSM ou un USIM est inséré dans un appareil CDMA) ou si la carte SIM n’est pas compatible avec l’appareil (par exemple, un USIM 3G est inséré dans un appareil 2G, qui ne peut pas interpréter le format USIM), le pilote miniport doit envoyer une notification d’événement prêt à l’état WwanReadyStateBadSim , et le pilote miniport doit rester dans cet état jusqu’à ce que l’utilisateur insère une carte SIM correcte dans l’appareil.
Si l’appareil est verrouillé par le code confidentiel (pour les appareils qui utilisent des cartes SIM) ou par un mot de passe (pour les appareils qui n’utilisent pas de cartes SIM) qui empêche une progression supplémentaire de l’initialisation de l’appareil, le pilote miniport doit envoyer une notification d’événement prêt à l’état WwanReadyStateDeviceLocked et le pilote miniport doit rester dans cet état jusqu’à ce que l’utilisateur entre le code confidentiel ou le mot de passe approprié.
Si le pilote miniport détecte que l’activation du service est requise pour continuer, il doit envoyer une notification d'état prêt WwanReadyStateNotActivated et rester dans cet état tant que le service n’a pas été activé. Il s’agit d’un comportement classique pour les appareils basés sur CDMA en Amérique du Nord.
Si le pilote miniport rencontre des défaillances autres que celles mentionnées précédemment, le pilote miniport doit envoyer une notification d’événement prêt à l’état WwanReadyStateFailure , et il doit rester dans cet état jusqu’à ce que le problème ait été identifié et corrigé.
N’oubliez pas que le service Mb ne suppose pas que les pilotes miniport peuvent détecter toutes ces erreurs. Le service ne suppose pas non plus l’ordre dans lequel les pilotes miniports détectent ces conditions d’erreur. Toutefois, il est préférable d’implémenter les scénarios d’erreur dans l’ordre indiqué précédemment.
Jusqu'à ce qu'un pilote miniport envoie une notification d'état WwanReadyStateInitialized, le service ne poursuivra pas les activités liées au réseau tant que le problème n'aura pas été identifié et corrigé. Toutefois, le service peut toujours envoyer des OID au pilote miniport.
Les pilotes miniport n’ont pas besoin d’attendre que le sous-système SMS soit prêt avant de signaler l’état de disponibilité WwanReadyStateInitialized. Au lieu de cela, les pilotes miniport doivent envoyer une notification OID_WWAN_SMS_CONFIGURATION distincte lorsque le sous-système SMS est prêt à envoyer et recevoir des sms.
Prise en charge du mode d’urgence
Si le pilote miniport indique qu’il prend en charge les services d’appel d’urgence lors du traitement OID_WWAN_READY_INFO le pilote miniport doit définir le membre EmergencyMode de la structure WWAN_READY_INFO sur WwanEmergencyModeOn. Dans ce cas, le pilote miniport doit continuer à envoyer des notifications d’inscription au service MB, mais le service n’appellera aucune fonctionnalité liée à la configuration automatique.
Les pilotes miniport peuvent spécifier qu’ils prennent en charge les services d’appel d’urgence même dans les scénarios où ils détectent que la carte SIM n’est plus valide, peut-être parce que l’abonnement n’est pas payé ou que le service a été désactivé parce que l’appareil a été signalé volé.
Initialisation du pilote MB Miniport
Le diagramme suivant représente le processus pris pour déterminer si l’interface est une interface Mo qualifiée et pour collecter des informations sur les fonctionnalités de l’appareil. Ces étapes sont effectuées pour chaque interface mo énumérée au démarrage du service Mo, ainsi que pour chaque nouvelle arrivée de l’interface pendant l’exécution du service. Les étiquettes en gras représentent les identificateurs OID ou le contrôle de flux transactionnel. Les étiquettes dans le texte normal représentent les indicateurs importants dans la structure OID.
Pour initialiser un pilote miniport MB, procédez comme suit :
Le service MB envoie une requête synchrone (bloquante) OID_GEN_PHYSICAL_MEDIUM pour identifier le type de l’appareil MB. Le pilote miniport répond avec NdisPhysicalMediumWirelessWan pour indiquer que l’appareil MB est un appareil WWAN.
Le service MB envoie une requête synchrone (bloquante) OID_GEN_MEDIA_SUPPORTED au pilote miniport pour identifier le type de medium que l'appareil MB utilise. Le pilote miniport répond avec NdisMedium802_3 pour indiquer qu’il utilise l’émulation Ethernet.
Le service MB envoie une requête synchrone (bloquante) OID_WWAN_DRIVER_CAPS au pilote miniport pour identifier la version du modèle de pilote qu'il prend en charge. Le pilote miniport répond avec WWAN_VERSION.
Le service Mo envoie une requête asynchrone (non bloquante) OID_WWAN_DEVICE_CAPS au pilote miniport pour identifier les fonctionnalités de l’appareil Mo. Le pilote miniport répond avec un accusé de réception provisoire qu’il a reçu la demande et qu’il enverra une notification avec les informations requises ultérieurement.
Le pilote miniport envoie une notification NDIS_STATUS_WWAN_DEVICE_CAPS au service Mo qui indique les fonctionnalités du périphérique Mo pris en charge par le pilote miniport. Par exemple, si le pilote miniport prend en charge un appareil basé sur GSM, il doit spécifier la valeur WwanCellularClassGsm dans le membre DeviceCaps.WwanCellularClass de la structure NDIS_WWAN_DEVICE_CAPS. Si le pilote miniport prend en charge un périphérique CDMA, il doit spécifier WwanCellularClassCdma.
Initialisation d’un dispositif GPRS SIM-Locked avec un contexte User-Defined
Le diagramme suivant illustre le scénario dans lequel l’utilisateur entre un code CONFIDENTIEL SIM et configure manuellement une chaîne de nom de point d’accès. Les étiquettes en gras sont des identificateurs OID ou un contrôle de flux transactionnel, et les étiquettes en texte normal sont les indicateurs importants dans la structure OID.
Pour initialiser un appareil GSM avec code PIN1 verrouillé, implémentez les étapes suivantes :
Le service MB envoie une requête asynchrone (non bloquante) OID_WWAN_READY_INFO au pilote miniport pour identifier l'état de préparation de l'appareil. Le pilote miniport répond avec un accusé de réception provisoire (NDIS_STATUS_INDICATION_REQUIRED) qu’il a reçu la demande et qu’il enverra ultérieurement une notification avec les informations demandées.
Le pilote miniport envoie une notification NDIS_STATUS_WWAN_FAILURE au MB Service pour indiquer que le module d'identité de l'abonné (SIM) est verrouillé.
Le service MB envoie une requête asynchrone (non bloquante) OID_WWAN_PIN au pilote miniport. Le pilote miniport répond par un accusé de réception provisoire (NDIS_STATUS_INDICATION_REQUIRED) indiquant qu'il a bien reçu la demande et qu'il enverra une notification avec les informations demandées ultérieurement.
Le pilote miniport envoie une notification NDIS_STATUS_WWAN_SUCCESS au service MB.
Le service MB envoie une requête asynchrone (non bloquante) de définition OID_WWAN_PIN au pilote miniport. Le pilote miniport répond avec un accusé de réception temporaire (NDIS_STATUS_INDICATION_REQUIRED) qu'il a reçu la demande et qu'il enverra une notification avec les informations demandées à l'avenir.
Le pilote miniport envoie une notification NDIS_STATUS_WWAN_SUCCESS au service MB.
Le pilote miniport envoie une notification NDIS_STATUS_WWAN_READY_INFO au service MB qui indique au service MB que l’état de l’appareil MB est WwanReadyStateInitialized.
Le service MB envoie une requête asynchrone (non bloquante) OID_WWAN_REGISTER_STATE au pilote miniport. Le pilote miniport répond avec un accusé de réception provisoire (NDIS_STATUS_INDICATION_REQUIRED) qu’il a reçu la demande et qu’il enverra une notification avec les informations demandées ultérieurement.
Le pilote miniport envoie une notification NDIS_STATUS_WWAN_SUCCESS au service MB.
Le pilote miniport envoie une notification NDIS_STATUS_WWAN_REGISTER_STATE au MB Service.
Le service MB envoie une requête asynchrone (non bloquante) OID_WWAN_HOME_PROVIDER au pilote miniport. Le pilote miniport répond avec un accusé de réception provisoire (NDIS_STATUS_INDICATION_REQUIRED) qu’il a reçu la demande et enverra une notification avec les informations demandées ultérieurement.
Le pilote miniport envoie une notification NDIS_STATUS_WWAN_SUCCESS au service MB.
Le pilote miniport envoie une notification NDIS_STATUS_WWAN_REGISTER_STATE au service MB.
Le service MB envoie une requête asynchrone (non bloquante) OID_WWAN_PACKET_SERVICE au pilote miniport. Le pilote miniport répond avec un accusé de réception provisoire (NDIS_STATUS_INDICATION_REQUIRED) qu’il a reçu la demande et qu'il enverra une notification avec les informations demandées ultérieurement.
Le pilote miniport envoie une notification NDIS_STATUS_WWAN_PACKET_SERVICE au MB Service.
Le service MB envoie une requête asynchrone (non bloquante) OID_WWAN_PROVISIONED_CONTEXTS au pilote miniport. Le pilote miniport répond par un accusé de réception provisoire (NDIS_STATUS_INDICATION_REQUIRED) indiquant qu'il a bien reçu la demande et qu'il enverra une notification avec les informations demandées ultérieurement.
Le pilote miniport envoie NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS au service MB.
Le service Mo envoie une requête asynchrone (non bloquante) OID_WWAN_PROVISIONED_CONTEXTS au service MB pour définir le contexte provisionné. Le pilote miniport répond avec un accusé de réception provisoire (NDIS_STATUS_INDICATION_REQUIRED) qu’il a bien reçu la demande et qu'il enverra ultérieurement une notification avec les informations demandées.
Le pilote miniport envoie NDIS_STATUS_WWAN_SUCCESS au MB Service.
Voir aussi
Pour plus d’informations sur la préparation des appareils, consultez OID_WWAN_READY_INFO.
Pour plus d’informations sur l’initialisation des appareils avec des contextes provisionnés, consultez MB Provisioned Context Operations.