MB SAR-Plattformunterstützung
Übersicht
Specific Absorption Rate (SAR) ist die Fähigkeit, die Leistung des MBB-Funksenders als Reaktion auf die Nähe der MBB-Antenne zum Benutzer zu ändern. Traditionell haben OEMs proprietäre Lösungen für SAR implementiert. Dies erfordert, dass der OEM einen Gerätedienstbefehl implementiert, der entweder nur zwischen dem Benutzermodustreiber (UMDF) und dem Modem identifiziert wird oder die Kernelmoduskomponenten direkt mit dem Modem interagieren müssen. Einige OEMs verfügen möglicherweise sogar über eine Hybridlösung, bei der sie sowohl ÜBER UMDF-Modem- als auch Kernelmodus-Modemkomponenten verfügen. Da das Bewusstsein für Funkstrahlung zugenommen hat, bringt die Standardisierung der Schnittstelle für OEM-Softwarekomponenten, um den SAR-Befehl an das Modem zu übergeben, die folgenden Vorteile:
- OEMs können zu Komponenten im Benutzermodus wechseln und das System stabiler machen, da Fehler im Benutzermodus im Vergleich zum Kernelmodus nicht schwerwiegend für das System sind.
- Windows bietet eine Plattformstandardschnittstelle und reduziert die proprietäre Implementierung von OEMs.
- Dienste auf der Plattform, die SAR nutzen möchten, können die Informationen aus dem Modem abrufen.
Ab Windows 10 Version 1703 unterstützt Windows die Übertragung von SAR-Konfiguration und Modemübertragung status. Windows überlässt die SAR-Geschäftslogik weiterhin IHVs und OEMs, um sie als sich selbst unterscheidenden Faktor zu verwenden, stellt jedoch eine Schnittstelle zur Optimierung der Plattform bereit. Zwei neue NDIS-OIDs und zwei neue MBIM-CIDs wurden definiert, um diese Schnittstelle zu unterstützen. Geräte, die die Betriebssystemunterstützung nutzen möchten, müssen beide Befehle implementieren.
Dieses Feature wird unterstützt, indem zwei neue OIDs und CIDs hinzugefügt werden. Für IHV-Partner, die MBIM implementieren, muss nur die CID-Version unterstützt werden.
Hinweis
In diesem Thema wird die Schnittstelle für IHV-Partner definiert, um die SAR-Plattformunterstützung in ihren Modemgerätetreibern zu implementieren. Informationen zum Anpassen der SAR-Zuordnungstabelle für ein Gerät finden Sie unter Anpassen einer SAR-Zuordnungstabelle (Specific Absorption Rate, SAR).
Flow
MB-Schnittstellenupdate für DIE SAR-Plattformunterstützung
Ein MBIM-kompatibles Gerät implementiert und meldet den folgenden Gerätedienst, wenn es von CID_MBIM_DEVICE_SERVICES abgefragt wird. Die vorhandenen bekannten Dienste sind in Abschnitt 10.1 der USB NCM MBIM 1.0-Spezifikation definiert. Microsoft erweitert dies, um den folgenden Dienst zu definieren.
Dienstname = Microsoft SAR-Steuerelement
UUID = UUID_MS_SARControl
UUID-Wert = 68223D04-9F6C-4E0F-822D-28441FB72340
CID | Mindestversion des Betriebssystems |
---|---|
MBIM_CID_MS_SAR_CONFIG | Windows 10, Version 1703 |
MBIM_CID_MS_TRANSMISSION_STATUS | Windows 10, Version 1703 |
MBIM_CID_MS_SAR_CONFIG
Beschreibung
Mit diesem Befehl werden Informationen zum SAR-Rückschaltmodus und -Level eines MB-Geräts festgelegt oder zurückgegeben. Das MB-Gerät muss sofort auf den SAR-Back-Off-Befehl reagieren, indem es die aktuellen Sendeleistungsgrenzwerte überschreibt und sie auf die Sendeantennen anwendet. Wenn die SAR-Konfiguration einer Antenne vom Betriebssystem nicht geändert wurde, sollte die aktuelle Einstellung beibehalten werden. Wenn das Betriebssystem beispielsweise Antenne 1 als SAR-Rücksendindex 1 festlegt, sollte die Konfiguration von Antenne 2 unverändert bleiben.
Es wird erwartet, dass Geräte, die diesen Befehl unterstützen, Abfrage implementieren, damit sie Geräteinformationen für das Betriebssystem und seine Clients bereitstellen. Für den Befehl Set muss zwischen dem IHV und dem OEM definiert werden, welcher Wert der einzelnen Felder akzeptabel ist. Die typische Erwartung ist, dass der SAR-Back off-Index für alle Antennen als Mindestbaseline konfigurierbar ist. Wenn eine Set-Anforderung mit Feldern gesendet wird, die vom Gerät nicht unterstützt werden, muss MBIM_STATUS_INVALID_PARAMETERS als status-Code zurückgegeben werden.
Nach jeder Abfrage- oder Set-Antwort sollte das Modem eine MBIM_MS_SAR_CONFIG Struktur zurückgeben, die Informationen für alle Antennen auf dem Gerät enthält, das Mobile Broadband zugeordnet ist.
Abfrage
Der InformationBuffer auf MBIM_COMMAND_MSG wird nicht verwendet. MBIM_MS_SAR_CONFIG wird im InformationBuffer von MBIM_COMMAND_DONE zurückgegeben.
Set
Der InformationBuffer auf MBIM_COMMAND_MSG enthält eine MBIM_MS_SAR_CONFIG. MBIM_MS_SAR_CONFIG wird im InformationBuffer von MBIM_COMMAND_DONE zurückgegeben.
Nicht angeforderte Ereignisse
Nicht zutreffend
Parameter
Vorgang | Set | Abfrage | Benachrichtigung |
---|---|---|---|
Befehl | MBIM_MS_SET_SAR_CONFIG | Nicht verfügbar | Nicht verfügbar |
Antwort | MBIM_MS_SAR_CONFIG | MBIM_MS_SAR_CONFIG | Nicht verfügbar |
Datenstrukturen
Abfrage
Der InformationBuffer muss NULL und InformationBufferLength null sein.
Set
Die folgende MBIM_MS_SET_SAR_CONFIG Struktur wird im InformationBuffer verwendet.
Offset | Size | Feld | type | Beschreibung |
---|---|---|---|---|
0 | 4 | SARMode | MBIM_MS_SAR_CONTROL_MODE | Weitere Informationen finden Sie in der Tabelle MBIM_MS_SAR_CONTROL_MODE. |
4 | 4 | SARBackOffStatus | MBIM_MS_SAR_BACKOFF_STATE | Weitere Informationen finden Sie in der Tabelle MBIM_MS_SAR_BACKOFF_STATE. Wenn MBIM_MS_SAR_CONTROL_MODE auf Gerätesteuerung festgelegt ist, kann das Betriebssystem dieses Feld nicht festlegen. |
8 | 4 | ElementCount (EC) | UINT32 | Anzahl der MBIM_MS_SAR_CONFIG Strukturen, die im DataBuffer folgen. |
12 | 8 * EC | SARConfigStatusRefList | OL_PAIR_LIST | Das erste Element des Paares ist ein 4-Byte-Offset, der vom Anfang (Offset 0) dieser MBIM_MS_SET_SAR_CONFIG-Struktur zu einer MBIM_MS_SAR_CONFIG_STATE-Struktur berechnet wird. Weitere Informationen finden Sie in der Tabelle MBIM_MS_SAR_CONFIG_STATE. Das zweite Element des Paars ist eine 4-Byte-Größe eines Zeigers auf die entsprechende MBIM_MS_SAR_CONFIG_STATE-Struktur. |
12 + (8 * EG) | DataBuffer | DATABUFFER | Array von MBIM_MS_SAR_CONFIG_STATE-Strukturen. |
Die folgenden Strukturen werden in der vorherigen Tabelle verwendet.
MBIM_MS_SAR_CONTROL_MODE gibt an, wie der SAR-Back off-Mechanismus gesteuert wird.
type | Wert | Beschreibung |
---|---|---|
MBIMMsSARControlModeDevice | 0 | Der SAR-Rückstaumechanismus wird direkt vom Modemgerät gesteuert. |
MBIMMsSARControlModeOS | 1 | Der SAR-Back off-Mechanismus wird vom Betriebssystem gesteuert und verwaltet. |
MBIM_MS_SAR_BACKOFF_STATE beschreibt den Zustand der SAR-Rückschaltung.
type | Wert | Beschreibung |
---|---|---|
MBIMMsSARBackOffStatusDisabled | 0 | SAR-Rückstau ist im Modem deaktiviert. |
MBIMMsSARBackOffStatusEnabled | 1 | SAR-Rückschaltung ist im Modem aktiviert. |
MBIM_MS_SAR_CONFIG_STATE beschreibt die möglichen Zustände für den SAR-Backoff für die Antennen.
Offset | Size | Feld | type | Beschreibung |
---|---|---|---|---|
0 | 4 | SARAntennaIndex | UINT32 | Ein Antennenindex, der dem Feld SARBackOffIndex in dieser Tabelle entspricht. Sie entspricht der Antennennummer und bleibt der OEM-Implementierung überlassen, um jede Antenne auf dem Gerät zu indizieren. Jeder Index ist für diesen Wert gültig. Wenn dieser Wert in einem Set-Befehl auf 0xFFFFFFFF festgelegt ist, sollte sarBackOffIndex auf alle Antennen angewendet werden. Wenn dieser Wert als Antwort auf 0xFFFFFFFF festgelegt ist, gibt dies an, dass SARBackOffIndex auf alle Antennen angewendet wird. |
4 | 4 | SARBAckOffIndex | UINT32 | Ein Back off-Index, der der back off-Tabelle entspricht, die vom OEM- oder Modemanbieter definiert wird. Die Tabelle enthält einzelne Bänder und zugeordnete Back off-Parameter. |
Antwort
Die folgende MBIM_MS_SAR_CONFIG Struktur wird im InformationBuffer verwendet. MBIM_MS_SAR_CONFIG gibt die Konfiguration für SAR an.
Offset | Size | Feld | type | Beschreibung |
---|---|---|---|---|
0 | 4 | SARMode | MBIM_MS_SAR_MODE | Weitere Informationen finden Sie in der Tabelle MBIM_MS_SAR_CONTROL_MODE. |
4 | 4 | SARBackOffStatus | MBIM_MS_SAR_BACKOFF_STATE | Weitere Informationen finden Sie in der Tabelle MBIM_MS_SAR_BACKOFF_STATE. |
8 | 4 | SARWifiIntegration | MBIM_MS_SAR_ WIFI_HARDWARE_INTEGRATION | Weitere Informationen finden Sie in der Tabelle MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION. Dies impliziert, dass die Wi-Fi des Geräts und die Mobilfunk-SAR auf der Hardwareebene integriert sind und das Gerät die SAR-Steuerung für beide Funkgeräte automatisch anpasst. |
12 | 4 | ElementCount (EC) | UINT32 | Anzahl der MBIM_MS_SAR_CONFIG_STATE Strukturen, die im DataBuffer folgen. |
16 | 8 * EG | SARConfigStatusRefList | OL_PAIR_LIST | Das erste Element des Paars ist ein 4-Byte-Offset, der vom Anfang (Offset 0) dieser MBIM_MS_SAR_CONFIG-Struktur bis zu einer MBIM_MS_SAR_CONFIG_STATE-Struktur berechnet wird. Weitere Informationen finden Sie in der Tabelle MBIM_MS_SAR_CONFIG_STATE. Das zweite Element des Paars ist eine 4-Byte-Größe eines Zeigers auf die entsprechende MBIM_MS_SAR_CONFIG_STATE-Struktur. |
16 + (8 * EG) | DataBuffer | DATABUFFER | Array von MBIM_MS_SAR_CONFIG_STATE-Strukturen. |
Die folgende MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION-Struktur wird in der vorherigen Tabelle verwendet. Sie gibt an, ob Wi-Fi und Mobilfunk auf Hardwareebene integriert sind.
type | Wert | Beschreibung |
---|---|---|
MBIMMsSARWifiHardwareIntegrated | 0 | Wi-Fi und Mobilfunkmodem SAR ist in das Gerät integriert. |
MBIMMsSARWifiHardwareNotIntegrated | 1 | Wi-Fi- und Mobilfunkmodem-SAR ist nicht in das Gerät integriert. |
Benachrichtigung
Nicht zutreffend
Statuscodes
Fehlercode | Beschreibung |
---|---|
MBIM_STATUS_SUCCESS | Die Anforderung wurde erfolgreich verarbeitet. |
MBIM_STATUS_BUSY | Das Gerät ist derzeit ausgelastet. |
MBIM_STATUS_FAILURE | Fehler bei der Anforderung. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Dieser Befehl wird vom Gerät nicht unterstützt. |
MBIM_STATUS_INVALID_PARAMETERS | Der Vorgang ist aufgrund ungültiger Parameter fehlgeschlagen. |
MBIM_STATUS_OPERATION_NOT_ALLOWED | Der Vorgang ist fehlgeschlagen, weil der Vorgang nicht zulässig ist. |
MBIM_CID_MS_TRANSMISSION_STATUS
Beschreibung
Dieser Befehl wird verwendet, um die Benachrichtigung über das Modem beim Übertragungszustand zu aktivieren oder zu deaktivieren. Es handelt sich um einen Pro-Executor-Befehl, da jeder Executor einen anderen Kanalübertragungsstatus haben kann. Beispielsweise kann ein Dual-SIM-Modem ein Modem mit LTE und das andere auf GSM haben. Gleichzeitig kann es verwendet werden, um die Übertragung status des Modems bereitzustellen. Diese Benachrichtigung kann für Clients verwendet werden, die daran interessiert sind, ob das Modem Daten überträgt oder nicht. Das Modem sollte bei jedem Start oder Ende des TX-Datenverkehrs eine Benachrichtigung bereitstellen. Wenn der TX-Zyklus zu klein ist und nicht in Echtzeit für den Host bereitgestellt werden kann, kann der TX-Zustand für eine festgelegte Zeit mit einem Hysterese-Timer als aktiv gehalten werden, bevor er eine Aktualisierung des Zustands sendet. Beispielsweise kann es sein, dass ein kurzer TX-Burst aufgetreten ist und das Modem die Start- und Endbenachrichtigung nicht rechtzeitig bereitstellen konnte. Das Modem sollte eine Benachrichtigung senden, wenn der TX-Datenverkehr beginnt, und sollte seinen TX-Datenverkehr während des Hysterese-Timers weiterhin überwachen. Wenn innerhalb des Zeitrahmens des Zeitgebers kein TX-Datenverkehr mehr generiert wurde, sollte gemeldet werden, dass der TX-Datenverkehr beendet wurde.
Dies ist sehr nützlich in Szenarien, in denen sowohl Wi-Fi als auch LTE verbunden sind. Wenn sich sowohl LTE als auch Wi-Fi in einem Übertragungszustand befinden und die Nähe erkannt wurde, ist möglicherweise Wi-Fi Zurückschalten erforderlich. Wenn LTE sich nicht im Übertragungszustand befindet, aber Wi-Fi, ist möglicherweise keine Wi-Fi Rückschaltung erforderlich. Dies gilt für allgemeine WLAN-/LTE-Verbindungen und mobile Hot Spot-Szenarien.
Der Wi-Fi Mechanismus und Befehl zum Zurücksetzen liegt außerhalb des Gültigkeitsbereichs dieser Spezifikation.
OEMs, die diesen Befehl verwenden, sollten sich der potenziellen Auswirkungen auf die Leistung bewusst sein, da das Modem jederzeit übertragungsbezogene Benachrichtigungen sendet, einschließlich reduzierter Leistungszustände. Das Betriebssystem lässt standardmäßig nicht zu, dass diese Benachrichtigung den AP während des modernen Standbymodus aktiviert, um die Energieleistung zu verbessern.
Abfrage
Der InformationBuffer auf MBIM_COMMAND_MSG wird nicht verwendet. MBIM_MS_TRANSMISSION_STATUS_INFO wird im InformationBuffer von MBIM_COMMAND_DONE zurückgegeben.
Set
Der InformationBuffer auf MBIM_COMMAND_MSG enthält MBIM_MS_SET_TRANSMISSION_STATUS. MBIM_MS_TRANSMISSION_STATUS_INFO wird im InformationBuffer von MBIM_COMMAND_DONE zurückgegeben.
Nicht angeforderte Ereignisse
Nicht angeforderte Ereignisse enthalten MBIM_MS_TRANSMISSION_STATUS_INFO und werden gesendet, wenn eine Änderung an den aktiven Over-the-Air-Kanälen (OTA) erfolgt. Wenn ein Modem beispielsweise mit dem Hochladen von Paketdaten begonnen hat, müsste es uplink-Kanäle einrichten, wenn es den Netzwerkdatenkanal verwendet, um Nutzlasten hochladen zu können. Dies würde auslösen, dass die Benachrichtigung für das Betriebssystem bereitgestellt wird.
Parameter
Vorgang | Set | Abfrage | Benachrichtigung |
---|---|---|---|
Befehl | MBIM_MS_SET_TRANSMISSION_STATUS | Nicht zutreffend | Nicht verfügbar |
Antwort | MBIM_MS_TRANSMISSION_STATUS_INFO | MBIM_MS_TRANSMISSION_STATUS_INFO | MBIM_MS_TRANSMISSION_STATUS_INFO |
Datenstrukturen
Abfrage
Der InformationBuffer auf MBIM_COMMAND_MSG wird nicht verwendet. MBIM_MS_TRANSMISSION_STATUS_INFO wird im InformationBuffer von MBIM_COMMAND_DONE zurückgegeben.
Set
Die folgende MBIM_MS_SET_TRANSMISSION_STATUS Struktur wird im InformationBuffer verwendet.
Offset | Size | Feld | type | Beschreibung |
---|---|---|---|---|
0 | 4 | ChannelNotification | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | Weitere Informationen finden Sie in der Tabelle MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION. |
4 | 4 | HysteresisTimer | UINT32 | Hystereseindikator, der vom Modem verwendet wird, um zu bestimmen, wann mbIMMsTransmissionStateInactive an den Host gesendet werden soll. Dieser Wert ist der Timer, den das Modem als kontinuierliche Aktivität ohne Übertragung sieht, bevor es einen OFF-Indikator an den Host sendet. Dieser Timer sollte in Sekunden zwischen 1 Sekunde und 5 Sekunden festgelegt werden. |
Die folgende MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION-Struktur wird in der obigen Tabelle verwendet. Es gibt an, ob die Modemkanalübertragung deaktiviert oder aktiviert ist.
type | Wert | Beschreibung |
---|---|---|
MBIMMsTransmissionNotificationDisabled | 0 | Modemkanalübertragung status Benachrichtigung deaktiviert. |
MBIMMsTransmissionNotificationEnabled | 1 | Modemkanalübertragung status Benachrichtigung aktiviert. |
Antwort
Die folgende MBIM_MS_TRANSMISSION_STATUS_INFO-Struktur wird für die Antwort verwendet.
Offset | Size | Feld | type | Beschreibung |
---|---|---|---|---|
0 | 4 | ChannelNotification | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | Weitere Informationen finden Sie in der Tabelle MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION. |
4 | 4 | TransmissionStatus | MBIM_MS_TRANSMISSION_STATUS | Weitere Informationen finden Sie in der Tabelle MBIM_MS_TRANSMISSION_STATUS. Dies gibt an, ob das Modem alle 5 Sekunden TX-Datenverkehr aufweist. |
8 | 4 | HysteresisTimer | UINT32 | Hystereseindikator, der vom Modem verwendet wird, um zu bestimmen, wann mbIMMsTransmissionStateInactive an den Host gesendet werden soll. Dieser Wert ist der Timer, den das Modem als kontinuierliche Aktivität ohne Übertragung sieht, bevor es einen OFF-Indikator an den Host sendet. Dieser Timer sollte in Sekunden zwischen 1 Sekunde und 5 Sekunden festgelegt werden. |
Die folgende MBIM_MS_TRANSMISSION_STATUS-Struktur wird in der vorherigen Tabelle verwendet. Es gibt an, ob das Modem alle 5 Sekunden TX-Datenverkehr hat.
type | Wert | Beschreibung |
---|---|---|
MBIMMsTransmissionStateInactive | 0 | Das Modem überträgt daten nicht aktiv ohne kontinuierlichen Übertragungsablauf für den letzten HysteresisTimer-Wert. |
MBIMMsTransmissionStateActive | 1 | Das Modem überträgt aktiv Daten. |
Benachrichtigung
Weitere Informationen finden Sie in der Tabelle MBIM_MS_TRANSMISSION_STATUS_INFO.
Statuscodes
Fehlercode | Beschreibung |
---|---|
MBIM_STATUS_SUCCESS | Die Anforderung wurde erfolgreich verarbeitet. |
MBIM_STATUS_BUSY | Das Gerät ist derzeit ausgelastet. |
MBIM_STATUS_FAILURE | Fehler bei der Anforderung. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Dieser Befehl wird vom Gerät nicht unterstützt. |
MBIM_STATUS_INVALID_PARAMETERS | Der Vorgang ist aufgrund ungültiger Parameter fehlgeschlagen. |
MBIM_STATUS_OPERATION_NOT_ALLOWED | Der Vorgang ist fehlgeschlagen, weil der Vorgang nicht zulässig ist. |
HLK-Tests (Hardware Lab Kit)
Weitere Informationen finden Sie unter Schritte zum Installieren von HLK.
Stellen Sie in HLK Studio eine Verbindung mit dem Mobilfunkmodemtreiber des Geräts her, und führen Sie den Test aus: Win6_4.MB. GSM. Data.TestSAR.
Dieser Test enthält die folgenden Tests:
Testname | Beschreibung |
---|---|
QuerySarConfig | Dieser Test überprüft, ob der Test SAR-Konfigurationen erfolgreich abfragen kann. |
SetSarConfig | Dieser Test überprüft, ob der Test SAR-Konfigurationen erfolgreich festlegen kann. |
QuerySarTransmissionStatus | Dieser Test überprüft, ob der Test die SAR-Übertragung erfolgreich status abfragen kann. |
SetSarTransmissionStatus | Dieser Test überprüft, ob der Test die SAR-Übertragung erfolgreich status festlegen kann. |
WinRT-API
Protokollanalyse
Protokolle können mithilfe der folgenden Anweisungen gesammelt und decodiert werden: MB Collecting Logs.
Wichtige Anbieter und entsprechende Schlüsselwörter
Microsoft-Windows-WWAN-SVC-EVENTS (3cb40aaa-1145-4fb8-b27b-7e30f0454316)
Schlüsselwörter zum Filtern:
- SarConfig
- CWwanSar::OnNdisNotification
- LoadSemiStaticOEMSARTable
- AttemptAutoConfigureSAR
- PreCheckSemiStaticOEMSARTable
- WwanIntfOpcodeSarConfig
- WwanIntfOpcodeSarTransmissionStatus
- WwanMsmEventTypeSarConfig
- WwanMsmEventTypeSarTransmissionStatus
MobileBroadband WinRT WPP (56dd9c57-06cc-48ba-b123-876a6495ba13)
Schlüsselwörter zum Filtern: MobileBroadbandSarManager
WwanProtDIM (3a07e1ba-3a6b-49bf-8056-c105b54dd7fb)
Schlüsselwörter zum Filtern:
- NDIS_WWAN_SAR_CONFIG_INFO
- SarMode
- NDIS_WWAN_SAR_TRANSMISSION_STATUS_INFO
- HysteresisTimer
Weitere Informationen
Anpassen einer SAR-Zuordnungstabelle (Spezifische Absorptionsrate)