Mopria и DNS-SD

С Google Advent of Android 4.4 Kit теперь исходно поддерживает некоторую форму созданных в печати функциональности.

Это означает, что много принтеров теперь поддерживает Mopria.

Точно так же, как Airprint на IOS Mopria является не чем иным как многоадресно передает DNS для обнаружения принтера и IPP 2.0 для фактической печати. Конечно, MDNS будет только работать, когда телефон или планшет будут на той же подсети как принтер.

Однако на Airprint мы можем создать записи DNS-SD, которые указывают на принтеры и поэтому имеют устройства печати Устройств на iOS через различные подсети.

Существует ли путь к этому с Mopria также?

1
задан 4 March 2015 в 19:07
1 ответ

Чтобы объявить о принтере для Android Mopria-Print-Service через Bonjour, используйте:

  • bonjour-service-type: _ipp._tcp
  • txt-record pdl :один или несколько из этих PDL
    • image / pwg-raster
    • application / PCLm
    • application / pdf
  • txt-record ty: должно существовать, например CUPS
  • txt-record rp: соответствующий IPP-URI-Path (cups-printer-name)

(программисты могут изучить исходный код Java mopria / wfds )

Подтверждение концепции:

используйте dns-sd (Mac OS X) для рекламы службы удаленной печати (на rasperry pi / cups):

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

Мое Android-устройство теперь может печатать PDF на моем CUPS-Printer, который подключен к моему Raspberry Pi через USB.

Проблема 1:

Mopria-Discovery не может работать с двумя или более принтерами на одном хосте. В терминах «аппаратных принтеров» разумно предположить одну «очередь» на IP / хост. Что касается диспетчеров печати, таких как CUPS, вы столкнетесь с серьезными проблемами.

Mac OS X: только один общий принтер может быть обнаружен и использован службой Mopria-Print-Service

Проблема 2:

По какой-то причине я не могу использовать avahi для создания cups-ipp-service видимым для службы Mopria-Print-Service Android.

Это должно, но не работать для меня:

<?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>

Проблема 3:

Mopria сбивается с толку, когда имеется слишком много ответчиков mDNS. Для тестов Avahi вы должны отключить рекламу CUPS bonjour.

Файл: /etc/cupsd.conf

Browsing Off  
#BrowseOrder allow,deny  
#BrowseAllow all  
#BrowseLocalProtocols CUPS dnssd
4
ответ дан 3 December 2019 в 17:40

Теги

Похожие вопросы