Compartir a través de


Pila de controladores de MB, suspensión y reanudación

Información general

Microsoft proporciona un controlador de clase de bandeja de entrada para dispositivos de banda ancha móvil (MBB) denominado controlador de clase de banda ancha móvil (MBCD). Este controlador se basa en la especificación modelo de interfaz de banda ancha móvil (MBIM), que es una interfaz para dispositivos MBB (también conocidos como módems) para comunicarse con Windows. La especificación MBIM se basa en USB. MBCD proporciona compatibilidad con módems USB y módems que emulan USB a través de una tecnología denominada emulación de dispositivos USB (UDE).

MBCD es un controlador de minipuerto que se combina con el controlador de puerto de especificación de interfaz de controlador de red (NDIS) para formar un único controlador de función. En el modelo de red OSI, este controlador se encuentra lógicamente en la mitad superior de la capa de vínculo de datos (capa 2). Los controladores de protocolo de red (como IP) que se encuentran lógicamente en la capa de red (capa 3) reciben datos (SDUs) en segmentos (TCP) o datagramas (UDP) de la capa de transporte (capa 4) y envían datos (PDU) como paquetes a la capa de vínculo de datos invocando LAS API de NDIS. Por lo general, NDIS solo implica un controlador de minipuerto cuando es necesario.


Modelo de red OSI
Nivel Unidad de datos de protocolo (PDU) Función
Host
Nivel
7 Application data API de alto nivel, incluido el uso compartido de recursos y el acceso remoto a archivos
6 Presentación Traducción de datos entre un servicio de red y una aplicación, incluida la codificación de caracteres, la compresión de datos y el cifrado
5 Sesión Administración de sesiones de comunicación, por ejemplo, intercambio continuo de información en forma de varias transmisiones entre dos nodos
4 Transporte Segment Transmisión confiable de segmentos de datos entre puntos de una red, incluida la segmentación, la confirmación y la multiplexación
Medios
Nivel
3 Red Packet Administración y estructuración de redes de varios nodos, incluida la asignación de direcciones, el enrutamiento y el control de tráfico
2 Vínculo de datos Fotograma Transmisión confiable de fotogramas de datos entre dos nodos conectados por la capa física
1 Física Símbolo Transmisión y recepción de flujos de bits sin procesar a través de un medio físico

La capa de red es donde residen los controladores de protocolo de red, incluido el controlador de protocolo de E/S de modo de usuario NDIS (NDISUIO). Este controlador desempeña un papel importante en el control y la configuración de los dispositivos MBB. Es importante tener en cuenta que esta capa también es conceptualmente donde reside la parte IP de TCP/IP. Puede pensar en ellos como hermanos.

WwanSvc es el servicio responsable principalmente del control de los módems, enumerando sus capacidades y su configuración. WwanSvc usa OID de WWAN para emitir comandos a NDISUIO, que pasarán estos OID a NDIS. El controlador de minipuerto MBCD define los OID que admite y proporciona esto a NDIS como parte de la inicialización del controlador de función. Por lo tanto, cuando NDIS recibe un OID de NDISUIO, implicará el miniporte según sea necesario.

El flujo de un comando desde una aplicación (como la interfaz de usuario de telefonía móvil) tiene este aspecto:

Aplicación-> WwanSvc ---(OID)---> NDISUIO ----(OID)---> NDIS ----(OID)---> MBCD ---(MBIM)---> dispositivo MBB.

El anterior proporciona información general sobre las tecnologías implicadas en la ruta de acceso de control. La ruta de acceso de datos es más complicada, ya que hay varias soluciones en su lugar. Sin embargo, podemos generalizar la ruta de acceso de datos como:

Aplicación-> TCP/IP --(paquetes)--> NDIS ----(frames)---> [controlador] ---> dispositivo MBB.

[Driver] puede ser el controlador heredado, el nuevo controlador moderno o un controlador IHV de terceros.

Arquitectura de controladores

Heredado

Diagrama de la arquitectura heredada del controlador MBIM.

Actual (desde RS5 OSBuild 17763)

Diagrama de la arquitectura actual del controlador MBIM desde RS5 OSBuild 17763.

Encendido del dispositivo

Diagrama de flujo del proceso de encendido del dispositivo en MBIM.

Apagado del dispositivo

Diagrama de flujo del proceso de apagado del dispositivo en MBIM.

Interfaz MBBCx

Diagrama de la interfaz MBBCx en MBIM.

Vea también

EvtMbbDeviceSendMBIMFragment

MbbRequestComplete

Inicialización predeterminada de NetAdapter

Diagrama de flujo del proceso de inicialización predeterminado de NetAdapter.

Vea también

MbbAdapterInitialize

Inicialización adicional de NetAdapter

Diagrama de flujo del proceso de inicialización de NetAdapter adicional.

Inicialización de dispositivos

Diagrama de flujo del proceso de inicialización de dispositivos en MBIM.

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: TestPowerStates.

A través de netsh, podemos ejecutar la lista de pruebas TestPowerStates HLK. Para obtener más información sobre el uso de la herramienta netsh, consulte netsh-mbn y netsh-mbn-test-installation.

netsh mbn test feature=power testpath="C:\\data\\test\\bin" taefpath="C:\\data\\test\\bin"

Este archivo que muestra los resultados de la prueba HLK debe haberse generado en el directorio desde el que se ejecutó el comando "netsh mbn test" desde: TestPowerStates.htm.

Pruebas manuales

Conexión automática después de la reactivación desde la hibernación (S4)

  1. Asegúrese de que la opción "Permitir que Windows administre esta conexión" esté activada en Configuración de telefonía móvil.
  2. Ponga DUT en S4.
  3. Wake DUT. Compruebe que establece automáticamente una conexión de telefonía móvil y el usuario puede navegar por Internet.

Conectar la telefonía móvil manualmente después de la reactivación desde la hibernación (S4)

  1. Con Ethernet desconectado y Wi-Fi desactivado, desactive la opción "Permitir que Windows administre esta conexión" en Configuración de telefonía móvil.
  2. En un símbolo del sistema de CMD de administración, ejecute el comando: shutdown -h
  3. La máquina hibernará. Después de más de 30 segundos, presione el botón de encendido de la máquina para reactivarse desde la hibernación. Vuelva a iniciar sesión, abra Configuración de telefonía móvil y haga clic en Conectar a móvil. La red móvil debe conectarse y el usuario debe poder navegar por Internet.

Conexión automática después de reactivar desde la suspensión de la pantalla

  1. Con Ethernet desconectado y Wi-Fi desactivado, compruebe una conexión de telefonía móvil activa.
  2. (Paso opcional) Permitir que la pantalla se suspenda. Puede establecer la suspensión de pantalla en 1 minuto en Configuración - Sistema ->> Energía & suspensión. La configuración no debe establecerse en "Never".
  3. Active la pantalla con el mouse o el teclado y vuelva a iniciar sesión. La telefonía móvil debe permanecer conectada y el usuario debe poder navegar por Internet, incluido en el sistema VAIL/WCOS.

Análisis de registro

Sugerencias

  • Asegúrese de que los proveedores ETW necesarios se incluyen en el registro, incluidos MbbCx, NetAdapterCx, WwanSvc y NdisUio.
  • Compruebe primero el estado de energía del dispositivo (estado Dx) y las funcionalidades de alimentación del dispositivo.
  • Comprobación de los registros con flujos de energía anteriores
  • Par de OID e indicación

Registro de muestra

597454 [2]1020.115C::2018-08-31 01:05:12.669792000 [WwanService]INFO: CWwanDataExecutor::OnNdisNotification - current device power state 3 (WaitForDeviceD0AfterSleep 1 systemPowerState 0)
679337 [6]1020.115C::2018-08-31 01:07:36.343312200 [WwanService]INFO: CWwanManager::OnSystemPowerStateChange - system resuming from sleep (fWaitForDeviceD0AfterSleep 1)
2422155 [7]1020.1150::2018-08-31 01:07:37.878446100 [WwanService]INFO: CWwanDataExecutor::OnNdisNotification - current device power state 0 (WaitForDeviceD0AfterSleep 1 systemPowerState 1)
2437098 [3]1020.115C::2018-08-31 01:07:37.893061200 [WwanService]INFO: CWwanDeviceEnumerator::onDeviceRemoval: MBB device removed [9d33b700-d66d-4c0a-807f-6a328690dafa].
2678588 [5]1020.2E30::2018-08-31 01:07:40.765642800 [WwanService]INFO: CWwanDeviceEnumerator::onDeviceArrival: MBB device arrived [9d33b700-d66d-4c0a-807f-6a328690dafa]. Parent Interface = [00000000-0000-0000-0000-000000000000].
2679204 [6]1020.2E30::2018-08-31 01:07:40.766278700 [sys]Ref WwanprotGetD3ColdCapability:0x6a2 \DEVICE\{9D33B700-D66D-4C0A-807F-6A328690DAFA} 0x2
2679205 [6]1020.2E30::2018-08-31 01:07:40.766280200 [sys]Sending IRP_MN_QUERY_INTERFACE for interface GUID_D3COLD_SUPPORT_INTERFACE
2679211 [6]1020.2E30::2018-08-31 01:07:40.766287400 [sys]IRP_MN_QUERY_INTERFACE for interface GUID_D3COLD_SUPPORT_INTERFACE succeeded
2679212 [6]1020.2E30::2018-08-31 01:07:40.766289500 [sys]Successfully queried the D3 cold capability of device. D3ColdCapability = 0
2679213 [6]1020.2E30::2018-08-31 01:07:40.766290000 [sys]DeRef WwanprotGetD3ColdCapability:0x6a8 \DEVICE\{9D33B700-D66D-4C0A-807F-6A328690DAFA} 0x2
2679214 [6]1020.2E30::2018-08-31 01:07:40.766290500 [sys]Returning D3 cold capability as 0. Status = c0000225
2679219 [6]1020.2E30::2018-08-31 01:07:40.766294100 [WwanService]CWwanNetworkInterface::InitializeInterface: Getting D3 cold capability for interface 9d33b700-d66d-4c0a-807f-6a328690dafa failed [1168]
2679220 [6]1020.2E30::2018-08-31 01:07:40.766294600 [WwanService]CWwanNetworkInterface::InitializeInterface: fIsEmbedded:0x00000001(true) fIsD3ColdSupported:0x00000000(false)

Consulte también

Arquitectura de UDE

Introducción a NDIS 6.20

Introducción a MBIM

Revisión 1.0 de pruebas de cumplimiento de MBIM

Directrices de implementación de banda ancha móvil para dispositivos USB

NetAdapterCx