Compartir a través de


Registro de módem MB con DSS

Nota:

Si planea que su módem admita MBIM_CID_MODEM_LOGGING_CONFIG, proporcione comentarios en esta página para que podamos ayudarle mejor. Este CID es actualmente experimental y aún no se ha probado con un módem, ya que ninguno lo admite.

En este tema se describe una nueva interfaz de registro estándar de banda ancha móvil (MBB) de Windows a través de extensiones de Microsoft a la especificación USB MBIM 1.0, disponible en Windows 10, versión 1903 y posteriores.

Con esta nueva interfaz de registro, el sistema operativo puede informar al dispositivo MBB para iniciar, detener y vaciar los registros en el sistema de archivos del sistema operativo a través de comandos CID de MBIM. Dada la naturaleza no IP de la carga de registro del módem, el canal de datos que usa el servicio MBB para transmitir cargas de registro al sistema operativo usa el flujo de servicio de datos de MBB (DSS). DSS se define en la especificación modelo de interfaz de banda ancha móvil (MBIM) 1.0 .

El sistema operativo abstrae las funcionalidades y configuraciones de diagnóstico del módem en todo el ecosistema de MBB con un conjunto de configuraciones de registro MBB específicas de Windows. Estas configuraciones de registro de MBB permiten al proveedor de un módem asignar los requisitos de registro de MBB del sistema operativo a las configuraciones de registro internas adecuadas. Las configuraciones de registro abstraidas y definidas por el sistema operativo incluyen los niveles de detalle de registro de MBB y el tiempo de vaciado máximo.

Un módem sigue rellenando su búfer de registro, hasta el tamaño máximo del búfer, hasta que se rellena el segmento y el marco MBIM transmite el segmento al sistema operativo, o vacía el contenido de su búfer cuando se alcanza el tiempo máximo de vaciado (incluso si no se rellena el segmento). El sistema operativo define un conjunto de niveles de configuración estándar de registro de MBB de Windows, que se describen más adelante en este tema. Cada nivel de configuración especifica una abstracción del sistema operativo de los detalles y detalles del registro de MBB.

La abstracción del sistema operativo de los niveles de configuración de MBB se asigna a la configuración adecuada del módem interno por módems. El sistema operativo no proporciona ninguna carga de configuración adicional, como filtros de registro o máscaras, a módems distintos del nivel de configuración de MBB del sistema operativo.

En el caso de los módems que admiten el registro MBB, todos los niveles de configuración de registro de MBB excepto MBIMLoggingLevelOem deben estar presentes en todas las variantes BSP. En otras palabras, el IHV o OEM debe admitir los niveles PROD o LAB del registro de MBB tanto en versiones de producción como de I+D del BSP. Los niveles de laboratorio del registro de MBB solo se pueden deshabilitar desde el sistema operativo.

Este nuevo diseño de la interfaz de registro usa el canal de control para establecer los parámetros de registro y usa el canal de datos para recibir registros de módem porque el canal de datos está diseñado para transferir datos de módem masivo. La ventaja de este diseño es que no es necesario transferir datos masivos sobre el canal de control, lo que mantiene el rendimiento del dispositivo coherente. También se escala bien para un mayor rendimiento. El canal de datos está operado por comandos DSS. Un flujo de ejemplo para un módem podría tener este aspecto:

  1. El sistema operativo envía el MBIM_CID_MODEM_LOGGING_CONFIG CID al módem para configurar parámetros de registro como MaxSegmentSize, MaxFlushTime y LoggingLevel.
  2. Una vez que el sistema operativo recibe una respuesta correcta del módem, envía el comando MBIM_CID_DSS_CONNECT DSS al módem con un GUID específico para el registro de módems, el estado MBIMDssLinkActivate y un identificador de sesión de DSS único.
  3. Una vez que recibe un código de estado correcto, el sistema operativo se prepara para recibir fragmentos del módem. Estos fragmentos se denominan paquetes DataServiceSessionRead.
  4. Los paquetes DataServiceSessionRead siguen llegando hasta que el sistema operativo emite otro comando de MBIM_CID_DSS_CONNECT con el mismo identificador de sesión de DSS y un estado MBIMDSSLinkDeactivate.

Una vez que el módem escribe los registros en el canal de datos recién creado, el módem llama a MbbDeviceReceiveDeviceServiceSessionData, los datos de los que está disponible para las aplicaciones a través de la capa de WinRT : MobileBroadbandDeviceService. Los registros del módem deben tener el formato de datos de cadena imprimibles que se pueden redirigir a una sesión ETW.

Ruta de acceso de datos de registro del módem

El registro del módem usa el flujo de servicio de datos de MBIM (DSS) para transferir los datos de las cargas de registro. Para obtener más información sobre DSS, consulte la sección 10.5.38 de la especificación MBIM 1.0.

Al conectarse o desconectarse de DSS, se usa el siguiente GUID para el registro de módems:

GUID Valor
ModemFileTransfer GUID 0EBB1CEB-AF2D-484D-8DF3-53BC51FD162C

En el diagrama de flujo siguiente se muestra el proceso de configuración y desmontaje de DSS.

Diagrama de flujo de configuración y desmontaje del registro del módem DSS.

Extensión de interfaz NDIS

El siguiente OID se ha definido en Windows 10, versión 1903, para admitir el registro de módems.

Valores del servicio MBIM y CID

Nombre del servicio UUID Valor UUID
Extensiones de Conectar ivity de IP básica de Microsoft UUID_BASIC_CONNECT_EXTENSIONS 3d01dcc5-fef5-4d05-9d3a-bef7058e9aaf

En la tabla siguiente se especifica el UUID y el código de comando de cada CID, así como si el CID admite solicitudes Set, Query o Event (notification). Consulte la sección individual de cada CID en este tema para obtener más información sobre sus parámetros, estructuras de datos y notificaciones.

CID UUID Código de comando Set Consultar Notificar
MBIM_CID_MODEM_LOGGING_CONFIG UUID_BASIC_CONNECT_EXTENSIONS TBD Y Y Y

MBIM_CID_MODEM_LOGGING_CONFIG

Este CID se usa para configurar los registros recopilados por el módem y la frecuencia con la que se enviarán desde el módem al host a través de DSS. El registro debe configurarse antes de iniciar una sesión de registro. Dado que este CID forma parte de las extensiones de conexión, es opcional que los IHD admitan este CID. Si un IHV admite el registro de módem a través del canal de datos DSS, debe especificarlo como una funcionalidad. La funcionalidad se puede anunciar mediante el CID de MBIM_BASIC_CID_DEVICE_SERVICES.

Parámetros

Operación Set Consultar Notificación
Get-Help MBIM_MODEM_LOGGING_CONFIG No es aplicable No aplicable
Respuesta MBIM_MODEM_LOGGING_CONFIG MBIM_MODEM_LOGGING_CONFIG MBIM_MODEM_LOGGING_CONFIG

Consultar

Consulta la configuración actual del registro del módem. No se usa InformationBuffer de MBIM_COMMAND_MSG. La siguiente estructura MBIM_MODEM_LOGGING_CONFIG se usa en informationBuffer de MBIM_COMMAND_DONE.

MBIM_MODEM_LOGGING_CONFIG

Contrapartida Size Campo Tipo Descripción
0 4 Versión UINT32 Número de versión de esta estructura. Este campo debe establecerse en 1 para la versión 1 de esta estructura.
4 4 MaxSegmentSize UINT32 Especifica el tamaño del segmento, en kilobytes, para cada fragmento enviado por el módem. Si el tamaño máximo de fragmento admitido por el módem para device Service Command supera el valor establecido, este valor se establece en el tamaño máximo de segmento admitido.
8 4 MaxFlushTime UINT32 El tiempo, en milisegundos, que indica el tiempo máximo que espera el módem antes de enviar un fragmento de registro. Si los registros recopilados no alcanzan MaxSegmentSize dentro de la duración de MaxFlushTime desde el último fragmento de registro enviado, se envía un fragmento de registro independientemente de su tamaño. Si no hay datos de registro, no se envía ninguna notificación. Si el dispositivo no puede controlar tiempos de vaciado más pequeños, el dispositivo devuelve el tiempo que puede controlar en la respuesta. La respuesta a una consulta o un conjunto contiene el valor MaxFlushTime configurado actualmente.
12 4 LevelConfig MBIM_LOGGING_LEVEL_CONFIG Configura el nivel para el que se recopilan los registros. La respuesta a una consulta o un conjunto contiene levelConfig configurado actualmente.

Nota:

Si el módem no puede proporcionar datos de registro al sistema operativo en el maxSegmentSize solicitado y MaxFlushTimer, puede elegir sus propios valores para estos parámetros y actualizar el sistema operativo como una respuesta establecida o un evento no solicitado. El comportamiento del sistema operativo no cambia si MaxSegmentSize o MaxFlushTimer cambian, ya que recibe los paquetes de datos independientemente y los volca en un archivo.

La siguiente enumeración MBIM_LOGGING_LEVEL_CONFIG se usa en la estructura de MBIM_MODEM_LOGGING_CONFIG anterior.

Tipo Valor Descripción
MBIMLoggingLevelProd 0 Diseñado para la recopilación de telemetría de una población comercial o de producción. El registro resultante debe tener un tamaño de cápsula y contener solo información de estado o error de MBB o módem clave.
MBIMLoggingLevelLabVerbose 1 Diseñado para el desarrollo de productos MBB con baja madurez. Captura detallada de pila completa de módems. La captura del módem resultante debe permitir que el IHV reproduzca y recupere completamente la captura durante el registro.
MBIMLoggingLevelLabMedium 2 Diseñado para la verificación y las pruebas de campo de los productos MBB con una madurez y estabilidad relativas. El nivel de detalle y detalle proporciona suficientes puntos de datos para que los ingenieros de IHV evalúen la mayoría de los errores de MBB.
MBIMLoggingLevelLabLow 3 Diseñado para el registro de nivel de autohospedo. Captura de nivel de resumen de módems de captura de pila completa. Permite comprender en el nivel de resaltado el estado del módem y las interacciones del sistema operativo.
MBIMLoggingLevelOem 4 Reservado para el uso interno de OEM e IHV.

Set

Se usa un comando set para establecer para configurar el nivel, el tamaño del segmento y el tiempo máximo de vaciado para el registro del módem. En InformationBuffer se usa una estructura MBIM_MODEM_LOGGING_CONFIG.

Respuesta

InformationBuffer en MBIM_COMMAND_DONE contiene una estructura MBIM_MODEM_LOGGING_CONFIG.

Eventos no solicitados

Los eventos no solicitados se admiten en escenarios en los que el módem necesita informar al sistema operativo sobre los cambios internos. Actualmente, en Windows 10, versión 1903, estos escenarios no se producen.

Códigos de estado

Este CID solo usa códigos de estado genéricos definidos en la sección 9.4.5 de la revisión 1.0 de la especificación MBIM.

Comportamiento de la sesión de DSS durante la inactividad

En la tabla siguiente se describe cómo se comporta la sesión de DSS durante varias fases de inactividad:

Escenario Estado de sesión de DSS
Suspensión del sistema, suspensión de solo módem, restablecimiento y recuperación Sesión de DSS abierta
Apagado del sistema, reinicio, hibernación Sesión de DSS cerrada