2 votos

¿Cómo recoge Mac la información de la impresora (principalmente el controlador) después de seleccionar una impresora en la lista de impresoras a añadir?

Cuando queremos añadir una impresora a mac, vamos a "Impresoras y Escáneres" en las preferencias del sistema. Allí hacemos clic en el botón "+" y hacemos clic en "Añadir impresora o escáner". En el nuevo diálogo con el título "Añadir", vemos una lista de impresoras.

Cuando seleccionamos una de las impresoras: printer-x, vemos el estado "Recogiendo información de la impresora...". Y su controlador se selecciona automáticamente. ¿Cómo está recogiendo el Mac la información de la impresora? ¿Qué es todo este proceso de añadir una impresora en detalle? ¿Hay algún tutorial/artículo que pueda ayudar? He intentado buscar en Google, pero no he podido encontrar nada de interés todavía.

Quiero depurar una situación en la que el Mac elige el controlador para una impresora algunas veces y otras no (para la misma impresora). Se espera que el controlador para ver allí es AirPrint. La impresora se está añadiendo desde un servidor de impresión. Por lo tanto, quiero echar un vistazo a lo que está sucediendo en el fondo.

2voto

Kyle Patrick Puntos 144

Después de mirar cuidadosamente el DNSCache y la Red:

Más detalles en dns-sd.org, pero en resumen, para que todo funcione correctamente, se necesitan los siguientes cuatro registros DNS para cada impresora en el lado del cliente en caso de airprint/secure airprint:

  • Registro PTR de tipo _universal._sub._ipp/ipps._tcp (llamémoslo universal): necesario sólo si la impresora es compatible con airprint (véase dns-sd.org)

  • Registro PTR de tipo _ipp/ipps._tcp (llamémoslo ipps)

  • Registro SRV

  • Registro TXT

El registro SRV informa sobre los datos relacionados con el servicio (servidor/puerto, etc.) y el registro TXT informa sobre las capacidades de la impresora.

En Mac, los registros "ipps" y "universal" son consultados por procesos diferentes (printtool y PKBrowserServic respectivamente). De la observación: Las consultas de los registros "universales" por PKBrowserServic son más frecuentes que las consultas de los registros "ipps" por printtool. Por lo tanto, en un escenario: tiene registros universales pero no ipps, no identificará el conductor.

Para responder a la pregunta original: cuando se selecciona una impresora, se busca el registro SRV y TXT (basado en los registros universales o ipps que ya están en la caché, así es como vemos la impresora en la lista). Si la impresora/servidor de impresión no está disponible o si falta el registro ipps, mac no podrá hacer la 'Selección Automática' para el controlador.

Este problema puede solucionarse en la multidifusión mediante la autoconsulta, tanto universal como ipps, antes de que el TTL de los registros caduque, de forma que se actualicen las cachés de todos los clientes mac.

En el caso de unicast, mac tiene un TTL alto de los registros universal/ipps, por lo que puede tardar un poco en actualizarse el registro ipps en la caché en una nueva red, pero en pocos minutos (máximo 10 minutos desde la observación), tiene tanto ipps como universal y el problema ya no existe. Otra forma de solucionarlo rápidamente es borrar la caché (sierra: killall -HUP mDNSResponder)

0voto

Kristina Puntos 21

Si la impresora es compatible con IPP o IPPS (el Protocolo de impresión en Internet ), MacOS envía una consulta IPP al dispositivo de impresión para preguntar por todas las características que soporta.

Basándose en la respuesta del dispositivo, configura la cola de impresión (generando automáticamente un archivo PPD, Descripción de la impresora PostScript ) para que las opciones de trabajo disponibles aparezcan en la interfaz de usuario del diálogo de impresión.

Puede simular esta consulta y ver las respectivas respuestas de las impresoras con la ayuda de dos programas de línea de comandos que puede iniciar desde el terminal: ippfind y ipptool .

En primer lugar, ejecute ippfind

ippfind [ENTER]

Esto devolverá una lista de todos los dispositivos de impresión con capacidad IPP (o colas de impresión CUPS compartidas) en la LAN y WLAN a la que esté conectado. La lista incluirá el URI del dispositivo IPP que se puede utilizar para dirigir el dispositivo de impresión.

En segundo lugar, ejecute ipptool

Ahora puede utilizar el URI del dispositivo IPP encontrado en el paso anterior para enviar un Get-Printer-Attributes consulta al dispositivo o cola de impresión:

ipptool -t -v                 \
    <IPP-DEVICE-URI>          \
    get-printer-attributes.test

Ahora puede ver la respuesta de la consulta en su terminal.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X