Поддержка платформы SAR MB
Общие сведения
Удельный коэффициент поглощения (SAR) — это возможность изменять мощность радиопередатчика MBB в ответ на близость антенны MBB к пользователю. Традиционно изготовители оборудования внедряют собственные решения для SAR. Для этого изготовителю оборудования необходимо реализовать команду службы устройства, которая определяется только между драйвером пользовательского режима (UMDF) и модемом, либо требует, чтобы компоненты режима ядра напрямую взаимодействовали с модемом. Некоторые изготовители оборудования могут даже иметь гибридное решение, в котором они имеют как UMDF-модем, так и компоненты модема в режиме ядра. По мере повышения осведомленности о радиоизлучении стандартизация интерфейса для программных компонентов OEM для передачи через команду SAR в модем предоставляет следующие преимущества:
- Изготовители оборудования могут перейти к компонентам пользовательского режима и сделать систему более стабильной, так как ошибки в пользовательском режиме не являются фатальными для системы по сравнению с режимом ядра.
- Windows предоставляет стандартный интерфейс платформы и сокращает объем защищаемой реализации от изготовителей оборудования.
- Службы на платформе, которые хотят воспользоваться преимуществами SAR, могут извлекать информацию из модема.
Начиная с Windows 10 версии 1703, Windows поддерживает передачу через конфигурацию SAR и состояние передачи модема. Windows будет по-прежнему оставлять бизнес-логику SAR для IHV и ИЗГОТОВИТЕЛей, чтобы использовать их в качестве самостоятельного фактора, но будет предоставлять интерфейс для оптимизации платформы. Для поддержки этого интерфейса определены два новых идентификатора NDIS OID и два новых ИДЕНТИФИКАТОРа MBIM CID. Устройства, которые хотят воспользоваться поддержкой ОС, должны реализовывать обе команды.
Эта функция поддерживается путем добавления двух новых идентификаторов OID и CID. Для партнеров IHV, реализующих MBIM, должна поддерживаться только версия CID.
Примечание
В этом разделе определяется интерфейс для партнеров IHV для реализации поддержки платформы SAR в драйверах модемных устройств. Сведения о настройке таблицы сопоставления SAR для устройства см. в статье Настройка таблицы сопоставления с определенной скоростью поглощения (SAR).
Поток
Обновление интерфейса в МБ для поддержки платформы SAR
Устройство, совместимое с MBIM, реализует и сообщает следующую службу устройства при запросе CID_MBIM_DEVICE_SERVICES. Существующие хорошо известные службы определены в разделе 10.1 спецификации USB NCM MBIM 1.0. Корпорация Майкрософт расширяет эту возможность для определения следующей службы.
Service Name = Microsoft SAR Control
UUID = UUID_MS_SARControl
Значение UUID = 68223D04-9F6C-4E0F-822D-28441FB72340
CID | Минимальная версия ОС |
---|---|
MBIM_CID_MS_SAR_CONFIG | Windows 10 версии 1703 |
MBIM_CID_MS_TRANSMISSION_STATUS | Windows 10 версии 1703 |
MBIM_CID_MS_SAR_CONFIG
Описание
Эта команда задает или возвращает сведения о режиме и уровне отключения SAR устройства в МБ. Устройство MB должно немедленно реагировать на команду sar back off, перезаписав текущие ограничения мощности передачи и применяя их к передающим антеннам. Если конфигурация SAR антенны не была изменена операционной системой, она должна сохранить текущее значение. Например, если операционная система устанавливает для антенны 1 значение SAR от индекса 1, то конфигурация антенны 2 должна оставаться прежней без каких-либо изменений.
Ожидается, что устройства, поддерживающие эту команду, реализуют запрос, чтобы они предоставляли сведения об устройстве операционной системе и ее клиентам. Для команды Set между IHV и ИЗГОТОВИТЕЛем оборудования определяется допустимое значение каждого поля. Типичное ожидание заключается в том, что индекс отката SAR настраивается для всех антенн в качестве минимального базового плана. Если запрос set отправляется с полями, которые не поддерживаются устройством, то MBIM_STATUS_INVALID_PARAMETERS должны быть возвращены в качестве кода состояния.
После каждого ответа Query или Set модем должен возвращать MBIM_MS_SAR_CONFIG структуру, содержащую сведения обо всех антеннах на устройстве, связанном с мобильной широкополосной связью.
Запрос
InformationBuffer на MBIM_COMMAND_MSG не используется. MBIM_MS_SAR_CONFIG возвращается в InformationBuffer MBIM_COMMAND_DONE.
Присвойте параметру
InformationBuffer на MBIM_COMMAND_MSG содержит MBIM_MS_SAR_CONFIG. MBIM_MS_SAR_CONFIG возвращается в InformationBuffer MBIM_COMMAND_DONE.
Нежелательные события
Не применяется
Параметры
Операция | Присвойте параметру | Запрос | Уведомление |
---|---|---|---|
Get-Help | MBIM_MS_SET_SAR_CONFIG | Неприменимо | Неприменимо |
Ответ | MBIM_MS_SAR_CONFIG | MBIM_MS_SAR_CONFIG | Неприменимо |
Структуры данных
Запрос
Параметр InformationBuffer должен иметь значение NULL, а InformationBufferLength — ноль.
Присвойте параметру
Следующая MBIM_MS_SET_SAR_CONFIG структура должна использоваться в InformationBuffer.
Offset | Размер | Поле | Тип | Описание |
---|---|---|---|---|
0 | 4 | SARMode | MBIM_MS_SAR_CONTROL_MODE | Дополнительные сведения см. в таблице MBIM_MS_SAR_CONTROL_MODE. |
4 | 4 | SARBackOffStatus | MBIM_MS_SAR_BACKOFF_STATE | Дополнительные сведения см. в таблице MBIM_MS_SAR_BACKOFF_STATE. Если MBIM_MS_SAR_CONTROL_MODE настроено для управления устройством, операционная система не сможет задать это поле. |
8 | 4 | ElementCount (EC) | UINT32 | Количество MBIM_MS_SAR_CONFIG структур, которые следуют в DataBuffer. |
12 | 8 * EC | SARConfigStatusRefList | OL_PAIR_LIST | Первый элемент пары представляет собой 4-байтовое смещение, вычисленное от начала (смещение 0) этой MBIM_MS_SET_SAR_CONFIG структуры до MBIM_MS_SAR_CONFIG_STATE структуры. Дополнительные сведения см. в таблице MBIM_MS_SAR_CONFIG_STATE. Второй элемент пары представляет собой 4-байтовый размер указателя на соответствующую MBIM_MS_SAR_CONFIG_STATE структуру. |
12 + (8 * EC) | DataBuffer | DATABUFFER | Массив структур MBIM_MS_SAR_CONFIG_STATE. |
В предыдущей таблице используются следующие структуры.
MBIM_MS_SAR_CONTROL_MODE указывает, как контролируется механизм возврата SAR.
Тип | Значение | Описание |
---|---|---|
MBIMMsSARControlModeDevice | 0 | Механизм отката SAR управляется модемным устройством напрямую. |
MBIMMsSARControlModeOS | 1 | Механизм отката SAR контролируется операционной системой и управляется им. |
MBIM_MS_SAR_BACKOFF_STATE описывает состояние sar back off.
Тип | Значение | Описание |
---|---|---|
MBIMMsSARBackOffStatusDisabled | 0 | В модеме отключена функция sar back off. |
MBIMMsSARBackOffStatusEnabled | 1 | В модеме включена функция резервного копирования sar. |
MBIM_MS_SAR_CONFIG_STATE описывает возможные состояния для sar backoff для антенн.
Offset | Размер | Поле | Тип | Описание |
---|---|---|---|---|
0 | 4 | SARAntennaIndex | UINT32 | Индекс антенны, соответствующий полю SARBackOffIndex в этой таблице. Он соответствует номеру антенны и остается для oem-реализации для индексирования каждой антенны на устройстве. Для этого значения допустим любой индекс. Если для этого значения задано значение 0xFFFFFFFF в команде Set , параметр SARBackOffIndex следует применять ко всем антеннам. Если в ответ для этого значения задано значение 0xFFFFFFFF , это означает, что SARBackOffIndex применяется ко всем антеннам. |
4 | 4 | SARBAckOffIndex | UINT32 | Индекс отката, соответствующий таблице back off, определенной изготовителем оборудования или поставщиком модема. Таблица содержит отдельные полосы и связанные параметры back off. |
Ответ
В InformationBuffer должна использоваться следующая структура MBIM_MS_SAR_CONFIG. MBIM_MS_SAR_CONFIG указывает конфигурацию для SAR.
Offset | Размер | Поле | Тип | Описание |
---|---|---|---|---|
0 | 4 | SARMode | MBIM_MS_SAR_MODE | Дополнительные сведения см. в таблице MBIM_MS_SAR_CONTROL_MODE. |
4 | 4 | SARBackOffStatus | MBIM_MS_SAR_BACKOFF_STATE | Дополнительные сведения см. в таблице MBIM_MS_SAR_BACKOFF_STATE. |
8 | 4 | SARWifiIntegration | MBIM_MS_SAR_ WIFI_HARDWARE_INTEGRATION | Дополнительные сведения см. в таблице MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION. Это означает, что Wi-Fi устройства и сотовой сети SAR интегрированы на аппаратном уровне, и устройство автоматически настраивает управление SAR для обоих радиостанций. |
12 | 4 | ElementCount (EC) | UINT32 | Количество MBIM_MS_SAR_CONFIG_STATE структур, которые следуют в DataBuffer. |
16 | 8 * EC | SARConfigStatusRefList | OL_PAIR_LIST | Первый элемент пары — это смещение в 4 байта, вычисленное от начала (смещение 0) этой MBIM_MS_SAR_CONFIG структуры до MBIM_MS_SAR_CONFIG_STATE структуры. Дополнительные сведения см. в таблице MBIM_MS_SAR_CONFIG_STATE. Второй элемент пары — это 4-байтовый размер указателя на соответствующую MBIM_MS_SAR_CONFIG_STATE структуру. |
16 + (8 * EC) | DataBuffer | DATABUFFER | Массив структур MBIM_MS_SAR_CONFIG_STATE. |
В предыдущей таблице используется следующая структура MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION. Он указывает, интегрируются ли Wi-Fi и сотовая сеть на аппаратном уровне.
Тип | Значение | Описание |
---|---|---|
MBIMMsSARWifiHardwareIntegrated | 0 | Wi-Fi и сотовый модем SAR интегрирован в устройство. |
MBIMMsSARWifiHardwareNotIntegrated | 1 | Wi-Fi и сотовый модем SAR не интегрирован в устройство. |
Уведомление
Не применяется
Коды состояний
Код ошибки | Описание |
---|---|
MBIM_STATUS_SUCCESS | Запрос успешно обработан. |
MBIM_STATUS_BUSY | Устройство в настоящее время занято. |
MBIM_STATUS_FAILURE | Ошибка запроса. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Устройство не поддерживает эту команду. |
MBIM_STATUS_INVALID_PARAMETERS | Операция завершилась сбоем из-за недопустимых параметров. |
MBIM_STATUS_OPERATION_NOT_ALLOWED | Операция завершилась сбоем, так как операция не разрешена. |
MBIM_CID_MS_TRANSMISSION_STATUS
Описание
Эта команда используется для включения или отключения уведомления от модема о состоянии передачи. Это команда для каждого исполнителя, так как каждый исполнитель может иметь разное состояние передачи канала. Например, модем с двумя SIM-картами может иметь один на LTE, а другой на GSM. В то же время его можно использовать для предоставления состояния передачи модема. Это уведомление можно использовать для клиентов, которых интересует, передает ли модем данные. Модем должен предоставлять уведомление каждый раз, когда начинается или заканчивается трафик TX. Если рабочий цикл слишком мал и не может быть предоставлен в режиме реального времени на узел, состояние TX может оставаться активным в течение заданного времени с помощью таймера гистерезиса перед отправкой обновления состояния. Например, это может быть то, что произошел короткий всплеск TX, и модем не смог вовремя предоставить уведомление о начале и конце. Модем должен отправлять уведомление о запуске трафика TX и продолжать отслеживать трафик TX во время таймера гистерезиса. Если трафик TX больше не был создан в течение периода времени таймера, он должен сообщить, что трафик TX закончился.
Это очень полезно в сценариях, где подключены как Wi-Fi, так и LTE. Если и LTE, и Wi-Fi находятся в состоянии передачи и обнаружена близость, может потребоваться Wi-Fi отката. Если lte не находится в состоянии передачи, но Wi-Fi, то Wi-Fi откат может не потребоваться. Это относится к общим сценариям подключения Wi-Fi/LTE и мобильной горячей точки.
Механизм и команда Wi-Fi не область этой спецификации.
Изготовители оборудования, использующие эту команду, должны знать о потенциальном влиянии питания, так как модем может постоянно отправлять уведомления, связанные с передачей данных, включая пониженное состояние питания. Операционная система по умолчанию не разрешает этому уведомлению пробуждение точки доступа во время режима современного режима ожидания для повышения производительности питания.
Запрос
InformationBuffer на MBIM_COMMAND_MSG не используется. MBIM_MS_TRANSMISSION_STATUS_INFO возвращается в InformationBuffer MBIM_COMMAND_DONE.
Присвойте параметру
InformationBuffer на MBIM_COMMAND_MSG содержит MBIM_MS_SET_TRANSMISSION_STATUS. MBIM_MS_TRANSMISSION_STATUS_INFO возвращается в InformationBuffer MBIM_COMMAND_DONE.
Нежелательные события
Незапрошенные события содержат MBIM_MS_TRANSMISSION_STATUS_INFO и отправляются при изменении активных каналов по беспроводной сети (OTA). Например, если модем начал отправку данных пакетов, при использовании сетевого канала данных потребуется настроить каналы исходящей связи, чтобы можно было отправлять полезные данные. Это приведет к отправке уведомления операционной системе.
Параметры
Операция | Присвойте параметру | Запрос | Уведомление |
---|---|---|---|
Get-Help | MBIM_MS_SET_TRANSMISSION_STATUS | Неприменимо | Неприменимо |
Ответ | MBIM_MS_TRANSMISSION_STATUS_INFO | MBIM_MS_TRANSMISSION_STATUS_INFO | MBIM_MS_TRANSMISSION_STATUS_INFO |
Структуры данных
Запрос
InformationBuffer на MBIM_COMMAND_MSG не используется. MBIM_MS_TRANSMISSION_STATUS_INFO возвращается в InformationBuffer MBIM_COMMAND_DONE.
Присвойте параметру
Следующая MBIM_MS_SET_TRANSMISSION_STATUS структура должна использоваться в InformationBuffer.
Offset | Размер | Поле | Тип | Описание |
---|---|---|---|---|
0 | 4 | ChannelNotification | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | Дополнительные сведения см. в таблице MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION. |
4 | 4 | HysteresisTimer | UINT32 | Индикатор гистерезиса, используемый модемом для определения времени отправки MBIMMsTransmissionStateInactive на узел. Это значение является таймером, который модем считает непрерывным действием без передачи перед отправкой индикатора OFF на узел. Этот таймер должен быть установлен в секундах в диапазоне от 1 секунды до 5 секунд. |
В предыдущей таблице используется следующая структура MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION. Он указывает, отключена или включена передача по каналу модема.
Тип | Значение | Описание |
---|---|---|
MBIMMsTransmissionNotificationDisabled | 0 | Уведомление о состоянии передачи канала модема отключено. |
MBIMMsTransmissionNotificationEnabled | 1 | Уведомление о состоянии передачи канала модема включено. |
Ответ
Для ответа используется следующая структура MBIM_MS_TRANSMISSION_STATUS_INFO.
Offset | Размер | Поле | Тип | Описание |
---|---|---|---|---|
0 | 4 | ChannelNotification | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | Дополнительные сведения см. в таблице MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION. |
4 | 4 | TransmissionStatus | MBIM_MS_TRANSMISSION_STATUS | Дополнительные сведения см. в таблице MBIM_MS_TRANSMISSION_STATUS. Это указывает, имеет ли модем трафик TX каждые 5 секунд. |
8 | 4 | HysteresisTimer | UINT32 | Индикатор гистерезиса, используемый модемом для определения времени отправки MBIMMsTransmissionStateInactive на узел. Это значение является таймером, который модем считает непрерывным действием без передачи перед отправкой индикатора OFF на узел. Этот таймер должен быть установлен в секундах в диапазоне от 1 секунды до 5 секунд. |
В предыдущей таблице используется следующая структура MBIM_MS_TRANSMISSION_STATUS. Указывает, используется ли трафик TX модемом каждые 5 секунд.
Тип | Значение | Описание |
---|---|---|
MBIMMsTransmissionStateInactive | 0 | Модем не был активно передавать данные без каких-либо непрерывных кругов передачи для последнего значения HysteresisTimer. |
MBIMMsTransmissionStateActive | 1 | Модем активно передавал данные. |
Уведомление
Дополнительные сведения см. в таблице MBIM_MS_TRANSMISSION_STATUS_INFO.
Коды состояний
Код ошибки | Описание |
---|---|
MBIM_STATUS_SUCCESS | Запрос успешно обработан. |
MBIM_STATUS_BUSY | Устройство в настоящее время занято. |
MBIM_STATUS_FAILURE | Ошибка запроса. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Устройство не поддерживает эту команду. |
MBIM_STATUS_INVALID_PARAMETERS | Операция завершилась сбоем из-за недопустимых параметров. |
MBIM_STATUS_OPERATION_NOT_ALLOWED | Операция завершилась сбоем, так как операция не разрешена. |
Тесты аппаратного лабораторного комплекта (HLK)
См. инструкции по установке HLK.
В HLK Studio подключитесь к драйверу сотового модема устройства и запустите тест : Win6_4,МБ. GSM. Data.TestSAR.
Этот тест содержит следующие тесты:
Имя теста | Описание |
---|---|
QuerySarConfig | Этот тест проверяет, что тест может успешно запрашивать конфигурации SAR. |
SetSarConfig | Этот тест проверяет, что тест может успешно настроить конфигурации SAR. |
QuerySarTransmissionStatus | Этот тест проверяет, может ли тест успешно запрашивать состояние передачи SAR. |
SetSarTransmissionStatus | Этот тест проверяет, что тест может успешно задать состояние передачи SAR. |
API-интерфейс WinRT
Служба Log Analysis
Журналы можно собирать и декодировать с помощью следующих инструкций: СБОР журналов в МБ.
Важные поставщики и соответствующие ключевые слова
Microsoft-Windows-WWAN-SVC-EVENTS (3cb40aaa-1145-4fb8-b27b-7e30f0454316)
Ключевые слова для фильтрации:
- SarConfig
- CWwanSar::OnNdisNotification
- LoadSemiStaticOEMSARTable
- AttemptAutoConfigureSAR
- PreCheckSemiStaticOEMSARTable
- WwanIntfOpcodeSarConfig
- WwanIntfOpcodeSarTransmissionStatus
- WwanMsmEventTypeSarConfig
- WwanMsmEventTypeSarTransmissionStatus
MobileBroadband WinRT WPP (56dd9c57-06cc-48ba-b123-876a6495ba13)
Ключевые слова для фильтрации: MobileBroadbandSarManager
WwanProtDIM (3a07e1ba-3a6b-49bf-8056-c105b54dd7fb)
Ключевые слова для фильтрации:
- NDIS_WWAN_SAR_CONFIG_INFO
- SarMode
- NDIS_WWAN_SAR_TRANSMISSION_STATUS_INFO
- HysteresisTimer
См. также:
Настройка таблицы сопоставления конкретной скорости поглощения (SAR)