Freigeben über


Wi-Fi Implementierung des direkten Druckens

Dieses Thema enthält Informationen zu den Geräteanforderungen für eine Wi-Fi Direct Printing-Implementierung.

Geräteanforderungen

Damit ein WFD-WSD-Gerät die nahtlose Konnektivität erhält, wie in Wi-Fi Direct Druckübersicht beschrieben, muss das Gerät die folgenden Anforderungen erfüllen:

Da die WFD-Container-ID mit der UUID des Druckers übereinstimmt, ist die PnP-X-Container-ID in den Gerätemetadaten nicht erforderlich. Es wird jedoch weiterhin empfohlen, dass das Gerät PnP-X-Metadaten in den Gerätemetadaten unterstützt und eine PnP-X-Container-ID als Teil der PnP-X-Metadaten in den Gerätemetadaten angibt. Diese Container-ID sollte mit der WFD-Container-ID übereinstimmen.

Mit derselben Container-ID auf WFD-Ebene und WSD-Ebene wird Folgendes sichergestellt:

  • Die Kopplungsbenutzeroberfläche, z. B. der Assistent zum Hinzufügen eines Geräts, kann verstehen, dass mehrere logische Geräte gleichzeitig auf einem einzelnen physischen Gerät vorhanden sind, und die Kopplung für den Benutzer logischer behandeln. (Der Benutzer muss z. B. die WFD und das Drucken von Geräten nicht manuell in separaten Vorgängen koppeln.)

  • Geräte & Drucker können ein einzelnes Gerätesymbol für das Gerät anzeigen, obwohl zwei Devnodes auf dem System installiert sind (eine Gruppe von WFD-Devnodes und eine Gruppe von WSD-Devnodes).

  • Beachten Sie, dass eine ordnungsgemäße Container-ID-Implementierung erforderlich ist, damit die Tests des Windows-Hardwarezertifizierungskits ordnungsgemäß ausgeführt werden können. Eine nicht ordnungsgemäße Implementierung führt dazu, dass die Tests jedes logische Gerät als separates physisches Gerät erkennen.

Wenn ein WFD-WSD-Gerät die oben genannten Anforderungen nicht erfüllt, gilt die in dieser Implementierung beschriebene Konnektivität nicht für diese Geräte.

Geräte sollten persistente Gruppen und gleichzeitige Connection-Multiple Gruppen implementieren, wie im Whitepaper wi-Fi Alliance – Wi-Fi Direct Industry beschrieben.

Veröffentlichen von Container UUID über Wi-Fi Direct für Drucker

Windows ermittelt Drucker über Wi-Fi Direct mithilfe einer Testanforderung/-antwort gemäß der Wi-Fi Alliance "Wi-Fi Peer-to-Peer (P2P) Specification v1.1", Abschnitt 3.1.2.1.2 (Scanphase). Das Gerät, Der Drucker antwortet in diesem Fall mit dem entsprechenden Test Request/Response Frame auf den PC.

Sowohl die Testanforderungs- & Testantwortframes können mithilfe von benutzerdefinierten IEs erweitert werden. Microsoft hat einen benutzerdefinierten IE mit mehreren Attributen definiert, um verschiedene Erweiterungen zu ermöglichen.

Erstellen eines benutzerdefinierten Microsoft 802.11-IE für Container-UUID

Ein benutzerdefinierter IE besteht aus einer Anbieter-ID & Anbieterdaten, wie in der folgenden Abbildung der WFD-Anbietererweiterung gezeigt.

wfd-Anbietererweiterung.

Microsoft verwendet die Anbieter-ID 0x137, um IEs im Besitz von Microsoft darzustellen. Der Anbieterdatenblock, der sich in den Anbietererweiterungen der einzelnen Anbieter befindet, enthält einen beliebigen Datenblock, den der Anbieter definiert. Der Anbieterdatenblock in Microsoft-Anbietererweiterungen besteht aus mindestens einer TLV-Struktur (Type-Length-Value). Die organization der TLV-Struktur ist in der folgenden Abbildung der WFD-Anbieterdaten dargestellt.

wfd-Anbieterdaten.

TLV-Definition für Container UUID

Es gibt zwei TLVs, die für enthaltene ID relevant sind. Es gibt eine "Anforderung für Attribute", die Windows an das Gerät sendet, & es eine "Container UUID"-TLV gibt, mit der die Geräte antworten.

Definitionen:

Name/Beschreibung Typ (2 Bytes) Länge (2 Bytes) Wert (durch Länge definiert)
Anforderung für Microsoft-Attribute (dies wird während der Ermittlung vom PC in der Testanforderung gesendet) 0x1005 0x0002 0x0001 = Microsoft fordert enthaltene UUID an
Container-UUID (wird während der Ermittlung vom Drucker in der Testantwort gesendet) 0x1006 0x0010 Vom Drucker zu definieren

Implementieren eines Datenblobs für vertikale Kopplungen

Das Datenblob für vertikale Kopplung ermöglicht es dem PC, den WSD-Druckdienst zu verstehen, bevor er eine Verbindung mit dem Drucker herstellt. Dieser Mechanismus ist ein einfacher Ersatz für die Dienstermittlung, da er implementiert wurde, bevor die Dienstermittlungsspezifikation für Wi-Fi Direct geschrieben wurde.

Wie die Container-UUID ist auch das Datenblob für die vertikale Kopplung ein Attribut des Microsoft IE. Im Gegensatz zum Container-ID-Attribut muss dieses in einer M7/M8-WPS-Nachricht (während Wi-Fi direkten Kopplung) vom Gerät veröffentlicht werden, abhängig von seiner Rolle.

Erstellen eines benutzerdefinierten Microsoft 802.11-IE für die vertikale Kopplung

Ein benutzerdefinierter IE besteht aus einer Anbieter-ID & Anbieterdaten, wie in der folgenden Abbildung der WFD-Anbietererweiterung gezeigt.

wfd-Anbietererweiterung.

Microsoft verwendet die Anbieter-ID 0x137, um IEs im Besitz von Microsoft darzustellen. Der Anbieterdatenblock, der sich in den Anbietererweiterungen der einzelnen Anbieter befindet, enthält einen beliebigen Datenblock, den der Anbieter definiert. Der Anbieterdatenblock in Microsoft-Anbietererweiterungen besteht aus mindestens einer TLV-Struktur (Type-Length-Value). Die organization der TLV-Struktur ist in der folgenden Abbildung der WFD-Anbieterdaten dargestellt:

wfd-Anbieterdaten.

TLV-Definition für vertikale Kopplungsblobs

Zwei spezifische TLV-Typen sind für die vertikale Rally-Kopplung definiert. Diese TLV-Typen sind in der folgenden Tabelle aufgeführt.

Name/Beschreibung Typ (2 Bytes) Länge (2 Bytes) Wert (durch Länge definiert)
Bezeichner für vertikale Kopplung (Kommuniziert die interne Topologie des Geräts) 0x1001 0x0002 Siehe "VERTICAL PAIRING IDENTIFIER TLV" weiter unten.
Transport-UUID (Der Transport-UUID-Wert des Geräts) 0x1002 0x0010 Siehe "TLV-Definition für Container UUID" weiter oben.

TLV für vertikale Kopplung

Der VPI-TLV (Vertical Pairing Identifier) kommuniziert die interne Topologie eines Geräts, die angibt, wie Windows mit den Diensten des Geräts kommunizieren kann. Mindestens ein VPI ist erforderlich, um Rally Vertical Pairing-Erweiterungen zu unterstützen, auch wenn die vertikale Kopplung im Gerät nicht implementiert ist. In diesem Fall würde der VPI angeben, dass keine Transporte verwendet werden. Die VPI-TLV muss als Teil der Microsoft-Anbietererweiterung in der WPS M1-Nachricht gesendet werden.

Die Daten, die in einer VPI-TLV enthalten sind, sind 2 Byte lang und bestehen aus zwei verschiedenen Feldern: einem Transportfeld und einem Profilanforderungsfeld, wie in der folgenden Abbildung von WFD-Daten gezeigt, die in einer VPI-TLV enthalten sind (jedes Feld ist 1 Byte lang).

wfd-Daten, die in einem vpi tlv enthalten sind.

VPI-Transportfeld

Das Feld Transport gibt den Transport an, den Windows für die Kommunikation mit dem Gerät verwenden kann. Pro VPI kann nur ein Transport angegeben werden. Wenn das Gerät mehrere PnP-X-Transporte unterstützt, kann es dies kommunizieren, indem es mehrere VPI-TLVs (eine für jeden Transport) in die Microsoft-Anbietererweiterung einschließt. Die gültigen Werte für das Feld VPI-Transport sind in der folgenden Tabelle aufgeführt.

Wert Transport
0x00 Keine
0x01 DPWS
0x02 UPnP
0x03 Schützen von DPWS
0x04-0xFF Reserviert

Hinweis

Windows 7 bietet Unterstützung für DPWS (0x01) oder Secure DPWS (0x03), aber nicht beides.

Wenn ein Gerät die vertikale Rally-Kopplung nicht implementiert, muss es nur einen VPI mit dem Transportwert 0x00 (None) angeben. In dieser Situation sollte das Gerät keine Transport-UUID-TLV angeben. Dadurch wird Windows benachrichtigt, dass keine Kopplung mit dem Gerät erwartet werden sollte. Daher versucht Windows nicht, eine Vorkopplung mit dem Gerät vorzunehmen, während es die Wi-Fi Einstellungen des Geräts konfiguriert.

Feld "VPI-Profilanforderung"

Mit dem VPI kann ein Gerät das WPS-Protokoll verwenden, um die Dienste des Geräts bereitzustellen. In dieser Situation kann ein Gerätedienst anfordern, dass Windows Informationen zum Konfigurieren des Diensts sendet. Diese Informationen werden als Profil bezeichnet. Das zweite Feld des VPI gibt an, ob das Gerät anfordert, dass Windows ein Profil sendet. Die gültigen Werte für das Feld VPI-Profilanforderung sind in der folgenden Tabelle aufgeführt.

Wert BESCHREIBUNG
0x01 Wi-Fi profil angefordert. Dies ist der einzige Wert, der derzeit von Windows 7 unterstützt wird.
0x00, 0x02–0xFF Reserviert

Der Wert des Felds "VPI-Profilanforderung" von 0x00 gilt als reserviert, da er derzeit nicht von Windows 7 unterstützt wird. Das Feld VPI-Profilanforderung sollte nur auf den Wert 0x01 (WLAN-Profil angefordert) festgelegt werden, auch wenn für den Transport ein Wert von 0x00 (none) angegeben ist.

Transport UUID TLV

Die Transport-UUID-TLV gibt an, dass ein bestimmter Transport (DPWS oder UPnP) einen anderen Basis-UUID-Wert als die WPS-UUID aufweist. Die Transport-UUID-TLV ist optional. Wenn die Transport-UUID-TLV nicht enthalten ist, wird die WPS-UUID verwendet, um eine Identität für den angegebenen Transport zu bilden.

Wenn eine Transport-UUID-TLV enthalten ist, muss sie sofort dem VPI-TLV folgen, der den Transport identifiziert. Wenn mehrere VPI-TLV enthalten sind, kann nach jedem VPI-TLV eine Transport-UUID-TLV eingeschlossen werden.

Der Transport-UUID-TLV-Datenwert muss sich in der Reihenfolge des Netzwerkbytes befinden.

Wenn das Gerät den VPI-Transportwert 0x00 (keine) angibt, schließen Sie keine Transport-UUID-TLV ein.

WPS-Beispiel

In diesem Beispiel wird davon ausgegangen, dass ein Druckergerät DPWS verwendet und die WS Print-Schnittstelle implementiert. Das Gerät verwendet die UUID-Werte in der folgenden Tabelle:

Dienst Identität
WPS ec742c0d-5915-4bcb-b969-008132afec5e
DPWS drucken urn:uuid:00010203-0405-0607-0809-0a0b0c0e0f

WPS-Beispieldienst-UUID-Werte

UUID-Werte werden in Kleinbuchstaben angegeben, und die DPWS-Identitätszeichenfolge verwendet das Format urn:uuid:uuid_value.

Hinweis

Die UUID-Werte in diesem Beispiel sind fiktiv und dürfen nicht in einem realen Gerät verwendet werden.

Wenn das Gerät seine WPS M7/M8-Nachrichten sendet, enthält es die Microsoft-Anbietererweiterung, die im folgenden Beispiel für Details der WFD-Anbietererweiterung gezeigt wird:

Beispieldetails für wfd-Anbietererweiterungen.

In diesem Beispiel enthält die Anbietererweiterung den Anbieter-ID-Wert 0x137, der sie als Microsoft-Anbietererweiterung identifiziert. Innerhalb des Anbieterdatenfelds der Anbietererweiterung befinden sich zwei TLV-Strukturen.

Der erste TLV weist den Type-Wert 0x1001 auf, der den TLV als VPI identifiziert. Die Länge der Daten im ersten TLV beträgt 2 Bytes, die den Wert 0x0101 enthalten. Dies gibt an, dass das Gerät den DPWS-Transport (0x01) unterstützt und ein Profil (0x01) anfordert.

Die zweite TLV hat den Type-Wert 0x1002, der die TLV als Transport-UUID identifiziert. Die Länge der Daten im zweiten TLV beträgt 16 Bytes, die die Binärversion des UUID-Werts 00010203-0405-0607-0809-0a0b0c0e0f enthalten.

Wenn ein Kunde den Drucker vertikal koppelt, konfiguriert Windows zuerst das Wi-Fi Radio des Geräts mit den entsprechenden Einstellungen. Anschließend wird das DPWS-Gerät des Geräts mithilfe des angegebenen Transport-UUID-Werts gekoppelt.

Nachdem das Gerät eine Verbindung mit dem Wi-Fi-Netzwerk hergestellt und seine DPWS-Dienste ankündigt, erstellt Windows die entsprechenden PnP-Geräteknoten und installiert und lädt die entsprechenden Treiber.