What is iPrint Direct?

  • 7001343
  • 11-Sep-2008
  • 26-Apr-2012

Environment

Novell iPrint Client for Windows
Novell iPrint for NetWare
Novell iPrint for Linux

Situation

What is iPrint Direct? 
What are the potential uses of this feature? 
How is this feature enabled? 
How can you determine if an iPrint printer installed to a workstation is using iPrint Direct? 
What user action, if any, is required to implement iPrint Direct?
What are the limitations of iPrint Direct?

Resolution

What is iPrint Direct?
The traditional iPrint configuration sends print jobs to the iPrint server (hosted on NetWare or Linux) then sends the print job to the physical printer.  iPrint Direct changes the iPrint printers installed on workstations to print directly to the IP address of the printer.  The iPrint server is bypassed.  With the traditional iPrint configuration, printing ceases if the Print Manager is down or the server hosting the Print Manager is unavailable.  With iPrint Direct, the Print Manager and server can be unavailable, yet users can continue printing.  

What are the potential uses of this feature?  
Branch Office:
The "Branch Office" model:  A central location hosts the print manager and printer agents while the workstations installing the printers are remote.  iPrint Direct eliminates the need for the printer data to be sent from the workstation to the central location, and sent back from the central server to the physical printer.

Interim workaround while troubleshooting server problems:
Some have found this feature to be useful when the server hosting the print manager is unstable.  While troubleshooting the stability of the server hosting the print manager, an administrator can enable iPrint Direct.  Users will still be able to print when the print manager server goes down or experiences whatever problem hindering the end users' printing.  Once the problem is resolved, iPrint Direct can easily be turned off and users will auto-switch back to traditional iPrint printing.  

How is this feature enabled?
a. Go to iManager -> iPrint -> Manage Print Manager -> Select the Manager -> Printer Agents -> Services
b. Check the box for iPrint Direct for all or some iPrint printers.
c. This change will take affect on workstations without the end user's knowledge.  The change is realized the next time the iPrint Client sends a print job, or the Windows Print Spooler requests status of an installed iPrint printer.   The Windows Print Spooler requests printer status when sending a job, launching certain applications, or opening the Printers and Faxes window.

How can you determine if an iPrint printer installed to a workstation is using iPrint Direct?
The typical name of an iPrint printer installed to a workstation is:
MyPrinter on ipp://<IPorDNSofPrintManagerServer>
When iPrint Direct is enabled, some may intuitively expect the name of the iPrint printer installed to the workstation to show like:
MyPrinter on ipp://<IPorDNSofPhysicalPrinter>

However, that is not the case.  iPrint Direct printer names continue to show the IP or DNS of the Print Manager server.  There are two ways to determine if an iPrint printer installed to a workstation is enabled for iPrint Direct:

Method 1:
a. On Windows, click Start -> Settings -> Printers and Faxes
b. Right-click the printer -> Properties -> Click the Ports tab
c. Scroll down to the printer and read the description column.
Look for the word Direct.

Method 2:
Within regedit, look for the iDirectCommand key:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Print\Printers\,,ipp//[DNSorIP_PrintManager],[PA_Name]\iDirectCommand       
            The text within [brackets] will be replaced with names specific to the environment.

The iDirectCommand value consists of the Gateway Auload Command for that printer agent.  For example:

iprintgw PORT=LPR HOSTADDRESS=10.10.23.45 PRINTERNAME=PASSTHROUGH
or
NDPSGW PORT=LPR HOSTADDRESS=10.10.23.45 PRINTERNAME=PASSTHROUGH

To determiine if an iPrint printer is enabled for iPrint Direct from the /ipp page (http://<DNSorIP_PrintManager>/ipp, look for a blue arrow on the iPrint printer icon.

What user action, if any, is required to implement iPrint Direct?
No user action is required.  When the iPrint Direct attribute is set on the printer agent object within the Print Manager database (psmdb.dat), the workstation picks up the change the next time the iPrint Client sends a print job or checks the status of a printer.   

When iPrint Direct is enabled on the workstation, the iPrint Client attempts to communicate with the printer agent hosted on the server when the Windows Print Spooler loads.  If the printer agent is reachable, and the setting is turned off, the setting will be detected and auto-changed on the workstation.

What are the limitations of iPrint Direct?
Because the iPrint Server is bypassed, job statistics will not be tracked in the Print Manager Database.  Banners, auditing, and printer pooling are not supported when using iPrint Direct.