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


Операции конфигурации протокола MB (PCO)

Обзор

Назначение параметров конфигурации протокола (PCO) заключается в передаче параметров внешнего сетевого протокола, связанных с активацией контекста протокола PDP. Определения Windows NDIS для значений PCO обычно являются универсальными для получения полных значений PCO из модема и сети в будущем. Однако начиная с Windows 10 версии 1709 некоторые модемы могут передавать только определенные элементы PCO оператора в ОС. В этом разделе определяется поведение реализации PCO только для текущего оператора.

Пото́ки

Существует три сценария, в которых значение PCO будет передаваться хосту.

  • При поступлении нового значения PCO в ходе активированного подключения
  • Когда приложение или служба запрашивает последнее значение PCO из модема
  • Когда соединение мостится или активируется в первый раз, а значение PCO уже существует в модеме

Для первого сценария модем должен отправлять ОС уведомление NDIS_STATUS_WWAN_PCO_STATUS, информирующее об изменении значения PCO при получении нового значения из сети, с указанием соответствующего номера порта NDIS для представления соответствующего PDN. Чтобы избежать разрядки аккумулятора, модем должен устранить шумные уведомления, как описано в разделе о поведении модема при выборочной приостановке и подключенной готовности.

Во втором сценарии, когда приложение или служба запрашивает значение PCO из модема на активированном подключении PDN, узел отправляет модему запрос OID_WWAN_PCO, чтобы прочитать последнее кэшированное значение PCO в модеме.

В третьем сценарии, когда подключение активируется или создается мостовое соединение на хосте, модем должен отправлять уведомление NDIS_STATUS_WWAN_PCO_STATUS, если значение PCO уже существует в модеме для активированного или мостового соединения, запрошенного хостом. Уведомление должно быть передано из соответствующего номера порта NDIS pdN.

На следующем рисунке показан поток сценария:

диаграмма, показывающая поток операций PCO в MB.

Поведение модема с выборочной приостановкой и подключенным резервным режимом

Если включена выборочная приостановка, модем может уведомлять ОС всякий раз, когда он получает структуру данных PCO из сети. Однако модем должен избежать ненужного пробуждения устройства. В противном случае шумные уведомления PCO из сети будут часто пробуждать устройство и разряжать батарею без необходимости.

Если включен режим "Подключенный режим ожидания", модем не должен уведомлять ОС о получении структур данных PCO из сети, поскольку это не только разбудит устройство, но и разбудит ОС, что не обязательно. Вместо этого модем должен кэшировать все последние элементы PCO из структуры данных и уведомлять ОС после выхода из режима подключенного ожидания. Для модема MBIM все структуры данных PCO должны быть кэшированы, и уведомления PCO должны отправляться в ОС только после подписки узла. Это будет сделано с помощью MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST CID, когда энергоснабжение системы вернется на полную мощность после выхода из режима подключенного ожидания.

Сброс модема на основе значений PCO

На основании значений PCO, полученных из сети, модем будет перезагружен в следующих ситуациях.

  • Пользователь завершил самостоятельную активацию после получения PCO = 5 из сети. Новое значение PCO (3, 0 или любое значение, которое может распознать приложение мобильного оператора) будет отправлено в ОС, и ОС передаст его в приложение мобильного оператора.
  • Пользователь добавил больше кредитов к своей учетной записи после получения PCO = 3. Новое значение PCO (0 или любое значение, которое может распознать приложение мобильного оператора) будет отправлено в ОС, и ОС передаст его приложению мобильного оператора.

Хост не знает о сбросе модема, поэтому активные соединения, инициированные хостом, не будут деактивированы, и модем должен автоматически повторно установить соединение с этими PDN-сетями после сброса. После установления подключения и получения нового входящего значения PCO из сети модем предоставит незапрошенное NDIS_STATUS_WWAN_PCO_STATUS уведомление хосту.

На следующей схеме показан процесс сброса модема в одном из следующих сценариев, используя Verizon Wireless как пример MO.

Схема, демонстрирующая процесс сброса модема MB на основе значений PCO.

Интерфейс NDIS для модема

Чтобы запросить статус и полезные данные значения PCO, полученного модемом из сети оператора, см. в OID_WWAN_PCO. OID_WWAN_PCO использует структуру NDIS_WWAN_PCO_STATUS, которая, в свою очередь, содержит структуру WWAN_PCO_VALUE, представляющую полезные данные PCO из сети.

Уведомление о состоянии, отправленное драйвером минипорта модема, чтобы сообщить ОС о текущем состоянии PCO в модеме, см. NDIS_STATUS_WWAN_PCO_STATUS.

CID МБ для модема

Service = MBB_UUID_BASIC_CONNECT_EXT_CONSTANT

Идентификатор службы (UUID) = 3d01dcc5-fef5-4d05-0d3a-bef7058e9aaf

Для PCO определены следующие CID:

CID Код команды Минимальная версия ОС
MBIM_CID_PCO 9 Windows 10 версии 1709

MBIM_CID_PCO

Эта команда используется для запроса данных PCO, кэшированных в модеме из сети мобильных операторов.

Запрос

InformationBuffer содержит MBIM_PCO_VALUE, в котором единственное соответствующее поле — SessionId. SessionId зарезервирован для дальнейшего использования и всегда будет 0 в Windows 10 версии 1709. SessionId в запросе указывает, какое значение PCO потока данных IP должно будет возвращаться функцией.

Набор

Неприменимо.

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

Незапрошенные события содержат MBIM_PCO_VALUE и отправляются при поступлении нового значения PCO в активированное соединение.

Параметры

Операция Набор Запрос Уведомление
Команда Неприменимо MBIM_PCO_VALUE Неприменимо
Ответ Неприменимо MBIM_PCO_VALUE MBIM_PCO_VALUE

Структуры данных

MBIM_PCO_TYPE
Тип Ценность Описание
MBIMPcoTypeComplete 0 Указывает, что полная структура PCO будет передаваться в том виде, в котором была получена из сети, а заголовок точно отражает протокол в октете 3 структуры PCO, определенной в спецификации 3GPP TS24.008.
MBIMPcoTypePartial 1 Указывает, что модем будет передавать только подмножество структур PCO, полученных из сети. Заголовок соответствует структуре PCO, определенной в спецификации 3GPP TS24.008, но "протокол конфигурации" в октете 3 может быть недопустимым.
MBIM-PCO-TYPE
Смещение Размер Поле Тип Описание
0 4 Идентификатор сеанса UINT32 SessionId в запросе указывает, какое значение PCO потока IP-данных должно возвращаться функцией.
4 4 PcoDataSize UINT32 Длина PcoData от 0 до 256. Это значение будет равно 0 в запросе.
8 4 PcoDataType UINT32 Тип данных PCO. Дополнительные сведения см. в MBIM_PCO_TYPE.
12 PcoDataBuffer буфер данных Структура PCO из спецификации 3GPP TS24.008.

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

Этот идентификатор CID использует только универсальные коды состояния.

Тесты комплекта для лабораторных испытаний аппаратного обеспечения (HLK)

См. шаги установки HLK в.

В HLK Studio подключитесь к драйверу модема сотовой связи устройства и запустите тест: TestPco.

WinRT API

PCO

фонового триггера PCO

См. также

NDIS_STATUS_WWAN_PCO_STATUS

NDIS_WWAN_PCO_STATUS

WWAN_PCO_VALUE

OID_WWAN_PCO