Condividi tramite


Idoneità dei dispositivi MB

In questo argomento vengono descritte le procedure per garantire che un dispositivo MB sia accessibile e pronto per essere usato per le attività correlate alla rete prima che il servizio MB proceda alla configurazione delle connessioni dati. Il dispositivo è pronto per l'uso quando la sottoscrizione utente è stata attivata e le informazioni relative al sottoscrittore archiviate nel dispositivo o nel modulo di identità del Sottoscrittore (scheda SIM)

Il servizio MB presuppone che un driver miniport inizializzi automaticamente l'hardware del dispositivo MB (stack di radio, scheda SIM o circuiti equivalenti) dopo che il sistema lo ha caricato, senza attendere alcuna istruzione dal servizio.

I driver Miniport impostano lo stato iniziale pronto del dispositivo MB su WwanReadyStateOff. Durante l'inizializzazione, i driver miniport devono inviare notifiche degli eventi per informare il servizio MB delle modifiche apportate allo stato pronto del dispositivo.

Se si verificano condizioni di errore, i driver Miniport devono arrestare il processo di inizializzazione. Dopo aver cancellato la condizione di errore, i driver miniport possono riprendere il processo di inizializzazione fino a quando il dispositivo non ha raggiunto lo stato pronto WwanReadyStateInitialized .

Di seguito sono riportati esempi di alcuni scenari di errore:

  • Se il dispositivo richiede una scheda SIM e il driver miniport rileva che non è presente alcuna scheda SIM, il driver miniport deve inviare una notifica di evento pronto allo stato pronto WwanReadyStateSimInserted e il driver miniport deve rimanere in tale stato fino a quando l'utente non inserisce una scheda SIM nel dispositivo.

  • Se il dispositivo richiede una scheda SIM e il driver miniport non è in grado di leggere la scheda SIM inserita (ad esempio, un U-RIM viene inserito in un dispositivo basato su GSM o un USIM viene inserito in un dispositivo basato su CDMA) o la scheda SIM non è compatibile con il dispositivo (ad esempio, un USIM 3G viene inserito in un dispositivo 2G, che non può interpretare il formato USIM), il driver miniport deve inviare una notifica di evento di stato pronto WwanReadyStateBadSim e il driver miniport deve rimanere in tale stato fino a quando l'utente non inserisce una scheda SIM corretta nel dispositivo.

  • Se il dispositivo è bloccato dal PIN (per i dispositivi che usano schede SIM) o da una password (per i dispositivi che non usano schede SIM) che impedisce un ulteriore avanzamento dell'inizializzazione del dispositivo, il driver miniport deve inviare una notifica di evento ready-state WwanReadyStateDeviceLocked e il driver miniport deve rimanere in tale stato fino a quando l'utente non immette il PIN o la password corretti.

  • Se il driver miniport rileva che l'attivazione del servizio è necessaria per continuare, il driver miniport deve inviare una notifica di evento pronto allo stato WwanReadyStateNotActivated e deve rimanere in tale stato fino all'attivazione del servizio. Si tratta di un comportamento tipico per i dispositivi basati su CDMA in America del Nord.

  • Se il driver miniport si verifica in errori diversi da quelli menzionati in precedenza, il driver miniport deve inviare una notifica degli eventi di stato pronto per WwanReadyStateFailure e deve rimanere in tale stato fino a quando il problema non è stato identificato e corretto.

Tenere presente che il servizio MB non presuppone che i driver miniport possano rilevare tutti questi errori. Né il servizio presuppone l'ordine in cui i driver miniport rilevano queste condizioni di errore. Tuttavia, è consigliabile implementare gli scenari di errore nell'ordine elencato in precedenza.

Finché un driver miniport non invia una notifica degli eventi di stato pronto per WwanReadyStateInitialized , il servizio non procederà ulteriormente con le attività correlate alla rete fino a quando il problema non viene identificato e corretto. Tuttavia, il servizio può comunque inviare OID al driver miniport.

I driver miniport non devono attendere che il sottosistema SMS sia pronto prima di segnalare lo stato pronto per WwanReadyStateInitialized . Al contrario, i driver miniport devono inviare una notifica OID_WWAN_SMS_CONFIGURATION separata quando il sottosistema SMS è pronto per inviare e ricevere messaggi SMS.

Supporto per la modalità di emergenza

Se il driver miniport indica che supporta i servizi di chiamata di emergenza durante l'elaborazione OID_WWAN_READY_INFO il driver miniport deve impostare il membro EmergencyMode della struttura WWAN_READY_INFO su WwanEmergencyModeOn. In questo caso, il driver miniport deve continuare a inviare notifiche di registrazione al servizio MB, ma il servizio non richiamerà alcuna funzionalità correlata alla configurazione automatica.

I driver Miniport possono specificare che supportano i servizi di chiamata di emergenza anche in scenari in cui rilevano che la SIM non è più valida, forse perché la sottoscrizione non è pagata o il servizio è stato disattivato perché il dispositivo è stato rubato.

Inizializzazione del driver Miniport MB

Il diagramma seguente rappresenta il processo eseguito per determinare se l'interfaccia è un'interfaccia MB qualificata e raccogliere informazioni sulle funzionalità del dispositivo. Questi passaggi vengono eseguiti per ogni interfaccia MB enumerata all'avvio del servizio MB, nonché per ogni nuovo arrivo dell'interfaccia durante l'esecuzione del servizio. Le etichette in grassetto rappresentano identificatori OID o controllo del flusso transazionale. Le etichette nel testo normale rappresentano i flag importanti all'interno della struttura OID.

Stabilire se l'interfaccia è un'interfaccia mb qualificata e raccogliere informazioni sulle funzionalità del dispositivo.

Per inizializzare un driver miniport MB, seguire questa procedura:

  1. Il servizio MB invia una richiesta di query sincrona ( blocco) OID_GEN_PHYSICAL_MEDIUM per identificare il tipo di dispositivo MB. Il driver miniport risponde con NdisPhysicalMediumWirelessWan per indicare che il dispositivo MB è un dispositivo WWAN.

  2. Il servizio MB invia una richiesta di query OID_GEN_MEDIA_SUPPORTED sincrona ( blocco) al driver miniport per identificare il tipo di supporto usato dal dispositivo MB. Il driver miniport risponde con NdisMedium802_3 per indicare che usa l'emulazione Ethernet.

  3. Il servizio MB invia una richiesta di query sincrona (bloccando) OID_WWAN_DRIVER_CAPS al driver miniport per identificare la versione del modello di driver supportata dal driver miniport. Il conducente miniport risponde con WWAN_VERSION.

  4. Il servizio MB invia una richiesta di query asincrona (non bloccante) OID_WWAN_DEVICE_CAPS al driver miniport per identificare le funzionalità del dispositivo MB. Il conducente miniport risponde con un riconoscimento provvisorio che ha ricevuto la richiesta e in futuro invierà una notifica con le informazioni richieste in futuro.

  5. Il driver miniport invia una notifica NDIS_STATUS_WWAN_DEVICE_CAPS al servizio MB che indica le funzionalità del dispositivo MB supportate dal driver miniport. Ad esempio, se il driver miniport supporta un dispositivo basato su GSM, deve specificare il valore WwanMultidimensionalClassGsm nel membro DeviceCaps.WwanMultidimensionalClass della struttura NDIS_WWAN_DEVICE_CAPS . Se il driver miniport supporta un dispositivo basato su CDMA, deve specificare WwanMultidimensionalClassCdma.

Inizializzazione del dispositivo SIM-Locked con un contesto di User-Defined

Il diagramma seguente illustra lo scenario in cui l'utente immette un PIN SIM e configura manualmente una stringa del nome del punto di accesso. Le etichette in grassetto sono identificatori OID o controllo del flusso transazionale e le etichette nel testo normale sono i flag importanti all'interno della struttura OID.

Diagramma che illustra lo scenario in cui l'utente immette un pin sim e configura manualmente una stringa del nome del punto di accesso.

Per inizializzare un dispositivo basato su GSM con PIN1 bloccato, implementare i passaggi seguenti:

  1. Il servizio MB invia una richiesta di query asincrona (non bloccante OID_WWAN_READY_INFO ) al driver miniport per identificare lo stato pronto del dispositivo. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e che in futuro invierà una notifica con le informazioni richieste.

  2. Il driver miniport invia una notifica di NDIS_STATUS_WWAN_FAILURE al servizio MB per indicare al servizio MB che il modulo di identità del sottoscrittore (SIM) è bloccato.

  3. Il servizio MB invia una richiesta di query asincrona (non bloccante) OID_WWAN_PIN al driver miniport. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e che in futuro invierà una notifica con le informazioni richieste.

  4. Il driver miniport invia una notifica di NDIS_STATUS_WWAN_SUCCESS al servizio MB.

  5. Il servizio MB invia una richiesta asincrona (non bloccante) OID_WWAN_PIN impostata al driver miniport. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e che in futuro invierà una notifica con le informazioni richieste.

  6. Il driver miniport invia una notifica di NDIS_STATUS_WWAN_SUCCESS al servizio MB.

  7. Il driver miniport invia una notifica NDIS_STATUS_WWAN_READY_INFO al servizio MB che indica al servizio MB che lo stato del dispositivo MB è WwanReadyStateInitialized.

  8. Il servizio MB invia una richiesta di query asincrona (non bloccante) OID_WWAN_REGISTER_STATE al driver miniport. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e invierà una notifica con le informazioni richieste in futuro.

  9. Il driver miniport invia una notifica di NDIS_STATUS_WWAN_SUCCESS al servizio MB.

  10. Il driver miniport invia una notifica NDIS_STATUS_WWAN_REGISTER_STATE al servizio MB.

  11. Il servizio MB invia una richiesta di query asincrona (non bloccante) OID_WWAN_HOME_PROVIDER al driver miniport. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e invierà una notifica con le informazioni richieste in futuro.

  12. Il driver miniport invia una notifica di NDIS_STATUS_WWAN_SUCCESS al servizio MB.

  13. Il driver miniport invia una notifica NDIS_STATUS_WWAN_REGISTER_STATE al servizio MB.

  14. Il servizio MB invia una richiesta asincrona (non bloccante) OID_WWAN_PACKET_SERVICE al driver miniport. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e che in futuro invierà una notifica con le informazioni richieste.

  15. Il driver miniport invia una notifica NDIS_STATUS_WWAN_PACKET_SERVICE al servizio MB.

  16. Il servizio MB invia una richiesta di query asincrona (non bloccante) OID_WWAN_PROVISIONED_CONTEXTS al driver miniport. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e invierà una notifica con le informazioni richieste in futuro.

  17. Il driver miniport invia NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS al servizio MB.

  18. Il servizio MB invia una richiesta asincrona (non bloccante) OID_WWAN_PROVISIONED_CONTEXTS impostata al servizio MB. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e invierà una notifica con le informazioni richieste in futuro.

  19. Il driver miniport invia NDIS_STATUS_WWAN_SUCCESS al servizio MB.

Vedere anche

Per altre informazioni sull'idoneità dei dispositivi, vedere OID_WWAN_READY_INFO.

Per altre informazioni sull'inizializzazione del dispositivo con contesti di cui è stato effettuato il provisioning, vedere Mb Provisioned Context Operations.