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:
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:
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.