Supporto della piattaforma SAR MB

Panoramica

Velocità di assorbimento specifica (SAR) è la capacità di modificare la potenza del trasmettitore radio MBB in reazione alla prossimità dell'antenna MBB all'utente. Tradizionalmente, gli OEM hanno implementato soluzioni proprietarie per sar. Ciò richiede all'OEM di implementare un comando del servizio di dispositivo identificato solo tra il driver in modalità utente (UMDF) e il modem o richiede che i componenti in modalità kernel interagiscano direttamente con il modem. Alcuni OEM possono anche avere una soluzione ibrida in cui dispongono sia di componenti modem UMDF che di modem in modalità kernel. Con l'aumento della consapevolezza delle radiazioni radio, la standardizzazione dell'interfaccia per i componenti software OEM per passare il comando SAR al modem introduce i vantaggi seguenti:

  1. Gli OEM possono passare ai componenti in modalità utente e rendere il sistema più stabile, poiché gli errori in modalità utente non sono irreversibili rispetto alla modalità kernel.
  2. Windows offre un'interfaccia standard della piattaforma e riduce l'implementazione proprietaria dagli OEM.
  3. I servizi nella piattaforma che vogliono sfruttare sar possono recuperare le informazioni dal modem.

A partire da Windows 10 versione 1703, Windows supporta il passaggio dello stato di configurazione SAR e trasmissione modem. Windows continuerà a lasciare la logica di business SAR agli IHD e agli OEM da usare come fattore auto-differenziante, ma fornirà un'interfaccia per semplificare la piattaforma. Sono stati definiti due nuovi ID NDIS e due nuovi CID MBIM per supportare questa interfaccia. I dispositivi che vogliono sfruttare il supporto del sistema operativo devono implementare entrambi i comandi.

Questa funzionalità è supportata aggiungendo due nuovi ID e CID. Per i partner IHV che implementano MBIM, è necessario supportare solo la versione CID.

Nota

Questo argomento definisce l'interfaccia per i partner IHV per implementare il supporto della piattaforma SAR nei driver di dispositivo modem. Per informazioni sulla personalizzazione della tabella di mapping SAR per un dispositivo, vedere Personalizzare una tabella di mapping SAR (Specific Absorb Rate).

Flusso

Diagramma di flusso che illustra l'operazione SAR.

Aggiornamento dell'interfaccia MB per il supporto della piattaforma SAR

Un dispositivo conforme a MBIM implementa e segnala il servizio dispositivo seguente quando viene eseguita una query da CID_MBIM_DEVICE_SERVICES. I servizi noti esistenti sono definiti nella sezione 10.1 della specifica USB NCM MBIM 1.0. Microsoft estende questa opzione per definire il servizio seguente.

Nome servizio = Controllo MICROSOFT SAR

UUID = UUID_MS_SARControl

Valore UUID = 68223D04-9F6C-4E0F-822D-28441FB72340

CID Versione minima del sistema operativo
MBIM_CID_MS_SAR_CONFIG Windows 10 versione 1703
MBIM_CID_MS_TRANSMISSION_STATUS Windows 10 versione 1703

MBIM_CID_MS_SAR_CONFIG

Descrizione

Questo comando imposta o restituisce informazioni sulla modalità e sul livello SAR di un dispositivo MB. Il dispositivo MB deve agire immediatamente sul comando di back off SAR sovrascrivendo i limiti di potenza di trasmissione correnti e applicandoli alle antenne di trasmissione. Se la configurazione SAR di un'antenna non è stata modificata dal sistema operativo, deve mantenere l'impostazione corrente. Ad esempio, se il sistema operativo imposta antenna 1 per essere di nuovo sar off indice 1, la configurazione dell'antenna 2 deve essere mantenuta invariata senza modifiche.

È previsto che i dispositivi che supportano questo comando implementino Query in modo che forniscano informazioni sul dispositivo al sistema operativo e ai relativi client. Per il comando Set, è compreso tra L'IHV e l'OEM per definire il valore di ogni campo è accettabile. L'aspettativa tipica è che l'indice SAR back off sia configurabile per tutte le antenne come baseline minima. Se viene inviata una richiesta Set con campi non supportati dal dispositivo, MBIM_STATUS_INVALID_PARAMETERS deve essere restituito come codice di stato.

Dopo ogni risposta Query o Imposta, il modem deve restituire una struttura MBIM_MS_SAR_CONFIG che contiene informazioni per tutte le antenne nel dispositivo associato a Mobile Broadband.

Query

InformationBuffer in MBIM_COMMAND_MSG non viene utilizzato. MBIM_MS_SAR_CONFIG viene restituito in InformationBuffer di MBIM_COMMAND_DONE.

Set

InformationBuffer in MBIM_COMMAND_MSG contiene un MBIM_MS_SAR_CONFIG. MBIM_MS_SAR_CONFIG viene restituito in InformationBuffer di MBIM_COMMAND_DONE.

Eventi non richiesti

Non applicabile.

Parametri

Operazione Set Query Notifica
Comando MBIM_MS_SET_SAR_CONFIG Non applicabile Non applicabile
Risposta MBIM_MS_SAR_CONFIG MBIM_MS_SAR_CONFIG Non applicabile

strutture di dati

Query

InformationBuffer deve essere NULL e InformationBufferLength sarà zero.

Set

La struttura di MBIM_MS_SET_SAR_CONFIG seguente deve essere utilizzata in InformationBuffer.

Offset Dimensione Campo Tipo Descrizione
0 4 SARMode MBIM_MS_SAR_CONTROL_MODE Per altre informazioni, vedere la tabella MBIM_MS_SAR_CONTROL_MODE.
4 4 SARBackOffStatus MBIM_MS_SAR_BACKOFF_STATE Per altre informazioni, vedere la tabella MBIM_MS_SAR_BACKOFF_STATE. Se MBIM_MS_SAR_CONTROL_MODE è impostato come controllato dal dispositivo, il sistema operativo non sarà in grado di impostare questo campo.
8 4 ElementCount (EC) UINT32 Numero di strutture MBIM_MS_SAR_CONFIG che seguono in DataBuffer.
12 8 * EC SARConfigStatusRefList OL_PAIR_LIST Il primo elemento della coppia è un offset a 4 byte, calcolato dall'inizio (offset 0) di questa struttura MBIM_MS_SET_SAR_CONFIG, a una struttura MBIM_MS_SAR_CONFIG_STATE. Per altre informazioni, vedere la tabella MBIM_MS_SAR_CONFIG_STATE. Il secondo elemento della coppia è una dimensione a 4 byte di un puntatore alla struttura di MBIM_MS_SAR_CONFIG_STATE corrispondente.
12 + (8 * EC) DataBuffer DATABUFFER Matrice di strutture MBIM_MS_SAR_CONFIG_STATE.

Le strutture seguenti vengono usate nella tabella precedente.

MBIM_MS_SAR_CONTROL_MODE specifica il modo in cui il meccanismo di back off sar è controllato.

Type valore Descrizione
MBIMMsSARControlModeDevice 0 Il meccanismo di back off sar è controllato direttamente dal dispositivo modem.
MBIMMsSARControlModeOS 1 Il meccanismo di back off sar è controllato e gestito dal sistema operativo.

MBIM_MS_SAR_BACKOFF_STATE descrive lo stato della SAR.

Type valore Descrizione
MBIMMsSARBackOffStatusDisabled 0 Il ripristino sar è disabilitato nel modem.
MBIMMsSARBackOffStatusEnabled 1 Il back-off sar è abilitato nel modem.

MBIM_MS_SAR_CONFIG_STATE descrive gli stati possibili per il backoff sar per le antenne.

Offset Dimensione Campo Tipo Descrizione
0 4 SARAntennaIndex UINT32 Indice di antenna che corrisponde al campo SARBackOffIndex in questa tabella. Corrisponde al numero di antenna e viene lasciato all'implementazione OEM per indicizzare ogni antenna nel dispositivo. Qualsiasi indice è valido per questo valore. Se questo valore è impostato su 0xFFFFFFFF in un comando Set , è necessario applicare SARBackOffIndex a tutte le antenna. Se questo valore è impostato su 0xFFFFFFFF in risposta, indica che SARBackOffIndex viene applicato a tutte le antenna.
4 4 SARBAckOffIndex UINT32 Indice di back off che corrisponde alla tabella back-off definita dal fornitore OEM o modem. La tabella include singole bande e parametri di back off associati.

Risposta

La struttura di MBIM_MS_SAR_CONFIG seguente deve essere usata in InformationBuffer. MBIM_MS_SAR_CONFIG specifica la configurazione per LA SAR.

Offset Dimensione Campo Tipo Descrizione
0 4 SARMode MBIM_MS_SAR_MODE Per altre informazioni, vedere la tabella MBIM_MS_SAR_CONTROL_MODE.
4 4 SARBackOffStatus MBIM_MS_SAR_BACKOFF_STATE Per altre informazioni, vedere la tabella MBIM_MS_SAR_BACKOFF_STATE.
8 4 SARWifiIntegration MBIM_MS_SAR_ WIFI_HARDWARE_INTEGRATION Per altre informazioni, vedere la tabella MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION. Ciò implica che la Wi-Fi del dispositivo e la SAR cellulare sia integrata a livello hardware e il dispositivo regola automaticamente il controllo SAR per entrambe le radio.
12 4 ElementCount (EC) UINT32 Conteggio delle strutture MBIM_MS_SAR_CONFIG_STATE che seguono in DataBuffer.
16 8 * EC SARConfigStatusRefList OL_PAIR_LIST Il primo elemento della coppia è un offset di 4 byte, calcolato dall'inizio (offset 0) di questa struttura MBIM_MS_SAR_CONFIG, a una struttura MBIM_MS_SAR_CONFIG_STATE. Per altre informazioni, vedere la tabella MBIM_MS_SAR_CONFIG_STATE. Il secondo elemento della coppia è una dimensione di 4 byte di un puntatore alla struttura MBIM_MS_SAR_CONFIG_STATE corrispondente.
16 + (8 * EC) DataBuffer DATABUFFER Matrice di strutture MBIM_MS_SAR_CONFIG_STATE.

La struttura di MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION seguente viene usata nella tabella precedente. Specifica se Wi-Fi e Cellulare sono integrati a livello hardware.

Type valore Descrizione
MBIMMsSARWifiHardwareIntegrated 0 Wi-Fi e il modem cellulare SAR è integrato nel dispositivo.
MBIMMsSARWifiHardwareNotIntegrated 1 Wi-Fi e modem cellulare non è integrato nel dispositivo.

Notifica

Non applicabile.

Codici di stato

Codice di errore Descrizione
MBIM_STATUS_SUCCESS La richiesta è stata elaborata correttamente.
MBIM_STATUS_BUSY Il dispositivo è attualmente occupato.
MBIM_STATUS_FAILURE Richiesta non riuscita.
MBIM_STATUS_NO_DEVICE_SUPPORT Il dispositivo non supporta questo comando.
MBIM_STATUS_INVALID_PARAMETERS L'operazione non è riuscita a causa di parametri non validi.
MBIM_STATUS_OPERATION_NOT_ALLOWED L'operazione non è riuscita perché l'operazione non è consentita.

MBIM_CID_MS_TRANSMISSION_STATUS

Descrizione

Questo comando viene usato per abilitare o disabilitare la notifica dal modem sullo stato di trasmissione. Si tratta di un comando per executor perché ogni executor può avere uno stato di trasmissione del canale diverso. Ad esempio, un modem dual SIM potrebbe avere uno su LTE e l'altro su GSM. Allo stesso tempo, può essere utilizzato per fornire lo stato di trasmissione del modem. Questa notifica può essere utilizzata per i client interessati alla trasmissione o meno dei dati da parte del modem. Il modem deve fornire una notifica ogni volta che si verifica un inizio o una fine del traffico TX. Se il ciclo di servizio è troppo piccolo e non può essere fornito in tempo reale all'host, lo stato TX può essere mantenuto attivo per un periodo di tempo impostato con un timer di isteresi prima di inviare un aggiornamento dello stato. Ad esempio, potrebbe esserci un breve burst di TX e il modem non è riuscito a fornire la notifica di inizio e fine nel tempo. Il modem deve inviare una notifica all'avvio del traffico TX e deve continuare a monitorare il traffico TX durante il timer di isteresi. Se non è stato generato più traffico TX entro l'intervallo di tempo del timer, dovrebbe segnalare che il traffico TX è terminato.

Ciò è molto utile negli scenari in cui sono connessi sia Wi-Fi che LTE. Se sia LTE che Wi-Fi sono in stato di trasmissione e la prossimità è stata rilevata, potrebbe essere necessario Wi-Fi back off. Se l'LTE non è in stato di trasmissione ma Wi-Fi è , è possibile che non sia necessario Wi-Fi back off. Questo vale per gli scenari generali di connessione Wi-Fi/LTE e hot spot per dispositivi mobili.

Il Wi-Fi meccanismo di back off e il comando non rientrano nell'ambito di questa specifica.

Gli OEM che usano questo comando devono essere consapevoli del potenziale impatto sull'alimentazione perché il modem potrebbe inviare notifiche correlate alla trasmissione in qualsiasi momento, inclusi gli stati di alimentazione ridotti. Il sistema operativo, per impostazione predefinita, non consentirà a questa notifica di attivare l'API durante lo standby moderno per migliorare le prestazioni di alimentazione.

Query

InformationBuffer in MBIM_COMMAND_MSG non viene utilizzato. MBIM_MS_TRANSMISSION_STATUS_INFO viene restituito in InformationBuffer di MBIM_COMMAND_DONE.

Set

InformationBuffer in MBIM_COMMAND_MSG contiene MBIM_MS_SET_TRANSMISSION_STATUS. MBIM_MS_TRANSMISSION_STATUS_INFO viene restituito in InformationBuffer di MBIM_COMMAND_DONE.

Eventi non richiesti

Gli eventi non richiesti contengono MBIM_MS_TRANSMISSION_STATUS_INFO e vengono inviati quando viene apportata una modifica ai canali OTA (Over-the-Air) attivi. Ad esempio, se un modem ha iniziato a caricare i dati dei pacchetti, sarebbe necessario configurare canali uplink quando usa il canale dati di rete in modo che possa caricare i payload. In questo modo viene attivata la notifica da fornire al sistema operativo.

Parametri

Operazione Set Query Notifica
Comando MBIM_MS_SET_TRANSMISSION_STATUS Non applicabile Non applicabile
Risposta MBIM_MS_TRANSMISSION_STATUS_INFO MBIM_MS_TRANSMISSION_STATUS_INFO MBIM_MS_TRANSMISSION_STATUS_INFO

strutture di dati

Query

InformationBuffer in MBIM_COMMAND_MSG non viene utilizzato. MBIM_MS_TRANSMISSION_STATUS_INFO viene restituito in InformationBuffer di MBIM_COMMAND_DONE.

Set

La struttura di MBIM_MS_SET_TRANSMISSION_STATUS seguente deve essere utilizzata in InformationBuffer.

Offset Dimensione Campo Tipo Descrizione
0 4 ChannelNotification MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION Per altre informazioni, vedere la tabella MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION.
4 4 IsteesisTimer UINT32 Indicatore hysteresis utilizzato dal modem per determinare quando inviare MBIMMsTransmissionStateInactive all'host. Questo valore è il timer che il modem vede come un'attività di no-trasmissione continua prima che invii un indicatore OFF all'host. Questo timer deve essere impostato in secondi, compreso tra 1 secondo e 5 secondi.

Nella tabella precedente viene utilizzata la struttura di MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION seguente. Specifica se la trasmissione del canale modem è disabilitata o abilitata.

Type valore Descrizione
MBIMMsTransmissionNotificationDisabled 0 Notifica di stato della trasmissione del canale modem disabilitata.
MBIMMsTransmissionNotificationEnabled 1 Notifica di stato di trasmissione del canale modem abilitata.

Risposta

Per la risposta viene usata la struttura di MBIM_MS_TRANSMISSION_STATUS_INFO seguente.

Offset Dimensione Campo Tipo Descrizione
0 4 ChannelNotification MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION Per altre informazioni, vedere la tabella MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION.
4 4 TransmissionStatus MBIM_MS_TRANSMISSION_STATUS Per altre informazioni, vedere la tabella MBIM_MS_TRANSMISSION_STATUS. Indica se il modem ha traffico TX ogni 5 secondi.
8 4 IsteesisTimer UINT32 Indicatore hysteresis utilizzato dal modem per determinare quando inviare MBIMMsTransmissionStateInactive all'host. Questo valore è il timer che il modem vede come un'attività di no-trasmissione continua prima che invii un indicatore OFF all'host. Questo timer deve essere impostato in secondi, compreso tra 1 secondo e 5 secondi.

Nella tabella precedente viene utilizzata la struttura di MBIM_MS_TRANSMISSION_STATUS seguente. Indica se il modem ha traffico TX ogni 5 secondi.

Type valore Descrizione
MBIMMsTransmissionStateInactive 0 Il modem non trasmetteva attivamente i dati senza alcuna perdita continua di trasmissione per l'ultimo valore HysteresisTimer.
MBIMMsTransmissionStateActive 1 Il modem trasmetteva attivamente i dati.

Notifica

Per altre informazioni, vedere la tabella MBIM_MS_TRANSMISSION_STATUS_INFO.

Codici di stato

Codice di errore Descrizione
MBIM_STATUS_SUCCESS La richiesta è stata elaborata correttamente.
MBIM_STATUS_BUSY Il dispositivo è attualmente occupato.
MBIM_STATUS_FAILURE Richiesta non riuscita.
MBIM_STATUS_NO_DEVICE_SUPPORT Il dispositivo non supporta questo comando.
MBIM_STATUS_INVALID_PARAMETERS L'operazione non è riuscita a causa di parametri non validi.
MBIM_STATUS_OPERATION_NOT_ALLOWED L'operazione non è riuscita perché l'operazione non è consentita.

Test di Hardware Lab Kit (HLK)

Vedere Passaggi per l'installazione di HLK.

In HLK Studio connettersi al driver modem cellulare del dispositivo ed eseguire il test: Win6_4.MB. GSM. Data.TestSAR.

Questo test contiene i test seguenti:

Nome test Descrizione
QuerySarConfig Questo test verifica che il test possa eseguire correttamente query sulle configurazioni SAR.
SetSarConfig Questo test verifica che il test possa impostare correttamente le configurazioni SAR.
QuerySarTransmissionStatus Questo test verifica che il test possa eseguire correttamente una query sullo stato di trasmissione SAR.
SetSarTransmissionStatus Questo test verifica che il test possa impostare correttamente lo stato di trasmissione SAR.

WinRT API

MobileBroadbandSarManager

Analisi dei log

I log possono essere raccolti e decodificati seguendo queste istruzioni: MB Raccolta di log.

Provider importanti e parole chiave corrispondenti

Microsoft-Windows-WWAN-SVC-EVENTS (3cb40aaa-1145-4fb8-b27b-7e30f0454316)

Parole chiave per il filtro:

  1. SarConfig
  2. CWwanSar::OnNdisNotification
  3. LoadSemiStaticOEMSARTable
  4. AttemptAutoConfigureSAR
  5. PreCheckSemiStaticOEMSARTable
  6. WwanIntfOpcodeSarConfig
  7. WwanIntfOpcodeSarTransmissionStatus
  8. WwanMsmEventTypeSarConfig
  9. WwanMsmEventTypeSarTransmissionStatus

MobileBroadband WinRT WPP (56dd9c57-06cc-48ba-b123-876a6495ba13)

Parole chiave per il filtro: MobileBroadbandSarManager

WwanProtDIM (3a07e1ba-3a6b-49bf-8056-c105b54ddd7fb)

Parole chiave per il filtro:

  1. NDIS_WWAN_SAR_CONFIG_INFO
  2. SarMode
  3. NDIS_WWAN_SAR_TRANSMISSION_STATUS_INFO
  4. IsteesisTimer

Vedere anche

Personalizzare una tabella di mapping SAR (Specific Absorb Rate)