Compatibilidad con la plataforma MB SAR
Introducción
Velocidad de absorción específica (SAR) es la capacidad de cambiar la potencia del transmisor de radio MBB en reacción a la proximidad de la antena MBB al usuario. Tradicionalmente, los OEM han implementado soluciones propietarias para SAR. Esto requiere que el OEM implemente un comando de servicio de dispositivo que solo se identifique entre su controlador de modo de usuario (UMDF) y el módem o requiere componentes de modo kernel para interactuar directamente con el módem. Algunos OEM incluso pueden tener una solución híbrida en la que tienen componentes UMDF-modem y kernel-modem. A medida que aumenta el reconocimiento de radiación radiológica, la estandarización de la interfaz de los componentes de software OEM para pasar por el comando SAR al módem presenta las siguientes ventajas:
- Los OEM pueden moverse hacia los componentes del modo de usuario y hacen que el sistema sea más estable, ya que los errores en el modo de usuario no son irrecuperables para el sistema en comparación con el modo kernel.
- Windows proporciona una interfaz estándar de plataforma y reduce la implementación propietaria de los OEM.
- Los servicios de la plataforma que quieren aprovechar sar pueden recuperar la información del módem.
A partir de Windows 10, versión 1703, Windows admite el paso a través de la configuración de SAR y el estado de transmisión del módem. Windows seguirá dejando la lógica de negocios de SAR en IHD y OEM para usarlos como factor auto diferenciador, pero proporcionará una interfaz para simplificar la plataforma. Se han definido dos nuevos NDIS OID y dos nuevos CID de MBIM para admitir esta interfaz. Los dispositivos que quieran aprovechar la compatibilidad con el sistema operativo deben implementar ambos comandos.
Esta característica es compatible con la adición de dos nuevos IDENTIFICADORes y CID. En el caso de los asociados de IHV que implementan MBIM, solo es necesario admitir la versión cid.
Nota:
En este tema se define la interfaz para que los asociados de IHV implementen la compatibilidad con la plataforma SAR en sus controladores de dispositivos de módem. Si busca información sobre cómo personalizar la tabla de asignación de SAR para un dispositivo, consulte Personalización de una tabla de asignación de tasa de absorción específica (SAR).
Flujo
MB Interface Update for SAR Platform Support
Un dispositivo compatible con MBIM implementa e informa del siguiente servicio de dispositivo cuando CID_MBIM_DEVICE_SERVICES consulta. Los servicios conocidos existentes se definen en la sección 10.1 de la especificación USB NCM MBIM 1.0. Microsoft lo amplía para definir el siguiente servicio.
Nombre del servicio = Control DE SAR de Microsoft
UUID = UUID_MS_SARControl
Valor UUID = 68223D04-9F6C-4E0F-822D-28441FB72340
CID | Versión mínima del sistema operativo |
---|---|
MBIM_CID_MS_SAR_CONFIG | Windows 10, versión 1703 |
MBIM_CID_MS_TRANSMISSION_STATUS | Windows 10, versión 1703 |
MBIM_CID_MS_SAR_CONFIG
Descripción
Este comando establece o devuelve información sobre el modo y el nivel de retroceso del SAR de un dispositivo MB. El dispositivo MB debe actuar en el comando de retroceso del SAR inmediatamente sobrescribiendo los límites de energía de transmisión actuales y aplicándolos a las antenas de transmisión. Si el sistema operativo no cambió la configuración sar de una antena, debe mantener su configuración actual. Por ejemplo, si el sistema operativo establece la antena 1 para que SAR vuelva al índice 1, la configuración de la antena 2 debe mantenerse igual sin cambios.
Se espera que los dispositivos que admitan este comando implementen Query para que proporcionen información del dispositivo al sistema operativo y a sus clientes. Para el comando Set, se encuentra entre el IHV y el OEM para definir qué valor de cada campo es aceptable. La expectativa típica es que el índice de retroceso de SAR sea configurable para todas las antenas como base de referencia mínima. Si se envía una solicitud Set con campos que no son compatibles con el dispositivo, se debe devolver MBIM_STATUS_INVALID_PARAMETERS como código de estado.
Después de cada consulta o respuesta set, el módem debe devolver una estructura de MBIM_MS_SAR_CONFIG que contiene información para todas las antenas del dispositivo asociado a banda ancha móvil.
Consultar
No se usa InformationBuffer en MBIM_COMMAND_MSG. MBIM_MS_SAR_CONFIG se devuelve en informationBuffer de MBIM_COMMAND_DONE.
Set
InformationBuffer en MBIM_COMMAND_MSG contiene un MBIM_MS_SAR_CONFIG. MBIM_MS_SAR_CONFIG se devuelve en informationBuffer de MBIM_COMMAND_DONE.
Eventos no solicitados
No es aplicable.
Parámetros
Operación | Set | Consultar | notificación |
---|---|---|---|
Get-Help | MBIM_MS_SET_SAR_CONFIG | No aplicable | No aplicable |
Response | MBIM_MS_SAR_CONFIG | MBIM_MS_SAR_CONFIG | No aplicable |
Estructuras de datos
Consultar
InformationBuffer será NULL y InformationBufferLength será cero.
Set
La estructura de MBIM_MS_SET_SAR_CONFIG siguiente se usará en informationBuffer.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | SARMode | MBIM_MS_SAR_CONTROL_MODE | Para obtener más información, consulte la tabla MBIM_MS_SAR_CONTROL_MODE. |
4 | 4 | SARBackOffStatus | MBIM_MS_SAR_BACKOFF_STATE | Para obtener más información, consulte la tabla MBIM_MS_SAR_BACKOFF_STATE. Si MBIM_MS_SAR_CONTROL_MODE se establece en controlado por el dispositivo, el sistema operativo no podrá establecer este campo. |
8 | 4 | ElementCount (EC) | UINT32 | Recuento de estructuras de MBIM_MS_SAR_CONFIG que siguen en DataBuffer. |
12 | 8 * CE | SARConfigStatusRefList | OL_PAIR_LIST | El primer elemento del par es un desplazamiento de 4 bytes, calculado desde el principio (desplazamiento 0) de esta estructura de MBIM_MS_SET_SAR_CONFIG, hasta una estructura MBIM_MS_SAR_CONFIG_STATE. Para obtener más información, consulte la tabla MBIM_MS_SAR_CONFIG_STATE. El segundo elemento del par es un tamaño de 4 bytes de un puntero a la estructura MBIM_MS_SAR_CONFIG_STATE correspondiente. |
12 + (8 * CE) | DataBuffer | DATABUFFER | Matriz de estructuras de MBIM_MS_SAR_CONFIG_STATE. |
Las estructuras siguientes se usan en la tabla anterior.
MBIM_MS_SAR_CONTROL_MODE especifica cómo se controla el mecanismo de retroceso del SAR.
Tipo | Value | Descripción |
---|---|---|
MBIMMsSARControlModeDevice | 0 | El mecanismo de retroceso de SAR se controla directamente mediante el dispositivo módem. |
MBIMMsSARControlModeOS | 1 | El mecanismo de retroceso de SAR está controlado y administrado por el sistema operativo. |
MBIM_MS_SAR_BACKOFF_STATE describe el estado del SAR de vuelta.
Tipo | Value | Descripción |
---|---|---|
MBIMMsSARBackOffStatusDisabled | 0 | El retroceso de SAR está deshabilitado en el módem. |
MBIMMsSARBackOffStatusEnabled | 1 | El retroceso de SAR está habilitado en el módem. |
MBIM_MS_SAR_CONFIG_STATE describe los posibles estados de retroceso de SAR para las antenas.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | SARAntennaIndex | UINT32 | Índice de antena que corresponde al campo SARBackOffIndex de esta tabla. Corresponde al número de antena y se deja a la implementación oem para indexar cada antena en el dispositivo. Cualquier índice es válido para este valor. Si este valor se establece en 0xFFFFFFFF en un comando Set , el SARBackOffIndex debe aplicarse a todas las antenas. Si este valor se establece en 0xFFFFFFFF en respuesta, indica que SARBackOffIndex se aplica a todas las antenas. |
4 | 4 | SARBAckOffIndex | UINT32 | Índice de retroceso que corresponde a la tabla de retroceso definida por el proveedor de OEM o módem. La tabla tiene bandas individuales y parámetros de retroceso asociados. |
Response
La estructura de MBIM_MS_SAR_CONFIG siguiente se usará en informationBuffer. MBIM_MS_SAR_CONFIG especifica la configuración de SAR.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | SARMode | MBIM_MS_SAR_MODE | Para obtener más información, consulte la tabla MBIM_MS_SAR_CONTROL_MODE. |
4 | 4 | SARBackOffStatus | MBIM_MS_SAR_BACKOFF_STATE | Para obtener más información, consulte la tabla MBIM_MS_SAR_BACKOFF_STATE. |
8 | 4 | SARWifiIntegration | MBIM_MS_SAR_ WIFI_HARDWARE_INTEGRATION | Para obtener más información, consulte la tabla MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION. Esto implica que el Wi-Fi del dispositivo y el SAR móvil se integran en la capa de hardware y el dispositivo ajustará automáticamente el control SAR para ambas radios. |
12 | 4 | ElementCount (EC) | UINT32 | Recuento de MBIM_MS_SAR_CONFIG_STATE estructuras que siguen en DataBuffer. |
16 | 8 * CE | SARConfigStatusRefList | OL_PAIR_LIST | El primer elemento del par es un desplazamiento de 4 bytes, calculado desde el principio (desplazamiento 0) de esta estructura de MBIM_MS_SAR_CONFIG hasta una estructura de MBIM_MS_SAR_CONFIG_STATE. Para obtener más información, consulte la tabla MBIM_MS_SAR_CONFIG_STATE. El segundo elemento del par es un tamaño de 4 bytes de un puntero a la estructura MBIM_MS_SAR_CONFIG_STATE correspondiente. |
16 + (8 * CE) | DataBuffer | DATABUFFER | Matriz de estructuras de MBIM_MS_SAR_CONFIG_STATE. |
En la tabla anterior se usa la siguiente estructura MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION. Especifica si Wi-Fi y Cellular están integrados en el nivel de hardware.
Tipo | Value | Descripción |
---|---|---|
MBIMMsSARWifiHardwareIntegrated | 0 | Wi-Fi y el módem móvil SAR están integrados en el dispositivo. |
MBIMMsSARWifiHardwareNotIntegrated | 1 | Wi-Fi y el módem móvil SAR no están integrados en el dispositivo. |
notificación
No es aplicable.
Códigos de estado
Código de error | Descripción |
---|---|
MBIM_STATUS_SUCCESS | La solicitud se procesó correctamente. |
MBIM_STATUS_BUSY | El dispositivo está ocupado actualmente. |
MBIM_STATUS_FAILURE | Error en la solicitud. |
MBIM_STATUS_NO_DEVICE_SUPPORT | El dispositivo no admite este comando. |
MBIM_STATUS_INVALID_PARAMETERS | Error en la operación debido a parámetros no válidos. |
MBIM_STATUS_OPERATION_NOT_ALLOWED | Error en la operación porque no se permite la operación. |
MBIM_CID_MS_TRANSMISSION_STATUS
Descripción
Este comando se usa para habilitar o deshabilitar la notificación del módem en estado de transmisión. Es un comando por ejecutor, ya que cada ejecutor puede tener un estado de transmisión de canal diferente. Por ejemplo, un módem SIM dual podría tener uno en LTE y el otro en GSM. Al mismo tiempo, se puede usar para proporcionar el estado de transmisión del módem. Esta notificación podría usarse para los clientes que están interesados en si el módem transmite datos o no. El módem debe proporcionar una notificación cada vez que haya un inicio o un final del tráfico TX. Si el ciclo de trabajo es demasiado pequeño y no se puede proporcionar en tiempo real al host, el estado TX se puede mantener como activo para un tiempo establecido con un temporizador de hissteresis antes de enviar una actualización del estado. Por ejemplo, podría ser que hubo una breve ráfaga de TX y el módem no pudo proporcionar la notificación de inicio y finalización en el tiempo. El módem debe enviar una notificación cuando se inicia el tráfico TX y debe seguir supervisando su tráfico TX durante el temporizador de histéresis. Si no se generó más tráfico TX dentro del período de tiempo del temporizador, debe informar de que el tráfico TX ha finalizado.
Esto es muy útil en escenarios en los que se conectan tanto Wi-Fi como LTE. Si se detectó tanto LTE como Wi-Fi en un estado de transmisión y se detectó la proximidad, es posible que se requiera Wi-Fi retroceso. Si LTE no está en estado de transmisión, pero Wi-Fi es, es posible que no se requiera Wi-Fi retroceso. Esto se aplica a escenarios generales de conexión Wi-Fi/LTE y de acceso frecuente móvil.
El Wi-Fi el mecanismo y el comando están fuera del ámbito de esta especificación.
Los OEM que usan este comando deben tener en cuenta el posible impacto en la potencia, ya que el módem puede enviar notificaciones relacionadas con la transmisión en todo momento, incluidos los estados de energía reducidos. El sistema operativo, de forma predeterminada, no permitirá que esta notificación desencienda el AP durante el modo de espera moderno para mejorar el rendimiento de energía.
Consultar
No se usa InformationBuffer en MBIM_COMMAND_MSG. MBIM_MS_TRANSMISSION_STATUS_INFO se devuelve en informationBuffer de MBIM_COMMAND_DONE.
Set
InformationBuffer de MBIM_COMMAND_MSG contiene MBIM_MS_SET_TRANSMISSION_STATUS. MBIM_MS_TRANSMISSION_STATUS_INFO se devuelve en informationBuffer de MBIM_COMMAND_DONE.
Eventos no solicitados
Los eventos no solicitados contienen MBIM_MS_TRANSMISSION_STATUS_INFO y se envían cuando hay un cambio en los canales activos por vía inalámbrica (OTA). Por ejemplo, si un módem comenzó a cargar datos de paquetes, sería necesario configurar canales de vínculo superior cuando usa el canal de datos de red para que pueda cargar cargas. Esto desencadenaría la notificación que se proporcionará al sistema operativo.
Parámetros
Operación | Set | Consultar | notificación |
---|---|---|---|
Get-Help | MBIM_MS_SET_TRANSMISSION_STATUS | No aplicable | No aplicable |
Response | MBIM_MS_TRANSMISSION_STATUS_INFO | MBIM_MS_TRANSMISSION_STATUS_INFO | MBIM_MS_TRANSMISSION_STATUS_INFO |
Estructuras de datos
Consultar
No se usa InformationBuffer en MBIM_COMMAND_MSG. MBIM_MS_TRANSMISSION_STATUS_INFO se devuelve en informationBuffer de MBIM_COMMAND_DONE.
Set
La estructura de MBIM_MS_SET_TRANSMISSION_STATUS siguiente se usará en informationBuffer.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | ChannelNotification | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | Para obtener más información, consulte la tabla MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION. |
4 | 4 | HysteresisTimer | UINT32 | Indicador de hissteresis utilizado por el módem para determinar cuándo enviar MBIMMsTransmissionStateInactive al host. Este valor es el temporizador que el módem ve como una actividad continua sin transmisión antes de enviar un indicador OFF al host. Este temporizador debe establecerse en segundos, que va de 1 segundo a 5 segundos. |
La siguiente estructura de MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION se usa en la tabla anterior. Especifica si la transmisión del canal de módem está deshabilitada o habilitada.
Tipo | Valor | Descripción |
---|---|---|
MBIMMsTransmissionNotificationDisabled | 0 | Notificación de estado de transmisión del canal de módem deshabilitada. |
MBIMMsTransmissionNotificationEnabled | 1 | Notificación de estado de transmisión del canal de módem habilitada. |
Response
La siguiente estructura MBIM_MS_TRANSMISSION_STATUS_INFO se usa para la respuesta.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | ChannelNotification | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | Para obtener más información, consulte la tabla MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION. |
4 | 4 | TransmissionStatus | MBIM_MS_TRANSMISSION_STATUS | Para obtener más información, consulte la tabla MBIM_MS_TRANSMISSION_STATUS. Esto indica si el módem tiene tráfico TX cada 5 segundos. |
8 | 4 | HysteresisTimer | UINT32 | Indicador de hissteresis que usa el módem para determinar cuándo enviar MBIMMsTransmissionStateInactive al host. Este valor es el temporizador que el módem ve como una actividad continua sin transmisión antes de enviar un indicador OFF al host. Este temporizador debe establecerse en segundos, que va de 1 segundo a 5 segundos. |
En la tabla anterior se usa la siguiente estructura de MBIM_MS_TRANSMISSION_STATUS. Indica si el módem tiene tráfico TX cada 5 segundos.
Tipo | Value | Descripción |
---|---|---|
MBIMMsTransmissionStateInactive | 0 | El módem no transmitía activamente los datos sin ningún error continuo de transmisión para el último valor de HysteresisTimer. |
MBIMMsTransmissionStateActive | 1 | El módem estaba transmitiendo datos activamente. |
notificación
Para obtener más información, consulte la tabla MBIM_MS_TRANSMISSION_STATUS_INFO.
Códigos de estado
Código de error | Descripción |
---|---|
MBIM_STATUS_SUCCESS | La solicitud se procesó correctamente. |
MBIM_STATUS_BUSY | El dispositivo está ocupado actualmente. |
MBIM_STATUS_FAILURE | Error en la solicitud. |
MBIM_STATUS_NO_DEVICE_SUPPORT | El dispositivo no admite este comando. |
MBIM_STATUS_INVALID_PARAMETERS | Error en la operación debido a parámetros no válidos. |
MBIM_STATUS_OPERATION_NOT_ALLOWED | Error en la operación porque no se permite la operación. |
Pruebas del kit de laboratorio de hardware (HLK)
Consulte Pasos para instalar HLK.
En HLK Studio, conéctese al controlador del módem móvil del dispositivo y ejecute la prueba: Win6_4.MB. GSM. Data.TestSAR.
Esta prueba contiene las siguientes pruebas:
Nombre de la prueba | Descripción |
---|---|
QuerySarConfig | Esta prueba comprueba que la prueba puede consultar correctamente las configuraciones de SAR. |
SetSarConfig | Esta prueba comprueba que la prueba puede establecer correctamente configuraciones de SAR. |
QuerySarTransmissionStatus | Esta prueba comprueba que la prueba puede consultar correctamente el estado de transmisión de SAR. |
SetSarTransmissionStatus | Esta prueba comprueba que la prueba puede establecer correctamente el estado de transmisión de SAR. |
WinRT API
Análisis de registro
Los registros se pueden recopilar y descodificar mediante estas instrucciones: MB Collecting Logs.
Proveedores importantes y palabras clave correspondientes
Microsoft-Windows-WWAN-SVC-EVENTS (3cb40a-1145-4fb8-b27b-7e30f0454316)
Palabras clave para filtrar:
- SarConfig
- CWwanSar::OnNdisNotification
- LoadSemiStaticOEMSARTable
- AttemptAutoConfigureSAR
- PreChecksemiStaticOEMSARTable
- WwanIntfOpcodeSarConfig
- WwanIntfOpcodeSarTransmissionStatus
- WwanMsmEventTypeSarConfig
- WwanMsmEventTypeSarTransmissionStatus
MobileBroadband WinRT WPP (56dd9c57-06cc-48ba-b123-876a6495ba13)
Palabras clave para filtrar: MobileBroadbandSarManager
WwanProtDIM (3a07e1ba-3a6b-49bf-8056-c105b54dd7fb)
Palabras clave para filtrar:
- NDIS_WWAN_SAR_CONFIG_INFO
- SarMode
- NDIS_WWAN_SAR_TRANSMISSION_STATUS_INFO
- HysteresisTimer
Consulte también
Personalización de una tabla de asignación de tasa de absorción específica (SAR)