Implementando AirPrint con DNS-SD

4

Fondo

Estoy intentando implementar AirPrint a través de DNS estático, como se documenta en enlace . El iPad obtiene el dominio de búsqueda dns "lan" a través de DHCP, y lo verifiqué en Configuración-WLAN. Creo que creé todas las entradas necesarias en los lugares correctos, sin embargo, el iPad no encuentra mi impresora o si la encontró, mostró un candado después del nombre de la impresora y no se imprimió. (La versión de iOS es 6.0.1)

¿Tiene alguien aquí una pista, en cuanto a por qué iOS no encuentra la impresora o, si la encuentra, por qué la muestra como bloqueada?

Esta es mi configuración (simplificada con dominio de ejemplo)

entradas de DNS

Redirigir para examinar el dominio

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

Entradas de impresora

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

1 respuesta

1

Advertencias: no tengo un dispositivo AirPrint ni tengo uno disponible en otro lugar para realizar pruebas. Así que no estoy hablando de mi propia experiencia en la siguiente respuesta ...

  1. Primero, cuando publique una impresora (AirPrint o no) desde un servidor DNS ( "static, Wide Area Bonjour" ), debe incluir TODO el registro TXT pares clave / valor que se enumeran en la especificación actual de Bonjour Printing .

    En el capítulo 9 del documento de especificaciones se incluye una descripción tabular (para todos los detalles, lea el capítulo completo):

  2. En segundo lugar, la especificación Bonjour Printing requiere que para una impresora siempre tenga que registrar el protocolo LPD ( _printer._tcp ), incluso si el dispositivo no lo admite ( port = 0 )! .

    El motivo de este aparente requisito de error mental es el siguiente: LPD se considera el protocolo "estrella" para el descubrimiento de servicios relacionados con la impresión. (Significado: si posee el nombre de instancia de servicio para _printer , entonces también lo es para _pdl-datastream , _ipp , _ipps , etc.)

    Algunas versiones anteriores de OS X hicieron cumplir esto. No funcionarían sin él. Las versiones más nuevas (y probablemente la próxima versión de macOS también) son menos dogmáticas y más pragmáticas ...

    En su caso, el air (no tiene nada que ver con AirPrint, pero significa que al igual que se requiere información de autenticación ), TLS , UUID , usb_MFG ,% Faltan las claves usb_CMD y usb_MDL (incluso si usarías "" como sus valores clave).

  3. Tercero, por favor, tome en serio la regla general sobre el punto final para los nombres de dominio. Los detalles se describen aquí:

  4. En cuarto lugar, tal vez también debería incluir sus valores clave entre comillas. Ejemplo:

    pdl="application/pdf,image/urf"
    

    no

    pdl=application/pdf,image/urf
    
  5. Quinto, en general, lo que se cita arriba en el bloque de código OP no parece ser un formato válido para un zone file para mí. (Observo que la pregunta original ha sido editada por otras personas que no son el OP, por lo que no comentaré los detalles ...)

respondido por el Kurt Pfeifle 02.07.2016 - 11:55

Lea otras preguntas en las etiquetas