Wi-Fi implémentation du jumelage direct

Cette section fournit des instructions de conception et des conditions requises pour qu’un périphérique participe aux cas d’usage Appuy et Configuration et Appuy et Reconnecter.

Notes

L’implémentation de jumelage décrite dans cette rubrique est actuellement prise en charge dans Windows 8.1, pour le couplage avec des périphériques d’imprimante uniquement.

Windows 10 et les versions ultérieures prennent en charge nfc pour Wi-Fi transfert de connexion statique direct via l’enregistrement de configuration de l’opérateur P2P Wi-Fi de l’alliance Wi-Fi. Pour plus d’informations, consultez Wi-Fi Alliance.

Appairage d’appareils direct Wi-Fi périphérique

Pendant l’appui, NFP reçoit des informations d’appairage à partir de l’appareil qui se connecte. NFP transmet les informations de jumelage à Windows. Wi-Fi appareils direct suivent la procédure de jumelage hors bande (OOB) de Wi-Fi Alliance et les recommandations du forum NFC. Windows s’appuie sur un message de jumelage propriétaire, comme défini ci-dessous.

Windows invite l’utilisateur à donner son consentement et, le cas échéant, Windows tente de se connecter à chacune des adresses, dans l’ordre, jusqu’à ce que l’une d’elles réussisse. Il n’y a plus d’interaction entre un fournisseur NFP dans le PC et l’appareil de connexion.

En utilisant NFC comme exemple, l’installation unidirectionnelle s’effectue en stockant les informations de couplage dans une balise NFC statique ou passive (une balise NFC active en mode d’émulation statique peut également être utilisée). Windows s’abonne à ces informations de jumelage. Un fournisseur NFP compatible NFC sur le PC reçoit les informations de connexion de la balise et les transmet à Windows en tant qu’abonné. À la réception des informations de connexion, Windows effectue l’installation réelle de l’appareil in-band à l’aide de techniques spécifiques à la classe d’appareil.

Exigences d’interopérabilité

Pour garantir l’interopérabilité entre les fournisseurs NFP, les informations de jumelage doivent être encapsulées dans un format de message spécifique au fournisseur.

Comme décrit ailleurs dans ce document, il n’existe aucune exigence spécifique pour les technologies de proximité autres que pour les fournisseurs NFP compatibles NFC.

Windows nécessite des fournisseurs NFP compatibles NFC pour prendre en charge un mécanisme spécifique défini par le forum NFC pour transmettre les informations de couplage OOB direct Wi-Fi pour le couplage unidirectionnel. Le message NDEF contient un premier enregistrement avec une valeur de champ TNF de 0x01 et un champ TYPE égal à « Hs », ainsi qu’un autre enregistrement de transporteur qui pointe vers un Wi-Fi Enregistrement de configuration de l’opérateur direct. Dans cette méthode, seule la CHARGE UTILE de l’enregistrement NDEF sera utilisée.

Appairage unidirectionnel à l’aide de NFC pour Wi-Fi Direct

Cette section fournit plus d’informations sur la façon dont NFC, Wi-Fi Direct et Windows fonctionnent ensemble pour prendre en charge le couplage sans fil unidirectionnel pour Wi-Fi appareils Direct tels que les imprimantes.

Références de fournisseur NFP

Wi-Fi Appairage direct s’effectue à l’aide d’un type de message select de transfert de connexion standardisée du forum NFC. Le graphique ci-dessous fournit une vue d’ensemble de la façon dont un message de sélection de transfert de connexion est appliqué pour Wi-Fi appairage d’appareils Direct, en particulier les enregistrements NDEF 3 et 4. Le message De sélection de transfert décrit un ou plusieurs enregistrements « ac » ou « Autre transporteur ». Ces enregistrements suivent l’enregistrement De sélection de transfert séquentiellement et ont chacun un type bien défini. Enfin, le message contient un enregistrement de jumelage d’appareils défini par Microsoft qui fournit à Windows des informations sur la façon de traiter l’opération de jumelage.

message de sélection de transfert de connexion.

Wi-Fi message de jumelage direct d’appareils

Dans les exemples de cas d’usage qui suivent, les balises NFC de type 2 sont utilisées à titre d’exemple. S’il est nécessaire d’utiliser un autre type de balise NFC, le message NDEF doit être correctement encapsulé conformément à cette définition de balise.

Champ Valeur Description
TNF 0x02 Format du champ Type qui suit. Type de média tel que défini dans RFC 2046.
Type 'application/vnd.ms-windows.wfd.oob' Nouvelle chaîne de type que nous définissons pour ce scénario.
Taille des données OOB WORD Jusqu’à 64 Ko de données OOB prises en charge.
Wi-Fi données OOB directes <blob de taille indiquée par le champ précédent> Wi-Fi données OOB directes, comme défini ci-dessous.

Wi-Fi format OOB direct

Le tableau suivant décrit le format des données OOB WiFi Direct. Les données unidirectionnelles OOB peuvent être transmises par n’importe quel appareil OOB P2P unidirectionnel.

Attributs ID d’attribut Obligatoire ou facultatif Notes
En-tête

OOB Consultez la table de format de l’attribut d’en-tête OOB.
N/A Obligatoire L’attribut OOB Header doit être présent dans l’objet blob de données OOB P2P et sa valeur De type OOB doit être définie sur « Données d’approvisionnement unidirectionnelles OOB ».
Informations sur

l’appareil OOB Consultez la table de format des attributs d’informations sur l’appareil OOB.
1 Obligatoire Cet attribut doit être présent. Il fournit des informations sur cet appareil P2P.
Informations d’approvisionnement OOB 2 Obligatoire Cet attribut doit être présent. Il fournit des informations d’approvisionnement que cet appareil P2P s’attend à utiliser.
Délai d’expiration de la configuration OOB 5 Obligatoire Cet attribut doit être présent. Il fournit des informations sur la durée pendant laquelle cet appareil P2P attend une réponse sur Wi-Fi Direct.

Format de l’attribut d’en-tête OOB

Nom du champ Taille (octets) Valeur Description
Longueur totale des données 2 Variable Longueur de l’objet blob de données OOB entier (en-tête compris).
Longueur 2 Variable Longueur des champs suivants dans l’en-tête OOB.
Version 1 0x10 Valeur identifiant la version de cet enregistrement OOB P2P.
OOB Type 1 Variable Valeur identifiant le type de transaction OOB. La valeur spécifique est définie dans la table Types de transactions OOB .
OUI 0 ou 3 Variable OUI propre au fournisseur. Cette étape est facultative. Doit être présent uniquement lorsque le type OOB est spécifique au fournisseur.
OUI Type 0 ou 1 Variable Type spécifique au fournisseur. Cette étape est facultative. Doit être présent uniquement lorsque le type OOB est spécifique au fournisseur.

Types de transactions OOB

Type OOB (Hex) Description
0x00 Données de provisionnement unidirectionnelles OOB
0x01 Données de l’écouteur d’approvisionnement OOB
0x02 Données du connecteur d’approvisionnement OOB
0x03 OOB Reinvoke Data
0x04-0xDC Réservé
0xDD Spécifique au fournisseur
0xDE-0xFF Réservé

Format d’attribut d’informations sur l’appareil OOB

Nom du champ Taille (octets) Valeur Description
ID d’attribut 1 1 Identification du type d’attribut OOB P2P. La valeur spécifique est définie dans la table Attributs OOB P2P.
Longueur 2 Variable Longueur des champs suivants dans l’attribut .
Adresse de l’appareil P2P 6 Comme défini dans spécification P2P. Identificateur utilisé pour référencer de manière unique un appareil P2P.
Méthodes de configuration 2 Comme défini dans spécification P2P. Méthodes WSC prises en charge par cet appareil.

Note: L’ordre des octets dans le champ Méthodes de configuration doit être big-endian.
Type d’appareil principal 8 Comme défini dans spécification P2P. Type d’appareil principal de l’appareil P2P. Contient uniquement la partie Données de l’attribut WSC Primary Device Type (à l’exclusion des champs ID d’attribut et Longueur).

Note: L’ordre des octets dans le champ Type d’appareil principal doit être big-endian.
Bitmap de capacité d’appareil 1 Comme défini dans spécification P2P. Ensemble de paramètres indiquant les fonctionnalités de l’appareil P2P.
Nom de l’appareil Variable Comme défini dans spécification P2P. Nom convivial de l’appareil P2P. Contient l’intégralité du format TLV de l’attribut Nom de l’appareil WSC.

Note: L’ordre des octets dans le champ Nom de l’appareil doit être big-endian.

Attributs OOB P2P

Type OOB (Hex) Description
0x00 État OOB
0x01 Informations sur l’appareil OOB
0x02 Informations d’approvisionnement OOB
0x03 ID de groupe OOB
0x04 Canal d’écoute OOB
0x05 Délai d’expiration de la configuration OOB
0x06-0xDC Réservé
0xDD Attribut spécifique au fournisseur
0xDE-0xFF Réservé

Format d’attribut d’informations d’approvisionnement OOB

Nom du champ Taille (octets) Valeur Description
ID d’attribut 1 1 Identification du type d’attribut OOB P2P. La valeur spécifique est définie dans la table Attributs OOB P2P .
Longueur 2 Variable Longueur des champs suivants dans l’attribut .
Bitmap des paramètres d’approvisionnement 1 Variable Ensemble d’options de paramètres d’approvisionnement, tels que définis dans la table Paramètres d’approvisionnement .
Méthode de configuration sélectionnée 2 Comme défini dans spécification P2P. Méthode WSC sélectionnée par cet appareil P2P pour l’approvisionnement.
Longueur de l’épingle 1 0 - 8 Nombre d’octets dans le champ données du code confidentiel suivant. Ce champ défini sur 0 n’indique aucune donnée de code confidentiel supplémentaire.
Épingler des données Variable n Ce champ est facultatif. Ce champ est présent uniquement si le champ Longueur du code confidentiel n’est pas 0 et contient un tableau d’octets qui représente un code confidentiel à utiliser pour l’approvisionnement.

Paramètres d’approvisionnement

Bits Information Notes
0 Créer un groupe Le bit Créer un nouveau groupe est défini sur 1 si ces informations d’approvisionnement sont destinées à former un nouveau groupe avec l’appareil P2P cible. Sinon, ces informations d’approvisionnement sont destinées à rejoindre un groupe existant.
1 Appliquer le paramètre de type de groupe Le bit Appliquer le paramètre de type de groupe est défini sur 1 si le bit Type de groupe souhaité doit être appliqué, sinon, le bit Type de groupe souhaité est simplement une préférence.
2 Type de groupe souhaité Le bit type de groupe souhaité doit être défini sur 0 si le type de groupe souhaité est temporaire, et doit être défini sur 1 si le type de groupe souhaité est persistant.
3 - 7 Réservé  

Format de l’attribut de délai d’expiration de la configuration OOB

Nom du champ Taille (octets) Valeur Description
ID d’attribut 1 5 Identification du type d’attribut OOB P2P. La valeur spécifique est définie dans la table Attributs OOB P2P .
Longueur 2 1 Longueur des champs suivants dans l’attribut .
Délai d’expiration de la configuration de l’écouteur 1 0 - 255 Durée d’attente de cet appareil P2P pour Wi-Fi communication directe après le transfert de données OOB, en unités de 100 millisecondes. (Maximum de 25,5 secondes).

Enregistrement de jumelage d’appareils Windows

L’enregistrement de jumelage d’appareils Windows suit la spécification NDEF. Il fournit des informations supplémentaires à Windows sur la façon de traiter le message de sélection de transfert de connexion. Les champs TNF et Type doivent être spécifiés conformément à la spécification NDEF. Les autres champs ci-dessous sont répertoriés séquentiellement dans le champ Charge utile de l’enregistrement NDEF.

Nom du champ Valeur Valeur de longueur Description
TNF 0x02 3 bits Format du champ Type qui suit. Type de média tel que défini dans RFC 2046.
Type 'application/vnd.ms-windows.devicepairing' 0x28 octets Nouvelle chaîne de type que nous définissons pour ce scénario.
MajorVersion 0x1 2 octets La version principale doit être 0x1.
MinorVersion 0x0 2 octets La version mineure doit être 0x0.
Indicateurs 0x0 ou 0x01 4 octets Définissez sur 0x0 pour essayer tous les transports.

Définissez sur 0x1 de tenter l’installation de façon séquentielle et de s’arrêter après la première réussite. La préférence pour les transports est indiquée par la séquence d’enregistrements de transporteur alternatifs.

Note Les valeurs 0x0002 via 0x0064 sont réservées.
Longueur du nom convivial de l’appareil Longueur du champ nom convivial de l’appareil. 1 octet Longueur du nom convivial de l’appareil.
Nom convivial de l'appareil Chaîne encodée UTF-8 jusqu’à 255 octets. Longueur du nom convivial de l’appareil Nom convivial de l’appareil qui sera affiché dans l’interface utilisateur de consentement sur le client.

Wi-Fi Direct just works cérémonie, format de balise de transfert de connexion statique

Par exemple, voici une implémentation classique pour une balise passive NFC. Cela correspond à un cas de transfert de connexion statique avec un enregistrement de support direct Wi-Fi, une imprimante de partage réseau et l’enregistrement de couplage ms-device.

Ce premier tableau illustre le format de la partie Wi-Fi appairage direct de la balise.

Offset Contenu Longueur Explication
0 0x91 1 En-tête d’enregistrement NDEF :

MB=1b, ME=0b, CF=0b, SR=1b, IL=0b, TNF=001b
1 0x02 1 Longueur du type d’enregistrement : 2 octets
2 0x0A 1 Longueur du type d’enregistrement : 10 octets
3 0x48 0x73 2 Type d’enregistrement : « Hs »
5 0x12 1 Numéro de version : Majeur = 1, Mineur = 2
6 0xD1 1 En-tête d’enregistrement NDEF :

MB=1b, ME=1b, CF=0b, SR=1b, IL=0b, TNF=001b
7 0x02 1 Longueur du type d’enregistrement : 2 octets
8 0x04 1 Longueur de la charge utile : 4 octets
9 0x61 0x63 2 Type d’enregistrement : « ac »
11 0x01 1 Indicateurs de l’opérateur : CPS=1, « active »
12 0x01 1 Longueur de référence des données de support : 1 octet
13 0x30 1 Référence des données de support : « 0 »
14 0x00 1 Nombre de références de données auxiliaires : 0
15 0x1A 1 En-tête d’enregistrement NDEF :

MB=0b, ME=0b, CF=0b, SR=1b, IL=1b, TNF=010b
16 0x22 1 Longueur du nom du type d’enregistrement : 34 octets
17 0x3E 1 Longueur de la charge utile : 62 octets
18 0x01 1 Longueur de l’ID : 1 octet
19 0x61 0x70 0x70 0x6C 0x69 0x63 0x61 0x74

0x69 0x6F 0x6E 0x2F

0x76 0x6E 0x64 0x2E

0x6D 0x73 0x2D 0x77 0x69 0x6E 0x64 0x6F



0x77 0x73 0x2E 0x77

0x66 0x64 0x2E 0x6F 0x6F 0x62



34 Nom du type d’enregistrement : 'application/vnd.ms-windows.wfd.oob'
53 0x30 1 ID : « 0 »
54 0x3E 0x00 2 Wi-Fi longueur des données OOB directes : 62 octets. La longueur est lue sous la forme d’un court-métrage non signé et comprend l’ensemble de l’objet blob. Comprend 2 octets de longueur. Cette valeur doit être stockée dans un format little endian.
56 0x02, 0x00 2 Longueur de l’en-tête : 2 octets
58 0x10 1 Version : 0x10
59 0x00 1 Type OOB : 0x00 (unidirectionnel)
60 0x01 1 Attribut : 0x01 (Attribut d’informations sur l’appareil)
61 0x22 0x00 2 Longueur des informations sur l’appareil : 34 octets
63

0x01 0x23 0x34 0xab 0xcd 0xef
6 Wi-Fi adresse MAC de l’appareil Direct P2P : « 01 :23 :34 :ab :cd :ef »
69 0x01 0x00 2 Type de configuration
71

0x00 0x01 0x00 0x50 0xF2 0x00 0x00 0x00
8 Type d’appareil principal
79 0x12 1 Fonctionnalité
80 0x10 0x11 2 Attribut : Nom de l’appareil
82 0x00 0x0d 2 Longueur du nom de l’appareil : 13 octets
84

0x43 0x6f 0x6e 0x74 0x6f 0x73 0x6f 0x20

0x4d 0x6f 0x75 0x73

0x65
13 Nom convivial de l’appareil dans UTF-8. Notez qu’il n’existe aucun caractère de fin NULL et que UTF-8 peut contenir un ou deux octets par caractère. Cet exemple montre comment lire « Contoso Mouse »
97 0x02 1 Attribut : informations d’approvisionnement
98 0x0c 0x00 2 Longueur des informations d’approvisionnement : 12 octets
100 0x07 1 Définition de bitmap : nouveau groupe, application persistante
101 0x01 0x00 2 Méthode config : entrée de code pin
103 0x08 1 Longueur de la broche : 8 octets
104

0x05 0x06 0x07 0x08 0x01 0x02 0x03 0x04
8 Épingle : « 12345678 »
112 0x05 1 Attribut : informations sur le délai d’expiration de la configuration
113 0x01 0x00 2 Durée du délai d’expiration de la configuration
115 0x64 1 10 secondes, en unités de 100 millisecondes

Ce deuxième tableau illustre le format de la partie de jumelage d’imprimantes réseau de la balise.

Offset Contenu Longueur Explication
116 0x12 1 En-tête d’enregistrement NDEF :
MB=0b,ME=0b, CF=0b, SR=1b, IL=0b,TNF=010b
117 0x29 1 Champ de longueur de type
118 0x19 1 Champ longueur de charge utile
119 0x61 0x70 0x70 0x6c 0x69 0x63 0x61 0x74

0x69 0x6f 0x6e 0x2f

0x76 0x6e 0x64 0x2e 0x6d 0x73 0x2d 0x77

0x69 0x6e 0x64 0x6f 0x77 0x73 0x2e 0x6e



0x77 0x73 0x2e 0x6e

0x77 0x70 0x72 0x69

0x6e 0x74 0x69 0x6e

0x67 0x2e 0x6f 0x6f 0x62



41 Nom du type d’enregistrement : « application/vnd.ms-windows.nwprinting.oob »
160 0x5c 0x5c 0x70 0x72 0x69 0x6e 0x74 0x53

0x65 0x72 0x76 0x65

0x72 0x5c 0x70 0x72 0x69 0x6e 0x74 0x65

0x72 0x4e 0x61 0x6d 0x65





25 Nom de l’imprimante : « \printServer\printerName »

Ce troisième tableau illustre le format de la partie de jumelage MS-Device de la balise.

Offset Contenu Longueur Explication
185 0x52 1 En-tête d’enregistrement NDEF :

MB=0b, ME=1b, CF=0b, SR=1b, IL=0b,TNF=010b
186. 0x28 1 Champ De longueur de type
187 0x15 1 Champ Longueur de charge utile
188 0x61 0x70 0x70 0x6c 0x69 0x63 0x61 0x74

0x69 0x6f 0x6e 0x2f

0x76 0x6e 0x64 0x2e

0x6d 0x73 0x2d 0x77 0x69 0x6e 0x64 0x6f



0x77 0x73 0x2e 0x64 0x65 0x76 0x69 0x63

0x65 0x70 0x61 0x69 0x72 0x69 0x6E 0x67





40 Nom du type d’enregistrement : « application/vnd.ms-windows.devicepairing »
228

0x00 0x00 0x01 0x00
4 Version : Majeure = 1, Mineure = 0
232 0x00 1 Indicateurs : défini sur 0, essayez tous les transports
233 0x0F 1 Longueur du nom convivial de l’appareil
234

0x43 0x6f 0x6e 0x74 0x74 0x65 0x72

0x50 0x72 0x69 0x6e 0x43 0x6f 0x6e 0x74 0x6f 0x73 0x6f 0x20

15 Nom convivial de l’appareil affiché à l’utilisateur : « Contoso Printer »

Wi-Fi Exigences de connectivité directe

La Wi-Fi radio doit être activée sur les appareils et les clients. Si ce n’est pas le cas, le jumelage échoue.

Gestion des cas de périphérie

Si un utilisateur a déjà appairé un appareil, mais supprime ensuite manuellement l’appareil de la liste des appareils, appuyez de nouveau sur une tentative d’installation ou de jumelage.

Si un utilisateur entre dans la plage d’actionnement, puis s’en va soudainement avant que les informations hors bande (OOB) ne soient transférées, l’appareil peut devenir connectable, mais le PC ne recherche pas l’appareil. Dans ce cas, il n’y aura pas d’interface utilisateur de consentement à partir du PC et l’utilisateur devra appuyer à nouveau. Si l’appareil est déjà détectable lorsqu’il est à nouveau appuyé, il doit rester détectable et doit réinitialiser le délai d’expiration.

Pour Wi-Fi appareils direct, si la radio Wi-Fi s’éteint, l’installation ne réussit pas.

Si un utilisateur appuie sur deux appareils à peu près en même temps, seul le jumelage des premières informations OOB reçues est tenté.

Toute tentative d’appui sur l’appareil sur un système exécutant un système d’exploitation qui ne prend pas en charge l’appui sur l’installation ou l’appui pour se reconnecter peut entraîner la mise en mode connectable de l’appareil, mais le jumelage n’aura pas lieu. Les utilisateurs devront utiliser une interface utilisateur de jumelage fournie pour Bluetooth et utiliser le bouton de jumelage pour lancer le jumelage.