Implementazione di AirPrint con DNS-SD


4

sfondo

Sto cercando di implementare AirPrint tramite DNS statico, come documentato su http://dns-sd.org/ServerStaticSetup.html . L'iPad ottiene il dominio di ricerca DNS "lan" tramite DHCP e l'ho verificato in Impostazioni-WLAN. Penso di aver creato tutte le voci necessarie nei posti giusti, tuttavia l'iPad non trova la mia stampante o se è capitato di trovarla, ha mostrato un lucchetto dopo il nome della stampante e non ha stampato. (la versione iOS è 6.0.1)

Qualcuno ha un indizio sul perché iOS non trova la stampante o se la trova, perché la mostra come bloccata?

Questa è la mia configurazione (semplificata con dominio di esempio)

Voci DNS

Reindirizza per navigare nel dominio

PTR b._dns-sd._udp.lan = bonjour.lan
PTR lb._dns-sd._udp.lan = bonjour.lan

Voci della stampante

PTR _ipp._tcp.bonjour.lan = TestPrinter._ipp._tcp.bonjour.lan
PTR _universal._sub._ipp._tcp.bonjour.lan = TestPrinter._ipp._tcp.bonjour.lan
SRV TestPrinter._ipp._tcp.bonjour.lan = 0 0 631 mfp.printer
TXT TestPrinter._ipp._tcp.bonjour.lan  

txtvers=1  
qtotal=1  
rp=Print  
ty=Toshiba MFP  
adminurl=http://mfp.printer  
note=Shared MFP  
priority=0  
product=(Toshiba eStudio 351c)  
printer-state=3  
printer-type=0xC0B0DE  
Transparent=T  
Binary=T  
Fax=F  
Color=T  
Duplex=T  
Staple=F  
Copies=T  
Collate=T  
Punch=F  
Bind=F  
Sort=T  
Scan=T  
pdl=application/octet-stream,application/pdf,application/postscript,image/jpeg,image/png,image/urf  
URF=none

Questo è strano, il code-fencing (4 spazi
iniziali

@JasonSalaz È perché c'era una lista che la precedeva. Devi fare doppio rientro per rendere il codice parte dell'elenco o eliminare l'elenco. <code>i tag funzionerebbero anche.
robmathers

Risposte:


1

Avvertenze: non possiedo un dispositivo AirPrint né ne ho uno disponibile altrove per i test. Quindi non sto parlando della mia esperienza nella seguente risposta ...


  1. Innanzitutto, quando si pubblica una stampante (AirPrint o meno) da un server DNS ( "statico, Bonjour area larga" ), è necessario includere TUTTE le coppie chiave / valore del record TXT elencate nella specifica di stampa Bonjour corrente .

    Una panoramica tabellare è elencata nel capitolo 9 del documento delle specifiche (per tutti i dettagli si prega di leggere il capitolo completo):

    Descrizione della stampante Tasti di registrazione TXT per Bonjour / AirPrint

  2. In secondo luogo, le specifiche di_printer._tcpport = 0 stampa Bonjour richiedono che per una stampante sia sempre necessario registrare il protocollo LPD ( ), anche se il dispositivo non lo supporta ( )! .

    La ragione di questo requisito apparentemente impeccabile è questa: LPD è considerato il protocollo "di punta" per il rilevamento del servizio relativo alla stampa. (Ovvero: se si possiede il nome di istanza di servizio per _printerpoi proprietario anche per _pdl-datastream, _ipp, _ipps, etc.)

    Alcune versioni precedenti di OS X lo hanno imposto. Non funzionerebbero senza di essa. Le versioni più recenti (e probabilmente anche la prossima versione di macOS ) sono meno dogmatiche e più pragmatiche ...

    Nel tuo caso la air(non ha nulla a che fare con AirPrint, ma significa s.th. come informazioni di autenticazione richiesto ), TLS, UUID, usb_MFG, usb_CMDe usb_MDLle chiavi mancano (anche se devi usare ""come i loro valori chiave).

  3. Terzo, prendi a cuore la regola generale sul punto finale per i nomi di dominio. I dettagli sono descritti qui:

  4. In quarto luogo, forse dovresti anche racchiudere i valori chiave tra virgolette. Esempio:

    pdl="application/pdf,image/urf"
    

    non

    pdl=application/pdf,image/urf
    
  5. Quinto, in generale, ciò che è citato sopra nel blocco di codice OP non mi sembra un formato valido per un file di zona . (Ho notato che la domanda originale è stata modificata da persone diverse dall'OP, quindi non commenterò i dettagli ...)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.