CUPS, Avahi and iOS: AirPrint troubles

Hello,


I've developed a print server for a photo booth application that:

  • Configures connected USB printers to be shared via CUPS
  • Uses Avahi to publish those shared printers over Bonjour


In the app I'm using, I can select the printers shared over Avahi in the Printer Picker Controller, but when I attempt to send a job directly to the printer, I get an error:


Error

No printer found. Showing

default printer selection

view.


After I acknowledge the error, the Printer Picker Controller is displayed again, this time with the job loaded, and the previously selected printer is already selected. I can simply tap "Print" and the job completes.


If I choose any other AirPrint printer that might be on my network, I do not receive an error. Instead, I get acknowledgement that the job has been added to the print queue.


Something about my CUPS/Avahi setup is preventing jobs from being sent directly to the printer; has anyone ever experienced this and what was the workaround?

Replies

The CUPS documentation describes this behavior pretty well. It looks like I'm going to dive into printer driver development to fix this.


https://wiki.debian.org/CUPSAirPrint

Could it be that the thread you make the call on is not the thread you get the reply on? It sounds like it's there and returning to show on your main thread. Did you get this resolved? Just curious.