Samstag, 11. Dezember 2010

airprint for Canon LBP-810 and cups-pdf on ubuntu maverick 10.10

this is a technical case study using apple airprint on ubuntu maverick 10.10 for cups-pdf and my old Canon LBP-810



Thanks micromux for the howto and TJ Fontaine for the great script that generates the services configuration for your Bonjour/AirPrint printers.



the guide:
  • make sure you have canon printer working correctly with ubuntu
    (search for "canon lbp-810 ubuntu")
  • make sure you have working cups-pdf (aptitude install cups-pdf)
  • apple airprint requires "bonjour" with some tags to recognize your printer as airprint device (bonjour is also known as "avahi" or "mdns" on linux systems)
  • cups 1.4 could not do that (it's planned in cups 1.5) so you have to manually generate bonjour broadcast infos
my service files (generated with TJ Fontaine script):


/etc/avahi/services/AirPrint-LBP810F.service (Canon LBP 810)

 <?xml version="1.0" ?>  
 <!DOCTYPE service-group SYSTEM 'avahi-service.dtd'>  
 <service-group>  
 <name replace-wildcards="yes">AirPrint LBP810F @ %h</name>  
 <service>  
 <type>_ipp._tcp</type>  
 <subtype>_universal._sub._ipp._tcp</subtype>  
 <port>631</port>  
 <txt-record>txtvers=1</txt-record>  
 <txt-record>qtotal=1</txt-record>  
 <txt-record>Transparent=T</txt-record>  
 <txt-record>URF=none</txt-record>  
 <txt-record>rp=printers/LBP810F</txt-record>  
 <txt-record>note=LBP-810</txt-record>  
 <txt-record>product=(GPL Ghostscript)</txt-record>  
 <txt-record>printer-state=3</txt-record>  
 <txt-record>printer-type=0x801004</txt-record>  
 <txt-record>pdl=application/octet-stream,application/pdf,application/postscript,image/gif,image/jpeg,image/png,image/tiff,text/html,text/plain,application/openofficeps,application/tpog-ps,application/vnd.cups-banner,application/vnd.cups-command</txt-record>  
 </service>  
 </service-group>  
/etc/avahi/services/AirPrint-PDF.service (cups PDF)
 <?xml version="1.0" ?>  
 <!DOCTYPE service-group SYSTEM 'avahi-service.dtd'>  
 <service-group>  
 <name replace-wildcards="yes">AirPrint PDF @ %h</name>  
 <service>  
 <type>_ipp._tcp</type>  
 <subtype>_universal._sub._ipp._tcp</subtype>  
 <port>631</port>  
 <txt-record>txtvers=1</txt-record>  
 <txt-record>qtotal=1</txt-record>  
 <txt-record>Transparent=T</txt-record>  
 <txt-record>URF=none</txt-record>  
 <txt-record>rp=printers/PDF</txt-record>  
 <txt-record>note=PDF</txt-record>  
 <txt-record>product=(GPL Ghostscript)</txt-record>  
 <txt-record>printer-state=3</txt-record>  
 <txt-record>printer-type=0x80f04c</txt-record>  
 <txt-record>pdl=application/octet-stream,application/pdf,application/postscript,image/gif,image/jpeg,image/png,image/tiff,text/html,text/plain,application/openofficeps,application/tpog-ps,application/vnd.cups-banner,application/vnd.cups-command</txt-record>  
 </service>  
 </service-group>  
  • check with mdns-scan, if the printers are listet (aptitude install mdns-scan)

# mdns-scan 
AirPrint LBP810F @ surfer._ipp._tcp.local
AirPrint PDF @ surfer._ipp._tcp.local
  • try printing an email on your iphone and select AirPrint LBP810F
  • AirPrint PDFthe PDF's are placed in this directory (without authentication)/var/spool/cups-pdf/ANONYMOUS




Kommentar veröffentlichen