Prise en charge de la plateforme SAR MB

Vue d’ensemble

Le débit d’absorption spécifique (SAR) est la capacité de changer la puissance de l’émetteur radio MBB en réaction à la proximité de l’antenne MBB à l’utilisateur. Traditionnellement, les fabricants OEM ont implémenté des solutions propriétaires pour la recherche et la recherche et la recherche. Cela nécessite que l’OEM implémente une commande de service d’appareil qui est identifiée uniquement entre son pilote de mode utilisateur (UMDF) et le modem ou nécessite que les composants en mode noyau interagissent directement avec le modem. Certains fabricants OEM peuvent même avoir une solution hybride où ils disposent à la fois de composants UMDF-modem et kernel mode-modem. À mesure que la sensibilisation aux rayonnements radio a augmenté, la normalisation de l’interface pour que les composants logiciels OEM passent par la commande SAR au modem présente les avantages suivants :

  1. Les fabricants OEM peuvent se déplacer vers les composants du mode utilisateur et rendre le système plus stable, car les erreurs en mode utilisateur ne sont pas irrécupérables pour le système par rapport au mode noyau.
  2. Windows fournit une interface standard de plateforme et réduit l’implémentation propriétaire des oem.
  3. Les services de la plateforme qui souhaitent tirer parti de sar peuvent récupérer les informations du modem.

À compter de Windows 10 version 1703, Windows prend en charge le passage de la configuration SAR et de la transmission par modem status. Windows continuera à laisser la logique métier SAR aux IVS et aux fabricants oem pour les utiliser comme facteur de différenciation automatique, mais fournira une interface pour simplifier la plateforme. Deux nouveaux OID NDIS et deux nouveaux CID MBIM ont été définis pour prendre en charge cette interface. Les appareils qui souhaitent tirer parti de la prise en charge du système d’exploitation doivent implémenter les deux commandes.

Cette fonctionnalité est prise en charge en ajoutant deux nouveaux OID et CID. Pour les partenaires IHV qui implémentent MBIM, seule la version CID doit être prise en charge.

Notes

Cette rubrique définit l’interface permettant aux partenaires IHV d’implémenter la prise en charge de la plateforme SAR dans leurs pilotes de périphérique modem. Si vous recherchez des informations sur la personnalisation de la table de mappage SAR pour un appareil, consultez Personnaliser une table de mappage de taux d’absorption spécifique (SAR).

Flux

Organigramme illustrant l’opération SAR.

Mise à jour de l’interface MO pour la prise en charge de la plateforme SAR

Un appareil compatible MBIM implémente et signale le service d’appareil suivant lorsqu’il est interrogé par CID_MBIM_DEVICE_SERVICES. Les services connus existants sont définis dans la section 10.1 de la spécification USB NCM MBIM 1.0. Microsoft étend cette option pour définir le service suivant.

Service Name = Microsoft SAR Control

UUID = UUID_MS_SARControl

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

CID Version minimale du système d’exploitation
MBIM_CID_MS_SAR_CONFIG Windows 10 version 1703
MBIM_CID_MS_TRANSMISSION_STATUS Windows 10 version 1703

MBIM_CID_MS_SAR_CONFIG

Description

Cette commande définit ou retourne des informations sur le mode et le niveau d’arrêt SAR d’un appareil Mo. L’appareil Mb doit agir immédiatement sur la commande d’arrêt SAR en remplaçant les limites de puissance de transmission actuelles et en les appliquant aux antennes de transmission. Si la configuration SAR d’une antenne n’a pas été modifiée par le système d’exploitation, elle doit conserver son paramètre actuel. Par exemple, si le système d’exploitation définit l’antenne 1 pour qu’elle soit sar back off 1, la configuration de l’antenne 2 doit être la même sans aucune modification.

Il est attendu que les appareils qui prennent en charge cette commande implémentent Query afin qu’ils fournissent des informations sur l’appareil au système d’exploitation et à ses clients. Pour la commande Set, il est entre l’IHV et l’OEM de définir la valeur de chaque champ acceptable. L’attente classique est que l’index de back off SAR soit configurable pour toutes les antennes comme base de référence minimale. Si une requête Set est envoyée avec des champs qui ne sont pas pris en charge par l’appareil, MBIM_STATUS_INVALID_PARAMETERS doit être retourné en tant que code status.

Après chaque réponse Query ou Set, le modem doit retourner une structure de MBIM_MS_SAR_CONFIG qui contient des informations pour toutes les antennes sur l’appareil associé au haut débit mobile.

Requête

L’objet InformationBuffer sur MBIM_COMMAND_MSG n’est pas utilisé. MBIM_MS_SAR_CONFIG est retourné dans l’objet InformationBuffer de MBIM_COMMAND_DONE.

Définissez

L’objet InformationBuffer sur MBIM_COMMAND_MSG contient un MBIM_MS_SAR_CONFIG. MBIM_MS_SAR_CONFIG est retourné dans l’objet InformationBuffer de MBIM_COMMAND_DONE.

Événements non sollicités

Non applicable.

Paramètres

Opération Définissez Requête Notification
Commande MBIM_MS_SET_SAR_CONFIG Non applicable Non applicable
response MBIM_MS_SAR_CONFIG MBIM_MS_SAR_CONFIG Non applicable

Structures de données

Requête

InformationBuffer doit être NULL et InformationBufferLength doit être égal à zéro.

Définissez

La structure MBIM_MS_SET_SAR_CONFIG suivante doit être utilisée dans InformationBuffer.

Offset Taille Champ Type Description
0 4 SARMode MBIM_MS_SAR_CONTROL_MODE Pour plus d’informations, consultez la table MBIM_MS_SAR_CONTROL_MODE.
4 4 SARBackOffStatus MBIM_MS_SAR_BACKOFF_STATE Pour plus d’informations, consultez le tableau MBIM_MS_SAR_BACKOFF_STATE. Si MBIM_MS_SAR_CONTROL_MODE est défini pour être contrôlé par l’appareil, le système d’exploitation ne pourra pas définir ce champ.
8 4 ElementCount (EC) UINT32 Nombre de structures MBIM_MS_SAR_CONFIG qui suivent dans DataBuffer.
12 8 * EC SARConfigStatusRefList OL_PAIR_LIST Le premier élément de la paire est un décalage de 4 octets, calculé à partir du début (décalage 0) de cette structure MBIM_MS_SET_SAR_CONFIG, vers une structure MBIM_MS_SAR_CONFIG_STATE. Pour plus d’informations, consultez la table MBIM_MS_SAR_CONFIG_STATE. Le deuxième élément de la paire est une taille de 4 octets d’un pointeur vers la structure MBIM_MS_SAR_CONFIG_STATE correspondante.
12 + (8 * EC) DataBuffer DATABUFFER Tableau de structures MBIM_MS_SAR_CONFIG_STATE.

Les structures suivantes sont utilisées dans le tableau précédent.

MBIM_MS_SAR_CONTROL_MODE spécifie comment le mécanisme d’arrêt sar est contrôlé.

Type Valeur Description
MBIMMsSARControlModeDevice 0 Le mécanisme d’arrêt SAR est contrôlé directement par l’appareil modem.
MBIMMsSARControlModeOS 1 Le mécanisme d’arrêt sar est contrôlé et géré par le système d’exploitation.

MBIM_MS_SAR_BACKOFF_STATE décrit l’état de l’arrêt SAR.

Type Valeur Description
MBIMMsSARBackOffStatusDisabled 0 L’arrêt SAR est désactivé dans le modem.
MBIMMsSARBackOffStatusEnabled 1 L’authentification sar est activée dans le modem.

MBIM_MS_SAR_CONFIG_STATE décrit les états possibles de backoff SAR pour les antennes.

Offset Taille Champ Type Description
0 4 SARAntennaIndex UINT32 Index d’antenne qui correspond au champ SARBackOffIndex dans cette table. Il correspond au numéro d’antenne et est laissé à l’implémentation OEM pour indexer chaque antenne sur l’appareil. Tout index est valide pour cette valeur. Si cette valeur est définie sur 0xFFFFFFFF dans une commande Set , sarBackOffIndex doit être appliqué à toutes les antennes. Si cette valeur est définie sur 0xFFFFFFFF en réponse, elle indique que SARBackOffIndex est appliqué à toutes les antennes.
4 4 SARBAckOffIndex UINT32 Index d’arrêt qui correspond à la table d’arrêt définie par l’OEM ou le fournisseur de modems. La table a des bandes individuelles et des paramètres d’arrêt associés.

response

La structure MBIM_MS_SAR_CONFIG suivante doit être utilisée dans InformationBuffer. MBIM_MS_SAR_CONFIG spécifie la configuration de SAR.

Offset Taille Champ Type Description
0 4 SARMode MBIM_MS_SAR_MODE Pour plus d’informations, consultez la table MBIM_MS_SAR_CONTROL_MODE.
4 4 SARBackOffStatus MBIM_MS_SAR_BACKOFF_STATE Pour plus d’informations, consultez le tableau MBIM_MS_SAR_BACKOFF_STATE.
8 4 SARWifiIntegration MBIM_MS_SAR_ WIFI_HARDWARE_INTEGRATION Pour plus d’informations, consultez la table MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION. Cela implique que la Wi-Fi de l’appareil et le SAR cellulaire sont intégrés à la couche matérielle et que l’appareil ajuste automatiquement le contrôle SAR pour les deux radios.
12 4 ElementCount (EC) UINT32 Nombre de structures MBIM_MS_SAR_CONFIG_STATE qui suivent dans DataBuffer.
16 8 * EC SARConfigStatusRefList OL_PAIR_LIST Le premier élément de la paire est un décalage de 4 octets, calculé à partir du début (décalage 0) de cette structure MBIM_MS_SAR_CONFIG, vers une structure MBIM_MS_SAR_CONFIG_STATE. Pour plus d’informations, consultez la table MBIM_MS_SAR_CONFIG_STATE. Le deuxième élément de la paire est une taille de 4 octets d’un pointeur vers la structure MBIM_MS_SAR_CONFIG_STATE correspondante.
16 + (8 * EC) DataBuffer DATABUFFER Tableau de structures MBIM_MS_SAR_CONFIG_STATE.

La structure MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION suivante est utilisée dans le tableau précédent. Il spécifie si Wi-Fi et Cellular sont intégrés au niveau du matériel.

Type Valeur Description
MBIMMsSARWifiHardwareIntegrated 0 Wi-Fi et le sar du modem cellulaire est intégré à l’appareil.
MBIMMsSARWifiHardwareNotIntegrated 1 Wi-Fi et le modem cellulaire SAR n’est pas intégré à l’appareil.

Notification

Non applicable.

Codes d’état

Code d'erreur Description
MBIM_STATUS_SUCCESS La demande a été traitée avec succès.
MBIM_STATUS_BUSY L’appareil est actuellement occupé.
MBIM_STATUS_FAILURE La demande a échoué.
MBIM_STATUS_NO_DEVICE_SUPPORT L’appareil ne prend pas en charge cette commande.
MBIM_STATUS_INVALID_PARAMETERS L’opération a échoué en raison de paramètres non valides.
MBIM_STATUS_OPERATION_NOT_ALLOWED L’opération a échoué, car l’opération n’est pas autorisée.

MBIM_CID_MS_TRANSMISSION_STATUS

Description

Cette commande est utilisée pour activer ou désactiver la notification à partir du modem à l’état de transmission. Il s’agit d’une commande par exécuteur, car chaque exécuteur peut avoir un état de transmission de canal différent. Par exemple, un modem double SIM peut en avoir un sur LTE et l’autre sur GSM. En même temps, il peut être utilisé pour fournir le status de transmission du modem. Cette notification peut être utilisée pour les clients qui souhaitent savoir si le modem transmet des données ou non. Le modem doit fournir une notification chaque fois qu’il y a un début ou une fin du trafic TX. Si le cycle d’utilisation est trop petit et ne peut pas être fourni en temps réel à l’hôte, l’état TX peut être conservé actif pendant une durée définie avec un minuteur d’hystérésis avant d’envoyer une mise à jour de l’état. Par exemple, il se peut qu’il y ait eu une courte rafale de TX et que le modem n’ait pas pu fournir la notification de début et de fin à temps. Le modem doit envoyer une notification lorsque le trafic TX démarre et doit continuer à surveiller son trafic TX pendant le minuteur d’hystérésis. Si aucun autre trafic TX n’a été généré dans le délai du minuteur, il doit signaler que le trafic TX est terminé.

Cela est très utile dans les scénarios où Wi-Fi et LTE sont connectés. Si LTE et Wi-Fi sont dans un état de transmission et qu’une proximité a été détectée, Wi-Fi'arrêt peut être nécessaire. Si LTE n’est pas à l’état de transmission, mais qu'Wi-Fi est, Wi-Fi'arrêt peut ne pas être nécessaire. Cela s’applique aux scénarios généraux de connexion Wi-Fi/LTE et de points chauds mobiles.

La Wi-Fi mécanisme de recul et la commande ne sont pas dans le cadre de cette spécification.

Les oem qui utilisent cette commande doivent être conscients de l’impact potentiel sur l’alimentation, car le modem peut envoyer des notifications liées à la transmission à tout moment, y compris des états d’alimentation réduits. Le système d’exploitation, par défaut, n’autorise pas cette notification à réveiller l’AP pendant la veille moderne afin d’améliorer les performances d’alimentation.

Requête

InformationBuffer sur MBIM_COMMAND_MSG n’est pas utilisé. MBIM_MS_TRANSMISSION_STATUS_INFO est retourné dans l’objet InformationBuffer de MBIM_COMMAND_DONE.

Définissez

InformationBuffer sur MBIM_COMMAND_MSG contient des MBIM_MS_SET_TRANSMISSION_STATUS. MBIM_MS_TRANSMISSION_STATUS_INFO est retourné dans l’objet InformationBuffer de MBIM_COMMAND_DONE.

Événements non sollicités

Les événements non sollicités contiennent des MBIM_MS_TRANSMISSION_STATUS_INFO et sont envoyés en cas de modification des canaux actifs OTA (Over-the-Air). Par exemple, si un modem a commencé à charger des données de paquet, il doit configurer des canaux de liaison montante lorsqu’il utilise le canal de données réseau afin de pouvoir charger des charges utiles. Cela déclencherait la notification à fournir au système d’exploitation.

Paramètres

Opération Définissez Requête Notification
Commande MBIM_MS_SET_TRANSMISSION_STATUS Non applicable Non applicable
response MBIM_MS_TRANSMISSION_STATUS_INFO MBIM_MS_TRANSMISSION_STATUS_INFO MBIM_MS_TRANSMISSION_STATUS_INFO

Structures de données

Requête

InformationBuffer sur MBIM_COMMAND_MSG n’est pas utilisé. MBIM_MS_TRANSMISSION_STATUS_INFO est retourné dans l’objet InformationBuffer de MBIM_COMMAND_DONE.

Définissez

La structure MBIM_MS_SET_TRANSMISSION_STATUS suivante doit être utilisée dans InformationBuffer.

Offset Taille Champ Type Description
0 4 ChannelNotification MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION Pour plus d’informations, consultez le tableau MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION.
4 4 HystéresisTimer UINT32 Indicateur d’hystérésis utilisé par le modem pour déterminer quand envoyer le MBIMMsTransmissionStateInactive à l’hôte. Cette valeur est le minuteur que le modem voit comme une activité continue sans transmission avant d’envoyer un indicateur OFF à l’hôte. Ce minuteur doit être défini en secondes, allant de 1 seconde à 5 secondes.

La structure MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION suivante est utilisée dans le tableau précédent. Il spécifie si la transmission du canal modem est désactivée ou activée.

Type Valeur Description
MBIMMsTransmissionNotificationDisabled 0 La transmission du canal du modem status notification désactivée.
MBIMMsTransmissionNotificationEnabled 1 La transmission du canal du modem status la notification activée.

response

La structure MBIM_MS_TRANSMISSION_STATUS_INFO suivante est utilisée pour la réponse.

Offset Taille Champ Type Description
0 4 ChannelNotification MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION Pour plus d’informations, consultez le tableau MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION.
4 4 TransmissionStatus MBIM_MS_TRANSMISSION_STATUS Pour plus d’informations, consultez la table MBIM_MS_TRANSMISSION_STATUS. Cela indique si le modem a un trafic TX toutes les 5 secondes.
8 4 HystéresisTimer UINT32 Indicateur d’hystérésis utilisé par le modem pour déterminer quand envoyer le MBIMMsTransmissionStateInactive à l’hôte. Cette valeur est le minuteur que le modem voit comme une activité continue sans transmission avant d’envoyer un indicateur OFF à l’hôte. Ce minuteur doit être défini en secondes, allant de 1 seconde à 5 secondes.

La structure MBIM_MS_TRANSMISSION_STATUS suivante est utilisée dans le tableau précédent. Il indique si le modem a du trafic TX toutes les 5 secondes.

Type Valeur Description
MBIMMsTransmissionStateInactive 0 Le modem ne transmettait pas activement les données sans interruption continue de la transmission pour la dernière valeur HysteresisTimer.
MBIMMsTransmissionStateActive 1 Le modem transmettait activement des données.

Notification

Pour plus d’informations, consultez la table MBIM_MS_TRANSMISSION_STATUS_INFO.

Codes d’état

Code d'erreur Description
MBIM_STATUS_SUCCESS La demande a été traitée avec succès.
MBIM_STATUS_BUSY L’appareil est actuellement occupé.
MBIM_STATUS_FAILURE La demande a échoué.
MBIM_STATUS_NO_DEVICE_SUPPORT L’appareil ne prend pas en charge cette commande.
MBIM_STATUS_INVALID_PARAMETERS L’opération a échoué en raison de paramètres non valides.
MBIM_STATUS_OPERATION_NOT_ALLOWED L’opération a échoué, car l’opération n’est pas autorisée.

Tests HLK (Hardware Lab Kit)

Consultez Étapes d’installation de HLK.

Dans HLK Studio, connectez-vous au pilote de modem cellulaire de l’appareil et exécutez le test : Win6_4.MB. GSM. Data.TestSAR.

Ce test contient les tests suivants :

Nom du test Description
QuerySarConfig Ce test vérifie que le test peut interroger correctement les configurations SAR.
SetSarConfig Ce test vérifie que le test peut définir correctement les configurations SAR.
QuerySarTransmissionStatus Ce test vérifie que le test peut interroger correctement la transmission SAR status.
SetSarTransmissionStatus Ce test vérifie que le test peut définir correctement la transmission SAR status.

WinRT API

MobileBroadbandSarManager

Analyse des journaux

Les journaux peuvent être collectés et décodés à l’aide des instructions suivantes : Journaux de collecte en Mo.

Fournisseurs importants et mots clés correspondants

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

Mots clés pour le filtrage :

  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)

Mots clés pour le filtrage : MobileBroadbandSarManager

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

Mots clés pour le filtrage :

  1. NDIS_WWAN_SAR_CONFIG_INFO
  2. SarMode
  3. NDIS_WWAN_SAR_TRANSMISSION_STATUS_INFO
  4. HystéresisTimer

Voir aussi

Personnaliser une table de mappage de taux d’absorption spécifique (SAR)