Condividi tramite


Wi-Fi implementazione della stampa diretta

In questo argomento vengono fornite informazioni sui requisiti dei dispositivi per un'implementazione di stampa diretta Wi-Fi.

Requisiti dei dispositivi

Per un dispositivo WFD-WSD per ottenere un'esperienza di connettività senza problemi, come descritto in Wi-Fi Direct panoramica della stampa, il dispositivo deve rispettare i requisiti seguenti:

Poiché l'ID contenitore WFD corrisponderà all'UUID della stampante, l'ID contenitore PnP-X non sarà necessario nei metadati del dispositivo. Tuttavia, è comunque consigliabile che il dispositivo supporti i metadati PnP-X nei metadati del dispositivo e annunci un ID contenitore PnP-X come parte dei metadati PnP-X nei metadati del dispositivo. Questo ID contenitore deve corrispondere all'ID contenitore WFD.

La presenza dello stesso ID contenitore a livello WFD e del livello WSD garantisce quanto segue:

  • L'interfaccia utente di associazione, ad esempio la procedura guidata Aggiungi a dispositivo, può comprendere che più dispositivi logici coesistono in un singolo dispositivo fisico e gestiscono l'associazione in modo più logico per l'utente. Ad esempio, l'utente non deve associare manualmente i dispositivi WFD e stamparli manualmente in operazioni separate.

  • Il dispositivo & Stampanti può visualizzare un'unica icona del dispositivo per il dispositivo anche se nel sistema sono installati due set di devnodes (un set di devnodes WFD e un set di devnodes WSD).

  • Si noti che l'implementazione corretta dell'ID contenitore è necessaria per l'esecuzione corretta dei test del kit di certificazione hardware Windows. L'implementazione non corretta causerà il riconoscimento di ogni dispositivo logico come dispositivo fisico separato.

Se un dispositivo WFD-WSD non è conforme ai requisiti precedenti, l'esperienza di connettività descritta in questa implementazione non verrà applicata a tali dispositivi.

I dispositivi devono implementare gruppi persistenti e gruppi di Connection-Multiple simultanei come specificato nel white paper Wi-Fi Alliance - Wi-Fi Direct Industry.

Come pubblicare l'UUID del contenitore su Wi-Fi Direct per le stampanti

Windows individua le stampanti su Wi-Fi Direct usando una richiesta/risposta probe in base alla specifica Wi-Fi Alliance "Peer-to-Peer-to-Peer (P2P) v1.1" sezione 3.1.2.1.2 (fase di analisi). Il dispositivo, stampante in questo caso risponderà al PC usando il frame di richiesta/risposta probe appropriato.

Entrambe le richieste probe & i frame di risposta probe possono essere estesi usando IEs personalizzati. Microsoft ha definito un IE personalizzato con diversi attributi per abilitare varie estensioni.

Come costruire un IE personalizzato di Microsoft 802.11 per UUID contenitore

Un IE personalizzato è costituito da un ID fornitore & dati fornitore, come illustrato nella figura seguente dell'estensione del fornitore WFD.

Estensione fornitore wfd.

Microsoft usa l'ID fornitore 0x137 per rappresentare gli IE di proprietà di Microsoft. Il blocco di dati del fornitore presente nelle estensioni fornitore di ogni fornitore contiene un blocco arbitrario di dati definito dal fornitore. Il blocco di dati fornitore nelle estensioni del fornitore Microsoft è costituito da una o più strutture TLV (Type-Length-Value). L'organizzazione della struttura TLV è illustrata nella figura WFD Vendor Data seguente.

Dati fornitore wfd.

Definizione TLV per UUID contenitore

Esistono due VTL rilevanti per l'ID contenuto. Esiste una "Richiesta di attributi" che Windows invia al dispositivo & esiste un TLV "Container UUID" con cui i dispositivi rispondono.

Definizioni:

Nome/descrizione Tipo (2 byte) Lunghezza (2 byte) Valore (definito per lunghezza)
Richiesta di attributi Microsoft (questo viene inviato dal PC nella richiesta probe durante l'individuazione) 0x1005 0x0002 0x0001 = Microsoft richiede l'UUID indipendente
UUID contenitore (inviato dalla stampante nella risposta del probe durante l'individuazione) 0x1006 0x0010 Per essere definito dalla stampante

Implementazione del BLOB di dati di associazione verticale

Il BLOB di dati di associazione verticale consente al PC di comprendere il servizio di stampa WSD prima di connettersi alla stampante. Questo meccanismo è un semplice sostituto dell'individuazione del servizio, così come è stato implementato prima della scrittura della specifica di individuazione del servizio per Wi-Fi Direct.

Analogamente all'UUID contenitore, il BLOB di dati di associazione verticale è anche un attributo di Microsoft IE. A differenza dell'attributo ID contenitore, questo deve essere pubblicato in un messaggio WPS M7/M8 (durante Wi-Fi associazione diretta) dal dispositivo a seconda del ruolo.

Come costruire un IE personalizzato di Microsoft 802.11 per l'associazione verticale

Un IE personalizzato è costituito da un ID fornitore & dati fornitore, come illustrato nella figura seguente dell'estensione fornitore WFD.

Estensione fornitore wfd.

Microsoft usa l'ID fornitore 0x137 per rappresentare gli IE di proprietà di Microsoft. Il blocco di dati del fornitore presente nelle estensioni fornitore di ogni fornitore contiene un blocco arbitrario di dati definito dal fornitore. Il blocco di dati fornitore nelle estensioni del fornitore Microsoft è costituito da una o più strutture TLV (Type-Length-Value). L'organizzazione della struttura TLV è illustrata nella figura WFD Vendor Data seguente:

Dati fornitore wfd.

Definizione TLV per BLOB di associazione verticale

Per l'associazione verticale rally verticale sono definiti due tipi TLV specifici. Questi tipi TLV sono elencati nella tabella seguente.

Nome/descrizione Tipo (2 byte) Lunghezza (2 byte) Valore (definito per lunghezza)
Identificatore di associazione verticale (comunica la topologia interna del dispositivo) 0x1001 0x0002 Vedere "VERTICAL PAIRING IDENTIFIER TLV" (IDENTIFICATORE DI ASSOCIAZIONE VERTICALE TLV) di seguito.
UUID trasporto (valore UUID trasporto del dispositivo) 0x1002 0x0010 Vedere "TLV definition for Container UUID" (Definizione TLV per UUID contenitore) precedente.

Identificatore di associazione verticale TLV

Il TLV (Vertical Pairing Identifier) comunica la topologia interna di un dispositivo, che specifica come Windows può comunicare con i servizi del dispositivo. Almeno una VPI è necessaria per supportare le estensioni di associazione verticale rally, anche se l'associazione verticale non è implementata nel dispositivo. In questo caso, la VPI specifica che non vengono utilizzati trasporti. Il TLV VPI deve essere inviato come parte dell'estensione del fornitore Microsoft nel messaggio WPS M1.

I dati inclusi in un TLV VPI sono lunghi 2 byte e sono costituiti da due campi diversi: un campo Trasporto e un campo Richiesta profilo, come illustrato nella figura seguente di Dati WFD inclusi in un TLV VPI (ogni campo è lungo 1 byte).

dati wfd inclusi in un vpi tlv.

Campo Trasporto VPI

Il campo Trasporto specifica il trasporto che Windows può usare per comunicare con il dispositivo. È possibile specificare un solo trasporto per vpi. Se il dispositivo supporta più trasporti PnP-X, può comunicarlo includendo più VTLV VPI (uno per ogni trasporto) nell'estensione del fornitore Microsoft. I valori validi per il campo Trasporto VPI sono elencati nella tabella seguente.

Valore Trasporto
0x00 Nessuno
0x01 DPWS
0x02 UPnP
0x03 Secure DPWS
0x04-0xFF Riservato

Nota

Windows 7 fornisce il supporto per DPWS (0x01) o DPWS sicuro (0x03), ma non per entrambi.

Se un dispositivo non implementa l'associazione rally verticale, deve specificare una sola VPI con un valore Transport di 0x00 (Nessuno). In questo caso, il dispositivo non deve specificare un TLV UUID di trasporto. Questo notifica a Windows che non dovrebbe aspettarsi di associarsi al dispositivo. Pertanto, Windows non tenta di pre-associare al dispositivo mentre configura le impostazioni di Wi-Fi del dispositivo.

Campo Richiesta profilo VPI

La VPI consente a un dispositivo di usare il protocollo WPS per effettuare il provisioning dei servizi del dispositivo. In questo caso, un servizio di dispositivo può richiedere a Windows di inviarle informazioni per la configurazione del servizio. Queste informazioni sono note come profilo. Il secondo campo della VPI specifica se il dispositivo richiede che Windows lo invii un profilo. I valori validi per il campo VPI Profile Request (Richiesta profilo VPI) sono elencati nella tabella seguente.

Valore Descrizione
0x01 Wi-Fi profilo richiesto. Questo è l'unico valore attualmente supportato da Windows 7.
0x00, 0x02-0xFF Riservato

Il valore del campo VPI Profile Request (Richiesta profilo VPI) di 0x00 è considerato riservato perché non è attualmente supportato da Windows 7. Il campo VPI Profile Request (Richiesta profilo VPI) deve essere impostato solo su un valore di 0x01 (profilo Wi-Fi richiesto), anche se per il trasporto è specificato un valore pari a 0x00 (nessuno).

TLV UUID trasporto

Transport UUID TLV specifica che un trasporto specifico (DPWS o UPnP) ha un valore UUID di base diverso rispetto all'UUID WPS. Transport UUID TLV è facoltativo. Se il TLV UUID di trasporto non è incluso, l'UUID WPS viene usato per formare un'identità per il trasporto specificato.

Se è incluso un TLV UUID di trasporto, deve seguire immediatamente il TLV VPI che identifica il trasporto. Se sono inclusi più TLV VPI, è possibile includere un TLV UUID di trasporto dopo ogni TLV VPI.

Il valore di dati TLV di Transport UUID deve essere in ordine di byte di rete.

Se il dispositivo specifica un valore di trasporto VPI pari a 0x00 (nessuno), non includere un TLV UUID di trasporto.

Esempio wps

Per questo esempio, si supponga che un dispositivo stampante usi DPWS e implementi l'interfaccia WS Print. Il dispositivo usa i valori UUID nella tabella seguente:

Servizio Identità
WPS ec742c0d-5915-4bcb-b969-008132afec5e
Stampa DPWS urn:uuid:00010203-0405-0607-0809-0a0b0c0e0e0f

Valori UUID del servizio di esempio WPS

I valori UUID vengono specificati in tutte le lettere minuscole e la stringa di identità DPWS usa il formato urn:uuid:uuid_value.

Nota

I valori UUID in questo esempio sono fittizi e non devono essere usati in un dispositivo reale.

Quando il dispositivo invia i messaggi WPS M7/M8, include l'estensione del fornitore Microsoft illustrata nell'esempio seguente di dettagli dell'estensione del fornitore WFD:

dettagli dell'estensione fornitore wfd di esempio.

In questo esempio, l'estensione fornitore contiene un valore di ID fornitore di 0x137, che lo identifica come estensione del fornitore Microsoft. All'interno del campo dati fornitore dell'estensione fornitore sono due strutture TLV.

Il primo TLV ha un valore Type di 0x1001, che identifica il TLV come VPI. La lunghezza dei dati nel primo TLV è di 2 byte, che contiene un valore di 0x0101. Specifica che il dispositivo supporta il trasporto DPWS (0x01) e che richiede un profilo (0x01).

Il secondo TLV ha un valore Type di 0x1002, che identifica il TLV come UUID di trasporto. La lunghezza dei dati nel secondo TLV è di 16 byte, che contengono la versione binaria del valore UUID 00010203-0405-0607-0809-0a0b0c0e0e0f.

Quando un cliente associa verticalmente la stampante, Windows configura innanzitutto la Wi-Fi radio del dispositivo con le impostazioni appropriate. Associa quindi il dispositivo DPWS del dispositivo usando il valore UUID di trasporto specificato.

Dopo che il dispositivo si connette alla rete Wi-Fi e annuncia i servizi DPWS, Windows crea i nodi del dispositivo PnP appropriati e installa e carica i driver appropriati.