Implementazione di AirPrint con DNS-SD

4

Sfondo

Sto cercando di implementare AirPrint tramite DNS statico, come documentato sul link . 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, l'iPad però non trova la mia stampante o se è successo a trovarlo, ha mostrato un lucchetto dopo il nome della stampante e non ha stampato. (La versione iOS è 6.0.1)

Qualcuno ha un indizio sul motivo per cui 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 esplorare il dominio

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

Stampanti

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
    
posta bjoern 22.12.2012 - 09:33
fonte

1 risposta

1

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

  1. Innanzitutto, quando pubblichi una stampante (AirPrint o meno) da un server DNS ( "statico, Wide Area Bonjour" ), dovresti includere TUTTO il record TXT coppie chiave / valore elencate nella specifiche di stampa Bonjour correnti .

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

  2. Secondo, la specifica di Bonjour Printing richiede che per una stampante sia sempre necessario registrare il protocollo LPD ( _printer._tcp ), anche se il dispositivo non lo supporta ( port = 0 )! .

    Il motivo per questo requisito apparentemente da braindead è questo: LPD è considerato il protocollo "di punta" per l'individuazione dei servizi relativi alla stampa. (Significato: se possiedi il nome dell'istanza del servizio per _printer , lo possiedi anche per _pdl-datastream , _ipp , _ipps , ecc.)

    Alcune vecchie versioni di OS X hanno applicato questo. Non funzionerebbero senza di esso. Le versioni più recenti (e probabilmente anche la prossima versione macOS ) sono meno dogmatiche e più pragmatiche ...

    Nel tuo caso air (non ha nulla a che fare con AirPrint, ma significa s.th. come informazioni di autenticazione richieste ), TLS , UUID , usb_MFG ,% mancano le chiaviusb_CMD e usb_MDL (anche se dovresti usare "" come valori chiave).

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

  4. Quarto, 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 del codice OP non sembra un formato valido per un file di zona a me. (Ho notato che la domanda originale è stata modificata da altre persone rispetto all'OP, quindi non commenterò i dettagli ...)

risposta data 02.07.2016 - 11:55
fonte

Leggi altre domande sui tag