Внедрение AirPrint с DNS-SD


4

Фон

Я пытаюсь реализовать AirPrint через статический DNS, как описано в http://dns-sd.org/ServerStaticSetup.html , IPad получает DNS-домен поиска «lan» через DHCP, и я проверил это в настройках WLAN. Я думаю, что создал все необходимые записи в нужных местах, однако iPad не находит мой принтер или, если он обнаружил его, он показывает блокировку после имени принтера и не печатает. (iOS версия 6.0.1)

Кто-нибудь здесь подсказывает, почему iOS не находит принтер или если он его находит, почему он показывает, что он заблокирован?

Это мои настройки (упрощено на примере домена)

DNS записи

Переадресация на просмотр домена

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

Записи принтера

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

Это странно, кодовое ограждение (4 ведущих пробела) не работает ...
Jason Salaz

@JasonSalaz Это потому, что перед ним был список. Вы должны либо сделать двойной отступ, чтобы сделать код частью списка, либо избавиться от списка. <code> теги также будут работать.
robmathers

Ответы:


1

Предостережения: у меня нет устройства AirPrint, и у меня нет другого, доступного для тестирования. Так что я не говорю из собственного опыта в следующем ответе ...


  1. Первый, при публикации принтера (AirPrint или нет) с DNS-сервера ( "статичный, Областной Бонжур" ), вы должны включить ВСЕ пары ключ / значение записи TXT, перечисленные в текущая спецификация Bonjour Printing ,

    Табличный обзор приведен в главе 9 документа спецификации (подробности см. В полной главе):

    Printer Description TXT Record Keys for Bonjour/AirPrint

  2. Во-вторых, Bonjour Printing спецификация требует, чтобы для принтера вы всегда регистрировали протокол LPD ( _printer._tcp ), даже если устройство не поддерживает его ( port = 0 ) ,

    Причина этого, по-видимому, мозгового требования заключается в следующем: LPD считается «флагманским» протоколом для обнаружения услуг, связанных с печатью. (Значение: если у вас есть имя экземпляра службы для _printer тогда вы также владеете им для _pdl-datastream, _ipp, _ipps, так далее.)

    Некоторые старые версии OS X применяли это. Они бы не работали без этого. Более новые версии (и, вероятно, следующий Macos версия тоже) менее догматичны и более прагматичны ...

    В вашем случае air (не имеет ничего общего с AirPrint, но означает что-то вроде требуется информация для аутентификации ), TLS, UUID, usb_MFG, usb_CMD а также usb_MDL ключи отсутствуют (даже если вы используете "" как их ключевые значения).

  3. В третьих, пожалуйста, примите близко к сердцу общее правило о конечной точке для доменных имен. Подробности изложены здесь:

  4. В-четвертых, может быть, вы также должны заключить свои ключевые значения в кавычки. Пример:

    pdl="application/pdf,image/urf"
    

    не

    pdl=application/pdf,image/urf
    
  5. В-пятых, в общем, то, что указано выше в блоке кода OP, не похоже на допустимый формат для файл зоны мне. (Я заметил, что оригинальный вопрос был отредактирован другими людьми, а не ОП, поэтому я не буду комментировать детали ...)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.