Preparación del dispositivo MB
En este tema se describen los procedimientos para asegurarse de que un dispositivo MB es accesible y listo para usarse para las actividades relacionadas con la red antes de que el servicio MB continúe con la configuración de conexiones de datos. El dispositivo está listo para usarse cuando se ha activado la suscripción de usuario y la información relacionada con el suscriptor almacenada en el dispositivo o en el módulo de identidad del suscriptor (tarjeta SIM).
El servicio MB supone que un controlador de minipuerto inicializa automáticamente el hardware de su dispositivo MB (pila de radio, tarjeta SIM o circuito equivalente) después de que el sistema lo haya cargado, sin esperar a ninguna instrucción del servicio.
Los controladores de minipuerto establecen el estado listo inicial de su dispositivo MB en WwanReadyStateOff. A medida que continúen con la inicialización, los controladores de minipuerto deben enviar notificaciones de eventos para informar al servicio MB de los cambios en el estado listo de su dispositivo.
Los controladores de minipuerto deben detener el proceso de inicialización si se producen en condiciones de error. Una vez desactivada la condición de error, los controladores de minipuerto pueden reanudar el proceso de inicialización hasta que su dispositivo haya alcanzado el estado listo WwanReadyStateInitialized .
A continuación se muestran ejemplos de algunos escenarios de error:
Si el dispositivo requiere una tarjeta SIM y el controlador de minipuerto detecta que no existe ninguna tarjeta SIM, el controlador de minipuerto debe enviar una notificación de eventos de estado listo WwanReadyStateSimNotInserted y el controlador de miniporte debe permanecer en ese estado hasta que el usuario inserte una tarjeta SIM en el dispositivo.
Si el dispositivo requiere una tarjeta SIM y el controlador de minipuerto no puede leer la tarjeta SIM que se ha insertado (por ejemplo, un U-RIM se inserta en un dispositivo basado en GSM o un USIM se inserta en un dispositivo basado en ADVISOR) o la tarjeta SIM no es compatible con el dispositivo (por ejemplo, un USIM 3G se inserta en un dispositivo 2G, que no puede interpretar el formato USIM), el controlador de minipuerto debe enviar una notificación de eventos de estado listo WwanReadyStateBadSim y el controlador de miniporte debe permanecer en ese estado hasta que el usuario inserte una tarjeta SIM correcta en el dispositivo.
Si el dispositivo está bloqueado por el PIN (para dispositivos que usan tarjetas SIM) o por una contraseña (para dispositivos que no usan tarjetas SIM) que impide el progreso de la inicialización del dispositivo adicional, el controlador de minipuerto debe enviar una notificación de eventos wwanReadyStateDeviceLocked ready-state y el controlador de miniporte debe permanecer en ese estado hasta que el usuario escriba el PIN o la contraseña correctos.
Si el controlador de minipuerto detecta que se requiere la activación del servicio para continuar, el controlador de minipuerto debe enviar una notificación de eventos de estado listo WwanReadyStateNotActivated y debe permanecer en ese estado hasta que se haya activado el servicio. Este es un comportamiento típico para los dispositivos basados en STORAGE en Norteamérica.
Si el controlador de miniporte se encuentra en errores distintos de los mencionados anteriormente, el controlador de minipuerto debe enviar una notificación de eventos de estado listo WwanReadyStateFailure y debe permanecer en ese estado hasta que se haya identificado y corregido el problema.
Tenga en cuenta que el servicio MB no supone que los controladores de minipuerto puedan detectar todos estos errores. Tampoco supone el servicio el orden en el que los controladores de miniporte detectan estas condiciones de error. Sin embargo, es mejor implementar los escenarios de error en el orden enumerado anteriormente.
Hasta que un controlador de minipuerto envíe una notificación de eventos wwanReadyStateInitialized ready-state, el servicio no continuará con las actividades relacionadas con la red hasta que se haya identificado y corregido el problema. Sin embargo, es posible que el servicio siga enviando identificadores de identificación al controlador de minipuerto.
Los controladores de minipuerto no necesitan esperar a que el subsistema sms esté listo antes de notificar el estado listo wwanReadyStateInitialized . En su lugar, los controladores de minipuerto deben enviar una notificación de OID_WWAN_SMS_CONFIGURATION independiente cuando el subsistema SMS está listo para enviar y recibir mensajes SMS.
Compatibilidad con el modo de emergencia
Si el controlador de minipuerto indica que admite servicios de llamadas de emergencia mientras procesa OID_WWAN_READY_INFO el controlador de minipuerto debe establecer el miembro EmergencyMode de la estructura WWAN_READY_INFOen WwanEmergencyModeOn. En este caso, el controlador de minipuerto debe seguir enviando notificaciones de registro al servicio MB, pero el servicio no invocará ninguna funcionalidad relacionada con la configuración automática.
Los controladores de miniportar pueden especificar que admiten servicios de llamadas de emergencia incluso en escenarios en los que detectan que la SIM ya no es válida, quizás porque la suscripción no es de pago o el servicio se ha desactivado porque el dispositivo se ha notificado robado.
Inicialización del controlador de miniporte MB
El diagrama siguiente representa el proceso que se realiza para determinar si la interfaz es una interfaz MB calificada y recopilar información sobre las funcionalidades del dispositivo. Estos pasos se realizan para cada interfaz de MB enumerada cuando se inicia el servicio MB, así como para cada nueva llegada de la interfaz mientras se ejecuta el servicio. Las etiquetas en negrita representan identificadores de OID o control de flujo transaccional. Las etiquetas del texto normal representan las marcas importantes dentro de la estructura OID.
Para inicializar un controlador de miniporte MB, use el procedimiento siguiente:
El servicio MB envía una solicitud de consulta sincrónica (bloqueo) OID_GEN_PHYSICAL_MEDIUM para identificar el tipo del dispositivo MB. El controlador de minipuerto responde con NdisPhysicalMediumWirelessWan para indicar que el dispositivo MB es un dispositivo WWAN.
El servicio MB envía una solicitud de consulta sincrónica (bloqueo) OID_GEN_MEDIA_SUPPORTED al controlador de miniporte para identificar qué tipo de medio usa el dispositivo MB. El controlador de minipuerto responde con NdisMedium802_3 para indicar que usa emulación Ethernet.
El servicio MB envía una solicitud de consulta sincrónica (bloqueo) OID_WWAN_DRIVER_CAPS al controlador de miniporte para identificar qué versión del modelo de controlador admite el controlador de minipuerto. El controlador de minipuerto responde con WWAN_VERSION.
El servicio MB envía una solicitud de consulta asincrónica (sin bloqueo OID_WWAN_DEVICE_CAPS ) al controlador de miniporte para identificar las funcionalidades del dispositivo MB. El controlador de miniporte responde con una confirmación provisional de que ha recibido la solicitud y enviará una notificación con la información solicitada en el futuro.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_DEVICE_CAPS al servicio MB que indica las funciones del dispositivo MB que admite el controlador de minipuerto. Por ejemplo, si el controlador de minipuerto admite un dispositivo basado en GSM, debe especificar el valor WwanClassGsm en el miembro DeviceCaps.WwanObjectClass de la estructura NDIS_WWAN_DEVICE_CAPS . Si el controlador de minipuerto admite un dispositivo basado en CLASS, debe especificar WwanObjectClassClass.
Inicialización de SIM-Locked dispositivo GPRS con un contexto de User-Defined
En el diagrama siguiente se muestra el escenario en el que el usuario escribe un PIN sim y configura manualmente una cadena de nombre de punto de acceso. Las etiquetas en negrita son identificadores de OID o control de flujo transaccional, y las etiquetas del texto normal son las marcas importantes dentro de la estructura OID.
Para inicializar un dispositivo basado en GSM con PIN1 bloqueado, implemente los pasos siguientes:
El servicio MB envía una solicitud de consulta asincrónica (sin bloqueo OID_WWAN_READY_INFO ) al controlador de miniporte para identificar el estado listo del dispositivo. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y que enviará una notificación con la información solicitada en el futuro.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_FAILURE al servicio MB para indicar al servicio MB que el módulo de identidad del suscriptor (SIM) está bloqueado.
El servicio MB envía una solicitud de consulta asincrónica (sin bloqueo) OID_WWAN_PIN al controlador de minipuerto. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y que enviará una notificación con la información solicitada en el futuro.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_SUCCESS al servicio MB.
El servicio MB envía una solicitud asincrónica (sin bloqueo) OID_WWAN_PIN establecer la solicitud al controlador de miniport. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y que enviará una notificación con la información solicitada en el futuro.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_SUCCESS al servicio MB.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_READY_INFO al servicio MB que indica al servicio MB que el estado del dispositivo MB es WwanReadyStateInitialized.
El servicio MB envía una solicitud de consulta asincrónica (sin bloqueo) OID_WWAN_REGISTER_STATE al controlador de miniport. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y enviará una notificación con la información solicitada en el futuro.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_SUCCESS al servicio MB.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_REGISTER_STATE al servicio MB.
El servicio MB envía una solicitud de consulta asincrónica (sin bloqueo) OID_WWAN_HOME_PROVIDER al controlador de miniport. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y enviará una notificación con la información solicitada en el futuro.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_SUCCESS al servicio MB.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_REGISTER_STATE al servicio MB.
El servicio MB envía una solicitud asincrónica (sin bloqueo) OID_WWAN_PACKET_SERVICE al controlador de miniport. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y que enviará una notificación con la información solicitada en el futuro.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_PACKET_SERVICE al servicio MB.
El servicio MB envía una solicitud de consulta asincrónica (sin bloqueo) OID_WWAN_PROVISIONED_CONTEXTS al controlador de miniport. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y enviará una notificación con la información solicitada en el futuro.
El controlador de minipuerto envía NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS al servicio MB.
El servicio MB envía una solicitud asincrónica (sin bloqueo) OID_WWAN_PROVISIONED_CONTEXTS establecer la solicitud al servicio MB. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y enviará una notificación con la información solicitada en el futuro.
El controlador de minipuerto envía NDIS_STATUS_WWAN_SUCCESS al servicio MB.
Consulte también
Para obtener más información sobre la preparación del dispositivo, consulte OID_WWAN_READY_INFO.
Para obtener más información sobre la inicialización de dispositivos con contextos aprovisionados, vea MB Provisioned Context Operations.