Wi-Fi implementación de impresión directa
En este tema se proporciona información sobre los requisitos del dispositivo para una implementación de impresión directa de Wi-Fi.
Requisitos de los dispositivos
Para que un dispositivo WFD-WSD obtenga la experiencia de conectividad perfecta, tal como se describe en Wi-Fi Direct información general de impresión, el dispositivo debe cumplir los siguientes requisitos:
El dispositivo debe admitir el emparejamiento vertical y enviar los datos de DPWS (WSD) pertinentes en los mensajes de WPS (formatos descritos en Implementación del emparejamiento vertical del blob de datos a continuación).
Todos los dispositivos lógicos del dispositivo físico DEBEN usar el mismo identificador de contenedor PnP-X en su extensión PnP-X.
Para más información sobre la implementación de identificadores de contenedor PnP-X para dispositivos conectados a la red, consulte Introducción a los identificadores de contenedor.
Para obtener información general sobre las extensiones PnP-X, vea PnP-X: extensiones de Plug and Play para la especificación de Windows.
Dado que el identificador del contenedor WFD coincidirá con el UUID de la impresora, no se necesitará el identificador de contenedor PnP-X en los metadatos del dispositivo. Sin embargo, todavía se recomienda que el dispositivo admita metadatos PnP-X en los metadatos del dispositivo y anuncie un identificador de contenedor PnP-X como parte de los metadatos de PnP-X en los metadatos del dispositivo. Este identificador de contenedor debe coincidir con el identificador del contenedor WFD.
Tener el mismo identificador de contenedor en la capa WFD, así como la capa WSD, garantiza lo siguiente:
La interfaz de usuario de emparejamiento, como el Asistente para agregar un dispositivo, puede comprender que varios dispositivos lógicos coexistirán en un único dispositivo físico y controlar el emparejamiento de forma más lógica para el usuario. (Por ejemplo, el usuario no tiene que emparejar los dispositivos WFD e imprimir manualmente en operaciones independientes).
El dispositivo & impresoras puede mostrar un único icono de dispositivo para el dispositivo aunque haya dos conjuntos de nodos de desarrollo instalados en el sistema (un conjunto de nodos de desarrollo WFD y un conjunto de nodos de desarrollo WSD).
Tenga en cuenta que se requiere una implementación adecuada del identificador de contenedor para que las pruebas del kit de certificación de hardware de Windows se ejecuten correctamente. La implementación incorrecta hará que las pruebas reconozcan cada dispositivo lógico como un dispositivo físico independiente.
Si un dispositivo WFD-WSD no cumple los requisitos anteriores, la experiencia de conectividad descrita en esta implementación no se aplicará a esos dispositivos.
Los dispositivos deben implementar grupos persistentes y grupos de Connection-Multiple simultáneos, tal y como se especifica en las notas del producto de Wi-Fi Alliance - Wi-Fi Direct Industry.
Cómo publicar UUID de contenedor en Wi-Fi Direct para impresoras
Windows detecta impresoras a través de Wi-Fi Direct mediante una solicitud y respuesta de sondeo según la Wi-Fi Alliance "Wi-Fi Peer-to-Peer (P2P) Specification v1.1" Section 3.1.2.1.2 (Fase de examen). El dispositivo, impresora en este caso responderá al equipo con el marco de solicitud de sondeo o respuesta adecuado.
Tanto la solicitud de sondeo & fotogramas de respuesta de sondeo se pueden extender mediante identificadores personalizados. Microsoft ha definido un IE personalizado con varios atributos para habilitar varias extensiones.
Cómo construir un IE personalizado de Microsoft 802.11 para UUID de contenedor
Un IE personalizado consta de un id. de proveedor & datos de proveedor, tal como se muestra en la siguiente ilustración de la extensión del proveedor WFD.
Microsoft usa el identificador de proveedor 0x137 para representar las IEs que pertenecen a Microsoft. El bloque de datos de proveedor que se encuentra en las extensiones de proveedor de cada proveedor contiene un bloque arbitrario de datos que define el proveedor. El bloque de datos del proveedor en las extensiones de proveedor de Microsoft consta de una o varias estructuras type-Length-Value (TLV). La organización de la estructura TLV se muestra en la siguiente ilustración de datos de proveedor de WFD .
Definición de TLV para UUID de contenedor
Hay dos TLV que son relevantes para el identificador contenido. Hay una "solicitud de atributos" que Windows envía al dispositivo & hay un TLV de "UUID de contenedor" con el que responden los dispositivos.
Definiciones:
Nombre/descripción | Tipo (2 bytes) | Longitud (2 bytes) | Valor (definido por longitud) |
---|---|---|---|
Solicitud de atributos de Microsoft (lo envía el equipo en la solicitud de sondeo durante la detección) | 0x1005 | 0x0002 | 0x0001 = Microsoft solicita UUID contenido |
UUID del contenedor (se envía mediante la impresora en la respuesta del sondeo durante la detección) | 0x1006 | 0x0010 | Para definirla la impresora |
Implementación del emparejamiento vertical de blobs de datos
El blob de datos de emparejamiento vertical permite que el equipo comprenda el servicio de impresión WSD antes de conectarse a la impresora. Este mecanismo es un sustituto sencillo de la detección de servicios, ya que se implementó antes de que se escribiera la especificación de detección de servicios para Wi-Fi Direct.
Al igual que el UUID de contenedor, el blob de datos de emparejamiento vertical también es un atributo de Microsoft IE. A diferencia del atributo Container ID, este debe publicarse en el mensaje de WPS M7/M8 (durante Wi-Fi emparejamiento directo) desde el dispositivo en función de su rol.
Cómo construir un IE personalizado de Microsoft 802.11 para el emparejamiento vertical
Un IE personalizado consta de un id. de proveedor & datos de proveedor, tal como se muestra en la siguiente ilustración de extensión de proveedor de WFD.
Microsoft usa el identificador de proveedor 0x137 para representar las IEs que pertenecen a Microsoft. El bloque de datos de proveedor que se encuentra en las extensiones de proveedor de cada proveedor contiene un bloque arbitrario de datos que define el proveedor. El bloque de datos del proveedor en las extensiones de proveedor de Microsoft consta de una o varias estructuras type-Length-Value (TLV). La organización de la estructura TLV se muestra en la siguiente ilustración de datos de proveedor de WFD:
Definición de TLV para blob de emparejamiento vertical
Se definen dos tipos de TLV específicos para el emparejamiento vertical rally. Estos tipos de TLV se enumeran en la tabla siguiente.
Nombre/descripción | Tipo (2 bytes) | Longitud (2 bytes) | Valor (definido por longitud) |
---|---|---|---|
Identificador de emparejamiento vertical (comunica la topología interna del dispositivo) | 0x1001 | 0x0002 | Vea "TLV DE IDENTIFICADOR DE EMPAREJAMIENTO VERTICAL" a continuación. |
UUID de transporte (valor UUID de transporte del dispositivo) | 0x1002 | 0x0010 | Consulte la sección "Definición de TLV para UUID de contenedor" anterior. |
TLV del identificador de emparejamiento vertical
El TLV del identificador de emparejamiento vertical (VPI) comunica la topología interna de un dispositivo, que especifica cómo Windows puede comunicarse con los servicios del dispositivo. Se requiere al menos un VPI para admitir extensiones de emparejamiento vertical rally, incluso si el emparejamiento vertical no está implementado en el dispositivo. En esta situación, el VPI especificaría que no se use ningún transporte. El TLV de VPI debe enviarse como parte de la extensión del proveedor de Microsoft en el mensaje de WPS M1.
Los datos que se incluyen con un TLV de VPI son de 2 bytes de longitud y constan de dos campos diferentes: un campo de transporte y un campo solicitud de perfil, como se muestra en la siguiente ilustración de datos WFD incluidos con un TLV de VPI (cada campo es de 1 byte long).
Campo Transporte de VPI
El campo Transporte especifica el transporte que Windows puede usar para comunicarse con el dispositivo. Solo se puede especificar un transporte por VPI. Si el dispositivo admite varios transportes PnP-X, puede comunicarlo incluyendo varios VPI TLV (uno para cada transporte) en la extensión del proveedor de Microsoft. Los valores válidos para el campo Transporte de VPI se enumeran en la tabla siguiente.
Valor | Transporte |
---|---|
0x00 | None |
0x01 | DPWS |
0x02 | UPnP |
0x03 | DPWS seguro |
0x04-0xFF | Reservado |
Nota
Windows 7 proporciona compatibilidad con DPWS (0x01) o DPWS seguro (0x03), pero no ambos.
Si un dispositivo no implementa el emparejamiento vertical de rally, solo debe especificar un VPI con un valor de transporte de 0x00 (Ninguno). En esta situación, el dispositivo no debe especificar un TLV uuID de transporte. Esto notifica a Windows que no debe esperar emparejarse con el dispositivo. Por lo tanto, Windows no intenta emparejar previamente con el dispositivo mientras configura la configuración de Wi-Fi del dispositivo.
Campo Solicitud de perfil de VPI
El VPI permite que un dispositivo use el protocolo WPS para aprovisionar los servicios del dispositivo. En esta situación, un servicio de dispositivo puede solicitar que Windows lo envíe información para configurar el servicio. Esta información se conoce como perfil. El segundo campo del VPI especifica si el dispositivo solicita que Windows lo envíe a un perfil. Los valores válidos para el campo Solicitud de perfil de VPI se enumeran en la tabla siguiente.
Valor | Descripción |
---|---|
0x01 | Wi-Fi perfil solicitado. Este es el único valor compatible actualmente con Windows 7. |
0x00, 0x02 0xFF | Reservado |
El valor del campo Solicitud de perfil de VPI de 0x00 se considera reservado porque Actualmente No es compatible con Windows 7. El campo Solicitud de perfil de VPI solo debe establecerse en un valor de 0x01 (perfil wi-fi solicitado), incluso si se especifica un valor de 0x00 (ninguno) para el transporte.
TLV de UUID de transporte
El TLV UUID de transporte especifica que un transporte específico (DPWS o UPnP) tiene un valor UUID base diferente al UUID de WPS. El UUID de transporte TLV es opcional. Si no se incluye el UUID de transporte, el UUID de WPS se usa para formar una identidad para el transporte especificado.
Si se incluye un TLV UUID de transporte, debe seguir inmediatamente el TLV de VPI que identifica el transporte. Si se incluye más de un TLV de VPI, se puede incluir un TLV UUID de transporte después de cada TLV de VPI.
El valor de datos TLV de UUID de transporte debe estar en orden de bytes de red.
Si el dispositivo especifica un valor de transporte VPI de 0x00 (ninguno), no incluya un TLV de UUID de transporte.
Ejemplo de WPS
En este ejemplo, supongamos que un dispositivo de impresora usa DPWS e implementa la interfaz de impresión WS. El dispositivo usa los valores UUID en la tabla siguiente:
Servicio | Identidad |
---|---|
WPS | ec742c0d-5915-4bcb-b969-008132afec5e |
Impresión de DPWS | urn:uuid:00010203-0405-0607-0809-0a0b0c0e0e0f |
Valores UUID de servicio de ejemplo de WPS
Los valores UUID se especifican en todas las minúsculas y la cadena de identidad de DPWS usa el formato urn:uuid:uuid_value.
Nota
Los valores UUID de este ejemplo son ficticios y no se deben usar en un dispositivo real.
Cuando el dispositivo envía sus mensajes de WPS M7/M8, incluye la extensión de proveedor de Microsoft que se muestra en el ejemplo siguiente de detalles de la extensión del proveedor de WFD:
En este ejemplo, la extensión de proveedor contiene un valor id. de proveedor de 0x137, que lo identifica como una extensión de proveedor de Microsoft. Dentro del campo de datos del proveedor de la extensión del proveedor hay dos estructuras TLV.
El primer TLV tiene un valor type de 0x1001, que identifica el TLV como un VPI. La longitud de los datos del primer TLV es de 2 bytes, que contienen un valor de 0x0101. Esto especifica que el dispositivo admite el transporte DPWS (0x01) y que solicita un perfil (0x01).
El segundo TLV tiene un valor type de 0x1002, que identifica el TLV como UUID de transporte. La longitud de los datos del segundo TLV es de 16 bytes, que contienen la versión binaria del valor UUID 00010203-0405-0607-0809-0a0b0c0e0e0f.
Cuando un cliente empareja verticalmente la impresora, Windows configura primero la radio Wi-Fi del dispositivo con los ajustes adecuados. A continuación, empareja el dispositivo DPWS del dispositivo mediante el valor de UUID de transporte especificado.
Una vez que el dispositivo se conecta a la red Wi-Fi y anuncia sus servicios DPWS, Windows crea los nodos de dispositivo PnP adecuados e instala y carga los controladores adecuados.