IPP Fix for Braindead USR MaxG (USR5461) Print Server

Anonymous anonymous at easysw.com
Fri Jan 6 16:59:26 PST 2006


Evidently USR MaxG router/print servers don't support status queries,
so ipp gets a status IPP_SERVICE_UNAVAILABLE when querying for capabilities and never prints the page.

Set the printer up as http://<routerIP>:1631/printers/My_Printer, and apply the attached patch to backend/ipp.c. Works for me, YMMMV:

*** cups-1.1.23/backend/ipp.c   Mon Jan  3 12:29:44 2005
--- /root/ipp.c Fri Jan  6 17:47:43 2006
***************
*** 516,525 ****
      else
        ipp_status = supported->request.status.status_code;

!     if (ipp_status > IPP_OK_CONFLICT)
      {
!       if (ipp_status == IPP_PRINTER_BUSY ||
!         ipp_status == IPP_SERVICE_UNAVAILABLE)
        {
        fputs("INFO: Printer busy; will retry in 10 seconds...\n", stderr);
          report_printer_state(supported);
--- 516,530 ----
      else
        ipp_status = supported->request.status.status_code;

!     // some braindead print servers can't return status
!     // eg USR MaxG router
!     if (ipp_status == IPP_SERVICE_UNAVAILABLE)
!     {
!               break;
!     }
!     else if (ipp_status > IPP_OK_CONFLICT)
      {
!       if (ipp_status == IPP_PRINTER_BUSY)
        {
        fputs("INFO: Printer busy; will retry in 10 seconds...\n", stderr);
          report_printer_state(supported);


Bill Reynolds grendel AT swcp DOT com




More information about the cups mailing list