Partager via


Wi-Fi Implémentation de l’impression directe

Cette rubrique fournit des informations sur la configuration requise des appareils pour une implémentation d’impression directe Wi-Fi.

Exigences relatives aux appareils

Pour qu’un appareil WFD-WSD bénéficie d’une expérience de connectivité transparente, comme décrit dans Wi-Fi Direct vue d’ensemble de l’impression, l’appareil doit respecter les exigences suivantes :

Étant donné que l’ID de conteneur WFD correspond à l’UUID de l’imprimante, l’ID de conteneur PnP-X n’est pas requis dans les métadonnées de l’appareil. Toutefois, il est toujours recommandé que l’appareil prenne en charge les métadonnées PnP-X dans les métadonnées de l’appareil et publie un ID de conteneur PnP-X dans le cadre des métadonnées PnP-X dans les métadonnées de l’appareil. Cet ID de conteneur doit correspondre à l’ID de conteneur WFD.

Le fait d’avoir le même ID de conteneur au niveau de la couche WFD et de la couche WSD garantit les éléments suivants :

  • L’interface utilisateur d’appairage, telle que l’Assistant Ajout d’un appareil, peut comprendre que plusieurs appareils logiques coexistent dans un seul appareil physique et gèrent le couplage de manière plus logique pour l’utilisateur. (par exemple, l’utilisateur n’a pas besoin de coupler les appareils WFD et d’imprimer manuellement dans des opérations distinctes.)

  • Les imprimantes & d’appareil peuvent afficher une seule icône d’appareil pour l’appareil, même s’il existe deux ensembles de devnodes installés sur le système (un ensemble de devnodes WFD et un ensemble de devnodes WSD).

  • Notez qu’une implémentation appropriée de l’ID de conteneur est requise pour que les tests du kit de certification matérielle Windows s’exécutent correctement. Une implémentation incorrecte oblige les tests à reconnaître chaque appareil logique comme un appareil physique distinct.

Si un appareil WFD-WSD n’est pas conforme aux exigences ci-dessus, l’expérience de connectivité décrite dans cette implémentation ne s’applique pas à ces appareils.

Les appareils doivent implémenter des groupes persistants et des groupes de Connection-Multiple simultanés, comme spécifié dans le livre blanc De l’Alliance Wi-Fi - Wi-Fi Direct Industry.

Comment publier l’UUID de conteneur sur Wi-Fi Direct pour les imprimantes

Windows détecte les imprimantes sur Wi-Fi Direct à l’aide d’une demande/réponse de sonde conformément à la section 3.1.1.2.1 de la Wi-Fi Alliance « Spécification d’égal à égal (P2P) Wi-Fi v1.1 » (phase d’analyse). Dans ce cas, l’imprimante de l’appareil répond au PC à l’aide du cadre de demande/réponse de la sonde approprié.

Les trames de requête de sonde & de réponse de sonde peuvent être étendues à l’aide d’EE personnalisées. Microsoft a défini un IE personnalisé avec plusieurs attributs pour activer différentes extensions.

Comment construire un IE personnalisé Microsoft 802.11 pour l’UUID conteneur

Un IE personnalisé se compose d’un ID de fournisseur & données du fournisseur, comme illustré dans l’illustration d’extension de fournisseur WFD suivante.

wfd vendor extension.

Microsoft utilise l’ID de fournisseur 0x137 pour représenter les E/S appartenant à Microsoft. Le bloc de données fournisseur qui se trouve dans les extensions de fournisseur de chaque fournisseur contient un bloc arbitraire de données que le fournisseur définit. Le bloc de données fournisseur dans les extensions de fournisseur Microsoft se compose d’une ou plusieurs structures TLV (Type-Length-Value). La organization de la structure TLV est illustrée dans l’illustration de données fournisseur WFD suivante.

données de fournisseur wfd.

Définition TLV pour l’UUID de conteneur

Il existe deux TTLV qui sont pertinents pour l’ID contenu. Il existe une « demande d’attributs » que Windows envoie à l’appareil & il existe un TLV « Container UUID » avec lequel les appareils répondent.

Définitions :

Nom/description Type (2 octets) Longueur (2 octets) Valeur (définie par la longueur)
Demande d’attributs Microsoft (envoyée par le PC dans la demande de sonde lors de la découverte) 0x1005 0x0002 0x0001 = Microsoft demande l’UUID contenu
UUID de conteneur (il est envoyé par l’imprimante dans la réponse de sonde lors de la découverte) 0x1006 0x0010 À définir par l’imprimante

Implémentation d’un objet blob de données de couplage vertical

L’objet blob de données de couplage vertical permet au PC de comprendre le service d’impression WSD avant de se connecter à l’imprimante. Ce mécanisme est un simple substitut à la découverte de service, car il a été implémenté avant l’écriture de la spécification de découverte de service pour Wi-Fi Direct.

Comme l’UUID de conteneur, l’objet blob de données de couplage vertical est également un attribut de Microsoft IE. Contrairement à l’attribut Container ID, celui-ci doit être publié dans un message WPS M7/M8 (pendant Wi-Fi couplage direct) à partir de l’appareil en fonction de son rôle.

Comment construire un IE personnalisé Microsoft 802.11 pour le couplage vertical

Un IE personnalisé se compose d’un ID de fournisseur & données de fournisseur, comme illustré dans l’illustration suivante de l’extension fournisseur WFD.

wfd vendor extension.

Microsoft utilise l’ID de fournisseur 0x137 pour représenter les E/S appartenant à Microsoft. Le bloc de données fournisseur qui se trouve dans les extensions de fournisseur de chaque fournisseur contient un bloc arbitraire de données que le fournisseur définit. Le bloc de données fournisseur dans les extensions de fournisseur Microsoft se compose d’une ou plusieurs structures TLV (Type-Length-Value). Le organization de la structure TLV est illustré dans l’illustration de données fournisseur WFD suivante :

données de fournisseur wfd.

Définition TLV pour l’objet blob de couplage vertical

Deux types TLV spécifiques sont définis pour le couplage vertical rally. Ces types TLV sont répertoriés dans le tableau suivant.

Nom/description Type (2 octets) Longueur (2 octets) Valeur (définie par la longueur)
Identificateur de couplage vertical (communique la topologie interne de l’appareil) 0x1001 0x0002 Consultez « VERTICAL PAIRING IDENTIFIER TLV » ci-dessous.
UUID de transport (valeur UUID de transport de l’appareil) 0x1002 0x0010 Consultez « Définition TLV pour l’UUID de conteneur » ci-dessus.

TLV de l’identificateur de couplage vertical

Le TLV VPI (Vertical Pairing Identifier) communique la topologie interne d’un appareil, qui spécifie comment Windows peut communiquer avec les services de l’appareil. Au moins un VPI est requis pour prendre en charge les extensions d’appairage vertical Rally, même si l’appairage vertical n’est pas implémenté dans l’appareil. Dans ce cas, le VPI spécifie qu’aucun transport n’est utilisé. Le TLV VPI doit être envoyé dans le cadre de l’extension du fournisseur Microsoft dans le message WPS M1.

Les données incluses dans un TLV VPI ont une longueur de 2 octets et se composent de deux champs différents : un champ Transport et un champ Demande de profil, comme le montre l’illustration suivante des données WFD incluses avec un TLV VPI (chaque champ est long de 1 octet).

Données wfd incluses avec un tlv vpi.

Champ Transport VPI

Le champ Transport spécifie le transport que Windows peut utiliser pour communiquer avec l’appareil. Un seul transport peut être spécifié par VPI. Si l’appareil prend en charge plusieurs transports PnP-X, il peut le communiquer en incluant plusieurs VPV (un pour chaque transport) dans l’extension du fournisseur Microsoft. Les valeurs valides pour le champ Transport VPI sont répertoriées dans le tableau suivant.

Valeur Transport
0x00 None
0x01 P DPWS
0x02 UPnP
0x03 Secure DPWS
0x04-0xFF Réservé

Notes

Windows 7 prend en charge DPWS (0x01) ou DPWS sécurisé (0x03), mais pas les deux.

Si un appareil n’implémente pas rally vertical pairing, il ne doit spécifier qu’un seul VPI avec une valeur transport de 0x00 (Aucun). Dans ce cas, l’appareil ne doit pas spécifier de TLV d’UUID de transport. Cela avertit Windows qu’il ne doit pas s’attendre à être associé à l’appareil. Par conséquent, Windows n’essaie pas de pré-coupler avec l’appareil pendant qu’il configure les paramètres de Wi-Fi de l’appareil.

Champ Demande de profil VPI

Le VPI permet à un appareil d’utiliser le protocole WPS pour approvisionner les services de l’appareil. Dans ce cas, un service d’appareil peut demander à Windows de lui envoyer des informations pour la configuration du service. Ces informations sont appelées profil. Le deuxième champ du VPI spécifie si l’appareil demande à Windows de lui envoyer un profil. Les valeurs valides pour le champ Demande de profil VPI sont répertoriées dans le tableau suivant.

Valeur Description
0x01 Wi-Fi profil demandé. Il s’agit de la seule valeur actuellement prise en charge par Windows 7.
0x00, 0x02-0xFF Réservé

La valeur du champ Demande de profil VPI de 0x00 est considérée comme réservée, car elle n’est actuellement pas prise en charge par Windows 7. Le champ Demande de profil VPI doit uniquement être défini sur une valeur de 0x01 (profil Wi-Fi demandé), même si une valeur de 0x00 (aucun) est spécifiée pour le transport.

Transport UUID TLV

Le TLV transport UUID spécifie qu’un transport spécifique (DPWS ou UPnP) a une valeur UUID de base différente de celle de l’UUID WPS. Le TLV de l’UUID de transport est facultatif. Si le TLV de l’UUID de transport n’est pas inclus, l’UUID WPS est utilisé pour former une identité pour le transport spécifié.

Si un TLV d’UUID de transport est inclus, il doit suivre immédiatement le VPI TLV qui identifie le transport. Si plusieurs TLV VPI sont inclus, un TLV UUID de transport peut être inclus après chaque TLV VPI.

La valeur des données TLV de l’UUID de transport doit être dans l’ordre d’octet réseau.

Si l’appareil spécifie une valeur de transport VPI de 0x00 (none), n’incluez pas de TLV transport UUID.

Exemple WPS

Pour cet exemple, supposons qu’un périphérique d’imprimante utilise DPWS et implémente l’interface WS Print. L’appareil utilise les valeurs UUID dans le tableau suivant :

Service Identité
WPS ec742c0d-5915-4bcb-b969-008132afec5e
Impression DPWS urn :uuid :00010203-0405-0607-0809-0a0b0c0e0e0f

Exemple de valeurs UUID de service WPS

Les valeurs UUID sont spécifiées en minuscules, et la chaîne d’identité DPWS utilise le format urn :uuid :uuid_value.

Notes

Les valeurs UUID de cet exemple sont fictives et ne doivent pas être utilisées dans un appareil réel.

Lorsque l’appareil envoie ses messages WPS M7/M8, il inclut l’extension du fournisseur Microsoft illustrée dans l’exemple suivant de détails de l’extension du fournisseur WFD :

exemple de détails de l’extension du fournisseur wfd.

Dans cet exemple, l’extension fournisseur contient une valeur d’ID de fournisseur de 0x137, qui l’identifie comme une extension de fournisseur Microsoft. À l’intérieur du champ de données fournisseur de l’extension fournisseur se trouvent deux structures TLV.

Le premier TLV a une valeur Type de 0x1001, qui identifie la TLV en tant que VPI. La longueur des données du premier TLV est de 2 octets, qui contiennent une valeur de 0x0101. Cela spécifie que l’appareil prend en charge le transport DPWS (0x01) et qu’il demande un profil (0x01).

Le deuxième TLV a une valeur Type de 0x1002, qui identifie le TLV comme un UUID de transport. La longueur des données du deuxième TLV est de 16 octets, qui contiennent la version binaire de la valeur UUID 00010203-0405-0607-0809-0a0b0c0e0e0f.

Lorsqu’un client associe verticalement l’imprimante, Windows configure d’abord la radio Wi-Fi de l’appareil avec les paramètres appropriés. Il associe ensuite l’appareil DPWS de l’appareil à l’aide de la valeur UUID de transport spécifiée.

Une fois que l’appareil se connecte au réseau Wi-Fi et annonce ses services DPWS, Windows crée les nœuds d’appareil PnP appropriés et installe et charge les pilotes appropriés.