Operações PCO (Opções de Configuração de Protocolo MB)

Visão geral

A finalidade das PCO (Opções de Configuração de Protocolo) é transferir as opções de protocolo de rede externa associadas a uma ativação de contexto PDP (protocolo de dados de pacote). As definições de NDIS do Windows para valores PCO normalmente têm sido genéricas para receber valores PCO completos do modem e da rede no futuro. No entanto, a partir do Windows 10 versão 1709, alguns modems só podem passar elementos PCO específicos do operador para o sistema operacional. Este tópico define o comportamento da implementação de PCO somente específica do operador atual.

Fluxos

Há três cenários em que o valor de PCO será passado para o host:

  • Quando um novo valor de PCO chegou em uma conexão ativada
  • Quando um aplicativo ou serviço consulta o valor PCO mais recente do modem
  • Quando uma conexão é colocada em ponte ou ativada pela primeira vez e um valor PCO já existe no modem

Para o primeiro cenário, o modem deve enviar uma notificação NDIS_STATUS_WWAN_PCO_STATUS para o sistema operacional indicando uma nova alteração de valor PCO sempre que um novo valor PCO for recebido da rede, com o número da porta NDIS apropriado para representar o PDN correspondente. Para evitar esvaziar a bateria desnecessariamente, o modem deve evitar notificações barulhentas, conforme descrito em Comportamento de modem com Suspensão Seletiva e Espera Conectada.

Para o segundo cenário, quando um aplicativo ou serviço consulta o valor PCO do modem em uma conexão PDN ativada, o host enviará ao modem uma solicitação de consulta OID_WWAN_PCO para ler o valor mais recente do PCO armazenado em cache no modem.

Para o terceiro cenário, quando uma conexão é ativada ou colocada em ponte no host, o modem deve enviar uma notificação NDIS_STATUS_WWAN_PCO_STATUS quando já existir um valor PCO no modem para a conexão ativada ou em ponte que o host solicitou. A notificação deve ser passada do número da porta NDIS correspondente do PDN.

A figura a seguir mostra o fluxo do cenário:

Diagrama que mostra o fluxo de operações PCO do MB.

Comportamento de modem com suspensão seletiva e espera conectada

Quando a Suspensão Seletiva está habilitada, o modem pode notificar o sistema operacional sempre que receber uma estrutura de dados PCO da rede. No entanto, o modem deve evitar a ativação desnecessária do dispositivo. Caso contrário, as notificações PCO barulhentas da rede ativarão o dispositivo com frequência e drenarão a bateria desnecessariamente.

Quando o Modo de Espera Conectado estiver habilitado, o modem não deverá notificar o sistema operacional quando receber estruturas de dados PCO da rede, pois ele não apenas ativará o dispositivo, mas também ativará o sistema operacional, o que não é necessário. Em vez disso, o modem deve armazenar em cache todos os elementos PCO mais recentes da estrutura de dados e notificar o sistema operacional depois que o sistema operacional sair do Modo de Espera Conectado. Para um modem do MBIM, ele deve armazenar em cache todas as estruturas de dados PCO e enviar apenas notificações PCO para o sistema operacional depois que o host tiver assinado. Isso será feito usando o CID MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST quando a energia do sistema tiver retornado à energia total depois de sair do Modo de Espera Conectado.

Redefinindo o modem com base nos valores de PCO

Com base nos valores PCO recebidos da rede, o modem será redefinido nos seguintes cenários:

  • O usuário concluiu a autoativação depois de receber PCO = 5 da rede. Um novo valor de PCO (3, 0 ou qualquer coisa que o Aplicativo da Operadora Móvel possa reconhecer) será enviado para o sistema operacional e o sistema operacional o passará para o Aplicativo da Operadora Móvel.
  • O usuário adicionou mais crédito à sua conta depois de receber PCO = 3. Um novo valor de PCO (0 ou qualquer coisa que o Aplicativo da Operadora Móvel possa reconhecer) será enviado para o sistema operacional e o sistema operacional o passará para o Aplicativo da Operadora Móvel.

O host não está ciente do modem que está sendo redefinido, portanto, as conexões ativadas do host não serão desativadas e o modem deverá restabelecer automaticamente a conexão com esses PDN após a redefinição. Ao estabelecer a conexão e receber um novo valor PCO de entrada da rede, o modem fornecerá uma notificação de NDIS_STATUS_WWAN_PCO_STATUS não solicitada ao host.

O diagrama a seguir ilustra o fluxo de redefinição do modem quando ocorre um desses cenários, com a Verizon Wireless como o MO de exemplo:

Diagrama que mostra o processo de redefinição de modem mb com base em valores PCO.

Interface NDIS para o modem

Para consultar o status e o conteúdo de um valor PCO que o modem recebeu da rede do operador, consulte OID_WWAN_PCO. OID_WWAN_PCO usa a estrutura NDIS_WWAN_PCO_STATUS , que, por sua vez, contém uma estrutura WWAN_PCO_VALUE que representa o conteúdo de informações PCO da rede.

Para a notificação de status enviada por um driver de miniporto modem para informar o sistema operacional do estado atual do PCO no modem, consulte NDIS_STATUS_WWAN_PCO_STATUS.

MB CID para o modem

Serviço = MBB_UUID_BASIC_CONNECT_EXT_CONSTANT

UUID do serviço = 3d01dcc5-fef5-4d05-0d3a-bef7058e9aaf

Os seguintes CIDs são definidos para PCO:

CID Código de comando Versão mínima do sistema operacional
MBIM_CID_PCO 9 Windows 10, versão 1709

MBIM_CID_PCO

Esse comando é usado para consultar os dados PCO armazenados em cache no modem da rede da operadora móvel.

Consulta

O InformationBuffer contém um MBIM_PCO_VALUE no qual o único campo relevante é SessionId. SessionId é reservado para uso futuro e sempre será 0 no Windows 10, versão 1709. A SessionId em uma consulta indica qual valor PCO do fluxo de dados IP deve ser retornado pela função .

Definir

Não aplicável.

Evento não solicitado

Os eventos não solicitados contêm uma MBIM_PCO_VALUE e são enviados quando um novo valor de PCO chega em uma conexão ativada.

Parâmetros

Operação Definir Consulta Notificação
Comando Não aplicável MBIM_PCO_VALUE Não aplicável
Resposta Não aplicável MBIM_PCO_VALUE MBIM_PCO_VALUE

estruturas de dados

MBIM_PCO_TYPE
Type Valor Descrição
MBIMPcoTypeComplete 0 Especifica que a estrutura PCO completa será passada conforme recebido da rede e o cabeçalho reflete realisticamente o protocolo no octeto 3 da estrutura PCO, definida na especificação 3GPP TS24.008.
MBIMPcoTypePartial 1 Especifica que o modem passará apenas um subconjunto de estruturas PCO que recebeu da rede. O cabeçalho corresponde à estrutura PCO definida na especificação 3GPP TS24.008, mas o "Protocolo de configuração" do octeto 3 pode não ser válido.
MBIM-PCO-TYPE
Deslocamento Tamanho Campo Type Descrição
0 4 SessionId UINT32 A SessionId em uma consulta indica qual valor PCO do fluxo de dados IP deve ser retornado pela função .
4 4 PcoDataSize UINT32 O comprimento de PcoData, de 0 a 256. Esse valor será 0 em uma consulta.
8 4 PcoDataType UINT32 O tipo de dados PCO. Para obter mais informações, consulte MBIM_PCO_TYPE.
12 PcoDataBuffer DATABUFFER A estrutura PCO da especificação 3GPP TS24.008.

Códigos de status

Esse CID usa apenas códigos de status genéricos.

Testes do HLK (Hardware Lab Kit)

Consulte Etapas para instalar o HLK.

No HLK Studio, conecte-se ao driver de modem celular do dispositivo e execute o teste: TestPco.

API do WinRT

PCO

Gatilho de plano de fundo PCO

Consulte Também

NDIS_STATUS_WWAN_PCO_STATUS

NDIS_WWAN_PCO_STATUS

WWAN_PCO_VALUE

OID_WWAN_PCO