Condividi tramite


Wi-Fi implementazione della stampa diretta

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

Requisiti dei dispositivi

Affinché un dispositivo WFD-WSD ottenga l'esperienza di connettività senza problemi, come descritto in Wi-Fi Panoramica della stampa diretta, il dispositivo deve rispettare i requisiti seguenti:

Poiché l'ID contenitore WFD corrisponderà all'UUID della stampante, PnP-X ID contenitore 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 Add-a-device, può comprendere che più dispositivi logici coesistono in un singolo dispositivo fisico e gestire 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.

  • Device & Printers può mostrare un'icona a un singolo 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 affinché i test del kit di certificazione hardware Windows vengano eseguiti correttamente. 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 si applicherà a tali dispositivi.

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

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

Windows individua le stampanti via Wi-Fi Direct utilizzando una richiesta/risposta di sonda in base alla Wi-Fi Alliance "Wi-Fi specifica peer-to-peer (P2P) v1.1" sezione 3.1.2.1.2 (fase di scansione). Il dispositivo, in questo caso la stampante, risponderà al PC utilizzando il frame di richiesta/risposta di rilevamento appropriato.

Entrambi i Frame di Probe Request e Probe Response possono essere estesi usando IE personalizzati. Microsoft ha definito un internet explorer 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 e dati fornitore, come illustrato nella figura seguente dell'estensione del fornitore WFD.

Estensione del fornitore WFD.

Microsoft usa l'ID fornitore 0x137 per rappresentare gli IES di proprietà di Microsoft. Il blocco di dati 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 nell'illustrazione seguente dei dati del fornitore WFD .

Dati del fornitore di wfd.

Definizione TLV per l'UUID del contenitore

Esistono due TLV rilevanti per l'ID contenuto. C'è una "Richiesta di attributi" che Windows invia al dispositivo e c'è 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 la fase di individuazione) 0x1005 0x0002 0x0001 = Microsoft richiede UUID contenuto
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 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 l'associazione diretta Wi-Fi) dal dispositivo a seconda del ruolo.

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

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

Estensione del fornitore WFD.

Microsoft usa l'ID fornitore 0x137 per rappresentare gli IES di proprietà di Microsoft. Il blocco di dati 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 del fornitore di wfd.

Definizione TLV per il blob di pairing verticale

Per l'accoppiamento verticale Rally sono definiti due tipi di 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 Consultare "VERTICAL PAIRING IDENTIFIER TLV" di seguito.
UUID di trasporto (valore UUID di trasporto del dispositivo) 0x1002 0x0010 Vedere la "definizione TLV per UUID del contenitore" sopra.

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 questa situazione, 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. Si può specificare un solo trasporto per VPI. Se il dispositivo supporta più trasporti PnP-X, può comunicare ciò includendo più TLV VPI (uno per ogni trasporto) nelle estensioni del fornitore di Microsoft. I valori validi per il campo Trasporto VPI sono elencati nella tabella seguente.

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

Annotazioni

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

Se un dispositivo non implementa il Rally Vertical Pairing, deve specificare una sola VPI con un valore Transport di 0x00 (Nessuno). In questo caso, il dispositivo non deve specificare un TLV UUID Transport. Questo notifica a Windows che non dovrebbe aspettarsi di associare al dispositivo. Di conseguenza, Windows non tenta di eseguire la pre-associazione con il 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 inviare 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 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 (Wi-Fi profilo richiesto), anche se per il trasporto è specificato un valore pari a 0x00 (nessuno).

UUID di trasporto TLV

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 l'UUID trasporto TLV non è incluso, l'UUID WPS viene utilizzato per creare un'identità per il trasporto specificato.

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

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

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

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.

Annotazioni

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 del fornitore WFD esempio.

In questo esempio l'estensione del fornitore contiene un valore id fornitore di 0x137, che lo identifica come estensione del fornitore Microsoft. All'interno del campo dati del vendor dell'estensione del vendor, ci 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 contengono 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 radio Wi-Fi del dispositivo con le impostazioni appropriate. Associa quindi il dispositivo DPWS del dispositivo usando il valore UUID del 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.