Mopria y DNS-SD

Mopria y DNS-SD

Con la llegada del kit Android 4.4, Google ahora admite de forma nativa algún tipo de funcionalidad de impresión integrada.

Esto significa que muchas impresoras ahora son compatibles con Mopria.

Al igual que Airprint en IOS, Mopria no es más que DNS de multidifusión para detectar la impresora y IPP 2.0 para imprimir. Por supuesto, MDNS sólo funcionará cuando el teléfono o la tableta estén en la misma subred que la impresora.

Sin embargo, en Airprint podemos crear registros DNS-SD que apunten a las impresoras y, por lo tanto, hacer que los dispositivos IOS enumeren los dispositivos en diferentes subredes.

¿Hay alguna manera de hacer esto también con Mopria?

Respuesta1

Para anunciar una impresora para AndroidServicio de impresión Mopriamediante el uso de Bonjour:

  • tipo-servicio-bonjour: _ipp._tcp
  • txt-record pdl: uno o más de estos pdl
    • imagen/pwg-raster
    • aplicación/PCLm
    • Solicitud PDF
  • txt-record ty: debe existir, por ejemploCUPS
  • txt-record rp: la ruta IPP-URI-Path apropiada (cups-printer-name)

(los expertos en códigos pueden investigarcódigo fuente java mopria/wfds)

Prueba de concepto:

use dns-sd(Mac OS X) para anunciar un servicio de impresión remota (en rasperry pi/cups):

dns-sd -P "mopria" _ipp._tcp local 631 pi 192.168.2.118 \
        rp=printers/colorlaser \
        pdl=application/pdf \
        ty=CUPS

Mi dispositivo Android ahora puede imprimir PDF en mi impresora CUPS, que está conectada por USB a mi Raspberry Pi.

Número 1:

Mopria-Discovery no puede manejar dos o más impresoras por host. En términos de "impresoras de hardware", es razonable asumir una "cola" por IP/host. En términos de colas de impresión como CUPS, enfrentará serios problemas.

Mac OS X: sólounoLa impresora compartida puede ser descubierta y utilizada por Mopria-Print-Service

Número 2:

Por alguna razón, no puedo usar avahi para que el servicio cups-ipp sea visible para Mopria-Print-Service de Android.

Esto debería pero lo hacenotrabaja para mi:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name>mopria</name>
  <service>
    <type>_ipp._tcp</type>
    <port>631</port>
    <txt-record>txtvers=1</txt-record>
    <txt-record>qtotal=1</txt-record>
    <txt-record>rp=printers/colorlaser</txt-record>
    <txt-record>pdl=application/pdf</txt-record>
    <txt-record>ty=CUPS</txt-record>
  </service>
</service-group>

Número 3:

Mopria se confunde cuando hay demasiados respondedores mDNS. Para las pruebas de Avahi, debe desactivar la publicidad bonjour de CUPS.

Archivo: /etc/cupsd.conf

Browsing Off  
#BrowseOrder allow,deny  
#BrowseAllow all  
#BrowseLocalProtocols CUPS dnssd

información relacionada