How to capture an IPPTrace (iPrint Client debug log)

  • 7007023
  • 08-Oct-2010
  • 26-Apr-2012

Environment

Novell NetWare 6.5 Support Pack 8
Novell iPrint Client v1.0
Novell NetWare 6
iPrint/NDPS
Windows 2000
Windows NT 4
Windows 98
Windows 95
Windows 7

Situation

How do you troubleshoot the iPrint client?
This TID provides steps to capture an iPrint Client debug log, also known as an IPPTrace.

Resolution

Steps to capture an IPPTrace log:
 
Windows XP
  • At a Command prompt, type
    • IPRNTCFG TRACE
  • Check the "Enable iPrint Trace" option. Click OK.
  • At a Commnand prompt, type
    • NET STOP SPOOLER
    • NET START SPOOLER
  • Duplicate the problem
  • Uncheck the "Enable iPrint Trace" option. Click OK.
  • Restart the spooler again.
  • Zip up the C:\NDPS directory.
  • Send the zip file to Novell for analysis.

Windows 7 Instructions:

  • Open a Command prompt in "Run as Administrator" mode and type:
    • IPRNTCFG TRACE
  • Check the "Enable iPrint Trace" option. Click OK.
  • At a Command prompt, type
    • NET STOP SPOOLER
    • NET START SPOOLER
  • Duplicate the problem
  • At a Command prompt, type
    • NET STOP SPOOLER
  • Zip up the C:\NDPS folder.
  • At a Command prompt, type
    • IPRNTCFG TRACE
  • Uncheck the "Enable iPrint Trace" option.  Click OK.
  • At a Command prompt, type
    • NET START SPOOLER
  • Send the zip file to Novell for analysis.

Additional Information

Formerly known as TID# 10064594
 
There are several registry settings, in addition to error files, that can be used to troubleshoot and debug the iPrint client.  Please note that not all errors indicate a problem.  This would be similar to looking a LAN trace where there are normal and expected errors occurring on the wire.  NOTE:  Any changes made to the registry will need the workstation to be rebooted (XP, 2000, NT4, Win9x), or the print spooler will need to be restarted (XP, 2000 or NT4; not possible with Win9x).
 
If Novell Technical Support (NTS) requests an IPPTRACE, just go to \\HKLM\SOFTWARE\Novell-iPrint\Settings and change the TraceOn DWORD from 0 (which is off) to 1 (which is on).  It is not necessary to turn on the other registry settings unless specifically requested by NTS.  For NT based workstations, you can stop and start the spooler (NET STOP SPOOLER | NET START SPOOLER). 
 
For Windows 9x workstations, the workstation will need to be rebooted.  Once you have obtained the log, go into the registry and turn off the logging (TraceOn set to 0) and either stop|start the spooler, or reboot the workstation.  Failure to turn off logging will result in the log file consuming the entire free space of the drive for its log.

Main registry key to look at in all OSes:
As mentioned above, it isn't necessary to turn on all of these options below.  The main option of turning on the trace (TraceOn) should be sufficient.  However, the information given below details what the other settings are in the registry, what they do, and where they are at.
 
\\HKLM\SOFTWARE\Novell-iPrint\Settings .  Under that registry key, there are several other settings.  They are:
DrvTestOn - This is set to off (0).  When this is set to on (1), this will cause the iPrint client to download all the printer drivers in the RMS database for the platform specified.  For example, if you set this to 1 and you are running Windows 2000 and you download an iPrint printer, you will be asked if you want to download and install all the printer drivers for Windows 2000 and print a test page from each printer.  This is not a comprehensive test on the suitability of the print drivers, nor is there any guarantee that the drivers will be able to successfully print to the printer being targeted.  However, you do have the ability to test the download of the print drivers.  A file gets created on C:\NDPS\DRVTEST.TXT that lists the drivers tested and downloaded.
 
Job Refresh Rate - This is set to 15 (0xf) seconds.  This is an NT/2000 registry entry only.  It only shows up after installation of an iPrint printer.  This sets how often the printer folder job list gets refreshed.  You can increase or decrease this value, depending on how accurate you want that list to be.  Please note that if you decrease this value, you will increase network traffic.
 
LogOn - This is set to on (1) by default.  This will create a C:\NDPS\IPPERRS.TXT file.  This file will grow to be approximately 32k in size and then get deleted and restarted.  Errors that occur will automatically get logged to this file.  Below is an example of an error pulled from that log file:
9/4/2001 - 3:34:05 PM
        Module:     spoolsv.exe
        Trace Info: ippmain.c, line 5642, thread 0000120C
        Routine:    IppInterpretUri - Bad URI (not HTTP, HTTPS, or IPP) - \\TEST-TREE\HP4500N - Color LJ.novell
        Error:      HTTP - Bad URL supplied (not HTTP:, HTTPS:, or IPP:).
The above error is benign (and expected) because this printer is not an IPP printer.  You will see errors similar to the above for printers that are not iPrint printers (such as local, legacy print queues, NDPS printer agents, and other third party printing utilities).
 
Name Type - This defaults to on (1).  This is reserved for future use.
 
Start Time - This is not used for debugging and is used by the iPrint client.  DO NOT CHANGE THIS ENTRY.
 
StatsOn - This defaults to on (1).  This is reserved for future use.
 
TimeoutSeconds - The default is 45 (0x2d) seconds.  This is the number of seconds before the iPrint client gives up on a print job and errors out.  If you are receiving print job errors and you are printing to a printer across a slow link, increase this number.  The higher this number, the longer it will take the iPrint client to time out and fail.  If you cannot communicate with the printer(s), you will see longer delays, so be prudent when making changes to this parameter.
 
TraceOn - The default is set to off (0).  To turn this on, set this value to 1 or 2.  Setting this value to 1 will create a file C:\NDPS\IPPTRACE.TXT.  Setting this value to 2 will create a file called C:\NDPS\IPPTRACE.TXT and it will also output information to a debugger, such as WinDBG.EXE.  The contents of the file and the debug output are the same.  NOTE:  This file can grow to fill the entire hard drive's free disk space.  Only enable logging when necessary and disable it when completed.  This is information that can be seen on the wire in a LAN trace, less the actual print job data.  Remember to reboot the workstation or stop and restart the spooler for the registry change to take effect.  The C:\NDPS\IPPTRACE.TXT file shows a trace of SPOOLER and its calls into the iPrint libraries only.  The other directories below this show a trace of the application calling the iPrint libraries only.
 
NOTE:  If you install a printer/perform operations from a web browser, a new directory will be created with the IPPTRACE.TXT file in that directory.  For example, if you are installing your printer from a browser (IEXPLORE.EXE), your IPPTRACE.TXT file will be created at C:\NDPS\IEXPLORE.EXE\IPPTRACE.TXT and it will contain a trace of iPrint calls only.  If this application makes Spooler calls, you will see the results of those calls in the C:\NDPS\IPPTRACE.TXT file.

You can set the IPPTRACE.TXT logging options from the sub key called Trace Options (\\HKLM\SOFTWARE\Novell-iPrint\Settings\Trace Options).  They are as follows:
BrowserOn - Default is set to off (0).  This gives the browser plugins (IE/Netscape) the ability to send messages to the IPPTRACE.TXT file.  THIS HAS NOT BEEN IMPLEMENTED in the iPrint client code, therefore, this currently does not function.
 
HttpOn - Default is set to on (1).  This gives information on all the HTTP headers both in and out of the workstation.
 
IppOn - Default is set to on (1).  This gives all the IPP traffic to and from the workstation.  The trace file will show attribute names and values in an interpreted manner.
 
LineOn - Default is set to off (0).  This tells what line of code is being executed.  In order for this to be most meaningful, make sure you have
 
ModuleOn set to on (1).  This would not typically be used and is of no use in normal debugging circumstances.
 
ModuleOn - Default is set to off (0).  This tells what .c module is being executed.  Use in conjunction with LineOn.  This would not typically be used and is no use in normal debugging circumstances.
 
ProviderOn - Default is set to on (1).  This shows the print provider requests, such as get drivers, list jobs, list drivers, etc.
 
TcpOn - Default is set to on (1).  This shows all TCP communications to and from the workstation.
 
ThreadOn - Default is set to off (0).  This shows the thread ID being used so that you can follow a thread through the trace file.
 
TimeOn - Default is set to off (0).  This shows the time the process was executed.  This would be useful if something is taking a long period of time.

Files that get created and where they are located and what they mean:
C:\NDPS\IPPTRACE.TXT  --> Current log file.  The only way to access this is to stop the print spooler (NT/2000: net stop spooler) or reboot the workstation (Win9x).
 
C:\NDPS\IPPTRACE.LST  -->  This is the log file from a previous reboot.  If you are running Win9x and you are logging, when your reboot IPPTRACE.TXT will be renamed to IPPTRACE.LST and a new IPPTRACE.TXT will be created.  This provides a mechanism to view the trace file after the workstation has been rebooted.
 
C:\NDPS\SOME-APPLICATION-NAME.EXE\IPPTRACE.TXT or IPPTRACE.LST  -->  If you print from an application, a separate log file will be created in a subdirectory named after the executable doing the printing.
 
C:\NDPS\IPPERRS.TXT  -->  If you have errors printing, the errors will be written to this file.  This is a last error kind of log with the last error being appended to the end of the file.
 
C:\NDPS\ABOUT.HTM  -->  HTML file that gives you the iPrint files, the date and time on those files, and the version of the iPrint client in HTML format.
 
C:\NDPS\DRVTEST.TXT  -->  Please see the DrvTestOn registry setting above for a description of this file.