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 :
L’appareil doit prendre en charge le couplage vertical et envoyer les données DPWS (WSD) appropriées dans les messages WPS (formats décrits dans Implémentation de l’objet blob de données de couplage vertical ci-dessous).
Tous les appareils logiques de l’appareil physique DOIVENT utiliser le même ID de conteneur PnP-X dans son extension PnP-X.
Pour plus d’informations sur l’implémentation des ID de conteneur PnP-X pour les appareils connectés au réseau, consultez Vue d’ensemble des ID de conteneur.
Pour obtenir des informations générales sur les extensions PnP-X, consultez la spécification PnP-X : Plug-and-Play extensions pour Windows.
É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.
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.
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.
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 :
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).
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 :
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.