Поделиться через


МБ ведение журнала модема с помощью DSS

Примечание.

Если вы планируете поддержку MBIM_CID_MODEM_LOGGING_CONFIGмодема, отправьте отзыв на этой странице, чтобы мы могли лучше всего поддерживать вас. Этот CID в настоящее время экспериментальный и еще не был протестирован с модемом, так как ни один из них не поддерживает его.

В этом разделе описывается новый стандартный интерфейс ведения журнала широкополосной связи Windows (МБ B) с помощью расширений Майкрософт для спецификации USB-МБ IM 1.0, доступной в Windows 10 версии 1903 и более поздних версий.

С помощью этого нового интерфейса ведения журнала ОС может сообщить устройству МБ B начать, остановить и очистить журналы в файловой системе ОС с помощью команд МБ IM CID. Учитывая не IP-характер полезных данных ведения журнала модема, канал данных, который служба МБ B использует для передачи полезных данных ведения журнала в ОС, использует поток служб данных МБ B (DSS). DSS определяется в спецификации 1.0 модели мобильного широкополосного интерфейса (МБ IM).

ОС абстрагирует диагностические функции и конфигурации модема во всей экосистеме МБ B с набором конфигураций ведения журнала МБ B для Windows. Эти конфигурации ведения журнала МБ B позволяют поставщику модема сопоставить требования к ведению журнала ОС МБ B с соответствующими внутренними конфигурациями ведения журнала. Конфигурации ведения журнала абстрагированы и определены операционной системой, включают уровни детализации журнала МБ B и максимальное время очистки.

Модем сохраняет заполнение буфера ведения журнала до максимального размера буфера, пока сегмент не будет заполнен, а платформа МБ IM передает сегмент в ОС или сбрасывает содержимое буфера, когда достигается максимальное время очистки (даже если сегмент не заполнен). Ос определяет набор стандартных уровней конфигурации ведения журнала Windows МБ B, описанных далее в этом разделе. Каждый уровень конфигурации определяет абстракцию ОС для сведений о ведении журнала МБ B и детализации.

Абстракция ОС уровней конфигурации МБ B сопоставляется с соответствующей внутренней конфигурацией модема модемами. Ос не предоставляет дополнительных полезных данных конфигурации, таких как фильтры ведения журнала или маски, для модемов, отличных от уровня конфигурации ОС МБ B.

Для модемов, поддерживающих ведение журнала МБ B, все уровни конфигурации ведения журнала МБ B, кроме МБ IMLoggingLevelOem, должны присутствовать во всех вариантах BSP. Другими словами, IHV или OEM должны поддерживать уровни PROD или LAB ведения журнала МБ B в рабочих и R&D версиях BSP. Уровни ведения журнала МБ B могут быть отключены только из ОС.

Этот новый интерфейс ведения журнала использует канал управления для задания параметров ведения журнала и использует канал данных для получения журналов модема, так как канал данных предназначен для передачи массовых данных модема. Преимущество этой структуры заключается в том, что массовые данные не нужно передавать через канал управления, что позволяет обеспечить согласованность производительности устройства. Он также хорошо масштабируется для повышения пропускной способности. Канал данных управляется командами DSS. Пример потока для модема может выглядеть следующим образом:

  1. ОС отправляет МБ IM_CID_MODEM_LOGGING_CONFIG CID на модем для настройки параметров ведения журнала, таких как MaxSegmentSize, MaxFlushTime и LoggingLevel.
  2. Когда ОС получит успешный ответ от модема, он отправляет команду МБ IM_CID_DSS_CONNECT DSS на модем с определенным GUID для ведения журнала модема, состоянием МБ IMDssLinkActivate и уникальным идентификатором сеанса DSS.
  3. После получения кода состояния успешного выполнения ОС подготавливается к получению фрагментов из модема. Эти фрагменты называются пакетами DataServiceSessionRead.
  4. Пакеты DataServiceSessionRead продолжают поступать, пока ОС не выдает другую команду МБ IM_CID_DSS_CONNECT с тем же идентификатором сеанса DSS и состоянием МБ IMDSSLinkDeactivate.

Когда модем записывает все журналы в только что созданный канал данных, модем вызывает MbbDeviceReceiveDeviceServiceSessionData, данные из которого доступны для приложений через слой WinRT: MobileBroadbandDeviceService. Журналы модема должны быть отформатированы как печатные строковые данные, которые можно перенаправить в сеанс ETW.

Путь к данным ведения журнала модема

Для передачи данных для ведения журналов полезных данных для ведения журнала используется поток служб данных МБ IM (DSS). Дополнительные сведения о DSS см. в разделе 10.5.38 спецификации МБ IM 1.0.

При подключении или отключении от DSS для ведения журнала модема используется следующий GUID:

GUID Значение
Guid МодемFileTransfer 0EBB1CEB-AF2D-484D-8DF3-53BC51FD162C

На следующей схеме потока показан процесс настройки и разбиений DSS.

Настройка ведения журнала модема DSS и схема разбиений потока.

Расширение интерфейса NDIS

Следующий OID был определен в Windows 10 версии 1903 для поддержки ведения журнала модема.

значения службы МБ IM и CID

Service name UUID Значение UUID
Расширения Подключение тивности IP-адресов Microsoft Basic UUID_BASIC_CONNECT_EXTENSIONS 3d01dcc5-fef5-4d05-9d3a-bef7058e9aaf

В следующей таблице указывается код UUID и команд для каждого CID, а также поддерживает ли CID запросы Set, Query или Event (notification). Дополнительные сведения о его параметрах, структурах данных и уведомлениях см. в отдельном разделе каждого CID в этом разделе.

CID UUID Код команды Set Query Notify
МБ IM_CID_MODEM_LOGGING_CONFIG UUID_BASIC_CONNECT_EXTENSIONS Подлежит уточнению Y Y Y

МБ IM_CID_MODEM_LOGGING_CONFIG

Этот идентификатор CID используется для настройки журналов, собираемых модемом, и частоту отправки из модема на узел через DSS. Перед началом сеанса ведения журнала необходимо настроить ведение журнала. Так как этот CID является частью расширений подключения, он необязателен для IHV для поддержки этого CID. Если IHV поддерживает ведение журнала модемов через канал данных DSS, он должен указать это в качестве возможности. Возможность можно объявить с помощью МБ IM_BASIC_CID_DEVICE_SERVICES CID.

Параметры

Операция Set Query Notification
Команда МБ IM_MODEM_LOGGING_CONFIG Н/Д Неприменимо
Response МБ IM_MODEM_LOGGING_CONFIG МБ IM_MODEM_LOGGING_CONFIG МБ IM_MODEM_LOGGING_CONFIG

Query

Запрашивает текущую конфигурацию ведения журнала модема. InformationBuffer МБ IM_COMMAND_MSG не используется. Следующая МБ IM_MODEM_LOGGING_CONFIG структура используется в InformationBuffer МБ IM_COMMAND_DONE.

МБ IM_MODEM_LOGGING_CONFIG

Смещение Размер Поле Тип Описание
0 4 Версия UINT32 Номер версии этой структуры. Это поле должно иметь значение 1 для версии 1 этой структуры.
4 4 MaxSegmentSize UINT32 Задает размер сегмента в килобайтах для каждого фрагмента, отправляемого модемом. Если максимальный размер фрагмента, поддерживаемый модемом для команды службы устройств, превышает набор значений, то это значение имеет максимальный поддерживаемый размер сегмента.
8 4 MaxFlushTime UINT32 Время в миллисекундах, указывающее максимальное время ожидания модема перед отправкой фрагмента журнала. Если собранные журналы не достигают MaxSegmentSize в течение длительности MaxFlushTime с момента отправки последнего фрагмента журнала, то фрагмент журнала отправляется независимо от его размера. Если нет данных ведения журнала, уведомление не отправляется. Если устройство не может обрабатывать меньшее время очистки, устройство возвращает время, которое он может обрабатывать в ответе. Ответ на запрос или набор содержит настроенный в данный момент MaxFlushTime.
12 4 LevelConfig МБ IM_LOGGING_LEVEL_CONFIG Настраивает уровень сбора журналов. Ответ на запрос или набор содержит настроенную в данный момент конфигурацию LevelConfig.

Примечание.

Если модем не может предоставлять данные журнала операционной системе по запрошенной системе MaxSegmentSize и MaxFlushTimer, он может выбрать собственные значения для этих параметров и обновить ОС в виде заданного ответа или неопрошенного события. Поведение ОС не изменяется, если maxSegmentSize или MaxFlushTimer изменяется, так как он получает пакеты данных независимо от того, и сбрасывает их в файл.

В предыдущей МБ IM_MODEM_LOGGING_CONFIG структуре используется следующее перечисление МБ IM_LOGGING_LEVEL_CONFIG.

Тип значение Описание
МБ IMLoggingLevelProd 0 Предназначено для сбора данных телеметрии из розничной или производственной совокупности. Результирующий журнал должен иметь размер капсулы и содержит только сведения о состоянии ключа или состоянии МБ B или сведения о сбоях.
МБ IMLoggingLevelLabVerbose 1 Предназначено для разработки продуктов МБ B с низким уровнем зрелости. Подробный полный стек захвата модемов. Полученное запись модема должно позволить IHV воспроизвести и полностью восстановить запись во время журнала.
МБ IMLoggingLevelLabMedium 2 Предназначено для проверки и тестирования полей продуктов МБ B с относительной зрелости и стабильности. Уровень детализации и детализации обеспечивает достаточно точек данных для инженеров IHV для обработки большинства МБ B сбоев.
МБ IMLoggingLevelLabLow 3 Предназначено для ведения журнала на уровне узла. Сводный уровень захвата модемов с полным стеком. Включает основные сведения о состоянии модема и взаимодействии с ОС.
МБ IMLoggingLevelOem 4 Зарезервировано для внутреннего использования OEM и IHV.

Set

Команда set используется для настройки уровня, размера сегмента и максимального времени очистки для ведения журнала модема. Структура МБ IM_MODEM_LOGGING_CONFIG используется в InformationBuffer.

Response

InformationBuffer в МБ IM_COMMAND_DONE содержит структуру МБ IM_MODEM_LOGGING_CONFIG.

Незапрошенные события

Незапрошенные события поддерживаются в сценариях, когда модему необходимо сообщить ОС о внутренних изменениях. В настоящее время в Windows 10 версии 1903 эти сценарии не происходят.

Коды состояний

Этот идентификатор CID использует только универсальные коды состояния, определенные в разделе 9.4.5 спецификации МБ IM версии 1.0.

Поведение сеанса DSS во время бездействия

В следующей таблице описывается поведение сеанса DSS во время различных этапов бездействия:

Сценарий Состояние сеанса DSS
Системный спящий режим, только для модема, сброс и восстановление Сеанс DSS сохранялся открытым
Завершение работы системы, перезапуск, гибернация Закрытый сеанс DSS