Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP 9000 Networking: NetWare 4.1/9000 Print Services > Appendix D Troubleshooting Printing Problems

Troubleshooting Notes

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

1. Determining the Printer Language of Your Print Job

Print jobs can be generated in a variety of printer languages. See "Printer Languages" in Appendix A for a discussion of the various types. Different applications with printing capability will generate print jobs using different languages. Similarly, certain printers support some languages but not others. For example, many PCL printers do not support PostScript printing. (See Note 2 for more information.)

To be sure you are sending your print job to a printer that can support the language used by your application, you must determine the language used by your print job. Sending a print job to a printer that does not support the printer language used in that print job will produce unexpected results varying from no printer output to incorrect printer output.

In Windows and DOS applications, the print driver you are using in a specific application can provide information about the type of job the application creates when the document is printed. The name of the print driver can be seen in many applications by choosing the "Select Printer" option from the file menu.

  • Print drivers that generate PostScript print jobs usually have either the word "PostScript" or the letters "PS" in their names.

  • Print drivers that generate PCL print jobs occasionally have the letters "PCL" in their names but usually make no reference to a the printer language they are using.

If your application does not allow you to select a print driver, it generates an ASCII text print job. In DOS, copying or redirecting a text file to an LPT port "prints" an ASCII text job. For example, TYPE <filename> LPT1 or DIR > LPT1.

A large family of printer languages, the "page description languages" (PDLs), including PostScript, do not support printing this type of job. However, ASCII text files can be printed by non-PDL languages such as PCL.

The language of a print job can also be determined by examining the print job data. However, an understanding of the characteristics of printer languages is necessary in order to determine the language type. See Note 5 for information on examining print job data.

2. Determining the Printer Languages Your Printer Supports

The printer languages your printer supports can be determined by reading your printer's documentation. Many printers can support multiple languages. For example, many printers now support both PCL and PostScript print jobs.

Commands can be sent to these printers to cause them to switch languages. For example, to print a PostScript job on a printer that supports both PostScript and PCL jobs, a command sequence may need to be sent with the job that tells the printer to "SwitchToPostScript." This command sequence can be referenced in a print job configuration and implemented by using the J= option with CAPTURE or NPRINT using the following syntax:

CAPTURE J=SWITCHPS

or

NPRINT J=SWITCHPS

Some printers can detect the language used by a print job and switch to the appropriate language automatically.

3. Checking Your Non-Network (Local) Printer Setup

A printer will not function with NetWare print services if it does not function without NetWare print services.

To determine whether your printer is functioning properly, first print the job to the printer locally. If the printer is connected to a server, issue the server DOWN command and bring the machine up as a workstation so you can print the job to a local printer. This will determine whether the problem exists within network printing.

Check for the following problems:

Insufficient Printer Memory

During printing, the printer must have sufficient memory to hold the entire page to be printed. If it does not, it will print the part of the page it has in memory and continue printing on the next page. This problem occurs when printing large graphics jobs.

  • Add more memory to the printer, if possible.

  • If your application allows, configure it for the amount of memory that your printer has. This will allow the application to send data to the printer in a more manageable format.

Incompatible Printer Language Versions

If unexpected strings or characters appear in your printer output, and you are sure that the printer language in your print job is the same as the language supported by your printer (see Notes 1 and 2), you may have different language versions.

If the language version used by the print driver in your application is newer than the version your printer can interpret, some commands may not be recognized by your printer. This can cause unexpected strings or characters to appear randomly throughout your print job.

Try using an older language version to create your job. For example, if this symptom occurs while printing to an HP LaserJet IIIsi and the print driver you are using is for an HP LaserJet 4si, try using a printer driver for an HP LaserJet IIIsi.

Interrupt Conflicts

If your print job is printing slowly, you may have an interrupt conflict between the port and another device.

Reconfigure your printer to run in polled mode. Polled mode is the default in NetWare Services software. If printing performance improves, either continue using polled mode or configure your printer to use a unique interrupt. See "Polled versus Interrupt Mode" in Appendix C for more information.

Cabling Problems

If random, unexpected characters appear in your printer output, your printer cables may be too long or improperly attached. Make sure that everything is connected properly and that the cabling is within specified lengths and in good condition.

For more information on cabling, see Appendix B, "Cabling Printers."

Incorrect Printer Configuration

Run the configuration program supplied with the printer, or use DOS commands like MODE or PRINT to check that the printer settings are accurate. For example, if the printer is cabled to LPT2, make sure to send print jobs to LPT2. Use the documentation supplied with the printer to check other necessary settings.

If you cannot get a printer cabled to a workstation to print locally, check the workstation's NET.CFG file to see if it contains the following line:

LOCAL PRINTERS=0

If NET.CFG contains this line, temporarily remark it so it is not executed (place a pound sign # in front of it) or change the line to read as follows:

LOCAL PRINTERS=number

(The number should be the number of printers attached to the machine).

Faulty hardware

The printer may be failing and need service or replacement. If necessary, have faulty hardware repaired. See Appendix A, "Setting Up and Servicing Printers" for more information.

4. Determining Whether Your Job is an ASCII Text File

Print jobs that are not ASCII text files should be printed as "Byte Stream" files. ASCII text files may be printed as "Text" files. The difference between these two types is whether tab conversion is enabled.

Tab conversion means that as a job is printed, a tab character is replaced by a specified number of spaces. Tab conversion takes place if "File contents" is set to "Text" in the print job configuration or if "Tabs" is set in the CAPTURE command.

If the jobs to be printed are ASCII text files, the "File contents" should be set to "Text." "Tab size" can then be set to 1 through 18. This is the number of spaces that will be substituted for each full tab that is encountered. This is set in the CAPTURE command using the T= parameter.

For example, to set the tab conversion to 6 spaces, the command is as follows:

CAPTURE T=6

Any job that is not an ASCII text file should be printed with "File contents" set to "Byte Stream." This is because tab conversion usually causes graphics to be printed incorrectly. Text from most word processors is printed as graphics.

"Byte Stream" is the default setting. It can be manually set in the CAPTURE command using the NT (No Tabs) parameter. The command is as follow:

CAPTURE NT

To determine if a file is an ASCII text file, the DOS TYPE command can be used to look at it. For example, the syntax for checking the AUTOEXEC.BAT file is as follows:

TYPE AUTOEXEC.BAT

If the file can be read properly when it is displayed, it is probably an ASCII text file.

Another way to determine this is to try printing the file. If the file contains tabs, yet prints out legibly and in the proper format, it is an ASCII text file.

If you have determined that the job is text, yet it will not print properly with "File contents: Text" (or T=<1 through 18> in the CAPTURE command), change the setting to "File contents: Byte Stream" (or NT in the CAPTURE command.)

5. Checking the Contents of Your Job for Incorrect Control Sequences

Your print job may contain incorrect functions or control sequences. The following procedure explains how to view the contents of your job using PCONSOLE.

Use a text editor to view the print job.

Procedure

  1. Send the print job to a print queue using CAPTURE or NPRINT with the HOLD option.

  2. At PCONSOLE's "Available Options" menu, select "Print Queues." Select the print queue servicing the print job.

  3. At the "Print Queue Information" menu, select "Information." Write down the "Object ID" number. This is your print queue number.

  4. Exit PCONSOLE and return to DOS.

  5. Go to the QUEUES directory. The default location is SYS:QUEUES.

  6. Change to the queue directory. The name of the queue directory is the Object ID followed by .QDR.

  7. Type DIR to see a list of the print jobs in the queue.

    Print jobs are listed by ID number in the queue.

  8. Using FILER or a standard text editor, bring up the print job so that you can view all data and control sequences in the job.

    If there are multiple jobs in the queue, you will have to look at each one until you find the correct job.

    Control sequences assigned to the job by NetWare are attached to the beginning and/or end of the job by the CAPTURE or NPRINT utilities. The control sequences to be attached to the print job are determined by the "Device" and "Mode" fields of the print job configuration that was used when CAPTURE or NPRINT were run.

    The "Details" (D) option of CAPTURE or NPRINT will show which print job configuration is being used.

    Print job configurations can be created or modified using PRINTCON or the NetWare Administrator utility. The print job configuration may reference a print device definition (Device definitions can be created or modified using PRINTDEF or the NetWare Administrator utility.)

  9. Refer to the documentation for your printer to verify that the control sequences in your job are correct for the printer.

    Some PostScript print device definitions include modes that are larger than the buffer size for the print header, which is 64 bytes. This buffer can be increased up to 255 bytes by adding PRINT HEADER=number to the NET.CFG file.

    CAPTURE uses this buffer. NPRINT does not.

7. Determining Whether Your Job is Currently in the Print Queue

In PCONSOLE, select the queue from the "Print Queues" list and then "Print Jobs." The name of the user who sent the job is in the "Name" column.

If the job is not shown here, either it did not reach the queue or was sent to the printer and then removed from the queue.

8. Determining Whether Your Job Ever Reached the Print Queue

If your print job was sent to the queue but nothing is currently in the queue, you must determine whether the job did not reach the queue or whether it reached the queue and then disappeared without printing.

In order to determine this, you must disable the operator flag for the print queue titled "Allow service by current print servers" using PCONSOLE or the NetWare Administrator utility.

To access the queue operator flags in PCONSOLE, select the "Status" option from the "Print Queue Information" menu. In the NetWare Administrator utility, the flags are on the "Details" page of the Queue object. Disabling this operator flag essentially puts the queue on hold.

Next, print the job again. You can now look to see if the job is in the queue by selecting "Print Jobs" from the "Print Queue Information" menu in PCONSOLE or by selecting the "Job List" page of the Queue object in the NetWare Administrator utility.

If the job does not show up here, it never reached the queue.

9. Determining Where Your Job Was Sent

If the job was printed to a captured port, type CAPTURE SH at the command line. The name of the queue being captured to will be shown on the first line.

If the job was printed using NPRINT, type NPRINT /D (Details) at the command line. This will show the print job configuration being used. (Note that a slash must precede the "Details" option when using NPRINT. The slash is not necessary when using CAPTURE.)

You can determine which printer or queue is specified in this job configuration using PRINTCON or the NetWare Administrator utility.

In Windows, you can determine where the job is being sent by opening User Tools and clicking on the printer icon. The printer or queue will be shown next to the port you printed to from the application.

The parameters used by CAPTURE and NPRINT are determined by the default print job unless they are overridden in the command. The default print job is configured using PRINTCON or the NetWare Administrator utility.

10. Activating Jobs on "Hold" Status

To release jobs on operator or user hold using PCONSOLE, select the queue from the "Print Queues" list and then select "Print Jobs." Select the job that is held and change the "User hold "and "Operator hold" fields to "No."

To accomplish the same task using the NetWare Administrator utility, the "User hold" and "Operator hold" fields can be found by selecting "Job Details" in the "Print Queue" dialog.

To release jobs on operator or user hold using the NetWare Administrator utility, select "Job List" from the "Print Queue" dialog. Highlight the print job and select "Resume."

The only way the print job could have been placed on operator hold is for a print queue operator to have manually placed the job on hold using PCONSOLE or the NetWare Administrator utility.

The print job could have been placed on user hold manually by the user or queue operator using PCONSOLE or the NetWare Administrator utility, but also could have been placed on hold automatically.

There are several ways a print job can be placed on hold automatically:

  • User Tools. Under the NetWare Printer Connections window, select "LPT Settings...." The first parameter in the list is Hold.

  • CAPTURE. Issue the CAPTURE command with a HOLD option.

  • NPRINT. Issue the NPRINT command with a HOLD option.

11. Troubleshooting Jobs Stuck in "Active" Status

If your print job is stuck in "Active" status, one possibility is that the job is being sent slowly. You can usually determine this on a laser printer if the light is blinking to indicate that it is receiving data.

If you press the form feed button on the printer, the printer should print part of the page. (Some graphics jobs may be binary files, which require that the / B option be used with CAPTURE.)

If you are using a serial printer, some possible causes are as follows:

  • The baud rate is low.

  • The cable or port is bad.

  • XON/XOFF needs to be enabled or disabled.

  • The printer may have been turned offline.

  • If the printer is configured to use interrupts, there may be a conflict. This will cause slow printing. The configuration of the printer may need to be changed to polled mode.

If you are using a parallel printer, some possible causes are as follows:

  • The cable or port is bad.

  • The printer may have been turned offline.

  • If the printer is configured to use interrupts, there may be a conflict. This will cause slow printing. The configuration of the printer may need to be changed to polled mode.

Another possibility is that the printer has been paused or is out of paper. This can be determined in PCONSOLE or the print server console screen.

12. Troubleshooting Jobs Stuck in "Ready" Status

If your job is stuck in "Ready" status, the printing configuration may not be complete:

  • The print server may not be set up to service the printer.

  • The print server may not be assigned to the queue.

  • The queue may not be assigned to the printer.

  • An operator flag may be set for the queue in PCONSOLE to not allow service by current print servers. Select the queue and then "Status" from the "Print Queue Information" menu.

Other possibilities include the following:

  • The job may be waiting for a new form to be mounted.

  • Other jobs may be ahead of this job in the queue.

  • The printer may be servicing another queue with a higher priority.

  • The printer may have been stopped. Check the status of the printer in PCONSOLE or at the print server console.

13. Troubleshooting Jobs Stuck in "Adding" Status

One reason for jobs to appear stuck while the status is "Adding" is that the application may be printing slowly. This is likely to happen when the application is generating graphics to be printed.

Another possible explanation is that the CAPTURE command includes the options NA (No Autoendcap) and TI=0 (No Timeout). If this is the case, status will remain "Adding" until an End Capture command (CAPTURE EC) is issued.

14. Using CAPTURE to Redirect Parallel Ports to Network Queues

Many applications are not designed for network printing. CAPTURE is a command line utility that allows you to print from applications not designed for NetWare print services. It sets up redirection parameters for printing output from your workstation. The NetWare DOS Requester then redirects the workstation output from an LPT port to the specified network printer or file.

For complete information on using CAPTURE, see "Using CAPTURE" in Chapter 4.

15. Troubleshooting Jobs Printed Slowly

There are several explanations for slow printing.

  • The application may be generating the output for the printer. This can cause a long delay before the job is even sent to the queue. Look at the status of the application to determine if this is the case.

  • Interrupt conflicts may exist between the port and another device. Configure the printer for no interrupts (polled mode).

  • The baud rate may be slow (serial printer).

  • XON/XOFF may need to be enabled (serial printers).

  • Your hardware (cable, port, printer) may be faulty.

  • The /B parameter may be needed with CAPTURE if the job is a binary file.

16. Determining Whether a Printer is Connected as a Network Printer

In order for a printer to be accessed by the network, ALL of the following must occur:

  • The printer must be properly connected to a server or workstation (or to the network cabling with a network-direct device).

  • The printer must be functional as a local printer (unless it is a network-direct printer). If a printer will not work locally, it will not work as a network printer. See Note 3 for more information.

  • The printer must be configured and have a queue assigned to it (using Printer Setup, PCONSOLE, or NetWare Administrator).

  • The server or workstation the printer is connected to must have the port driver loaded (NPRINTER).

17. Troubleshooting Jobs Printed in Pieces on Separate Pages

A print job can be broken and printed on separate pages for several reasons:

  • The CAPTURE timeout setting may be too short. If there is a pause in the flow of data between the application and the port, and it is long enough for the timeout to end the job, the next data that comes will be sent to the queue as a new job. The new job will be printed on a new page because a form feed is issued.

  • Misinterpreted control characters in a job may also cause a form feed in the middle of a job. Sometimes this problem can be corrected by sending the job as Byte Stream (No Tabs).

  • The printer may not have sufficient memory to hold the entire page to be printed. If it does not, it will print the part of the page it has in memory and continue printing on the next page. This problem occurs when printing large graphics jobs.

18. Determining the Status of Your Print Job

To determine the status of your print job using Printer Setup, click on the appropriate print queue icon in the window. Click on "NetWare" and select "Job List."

To determine the status of your print job using PCONSOLE, select "Print Jobs" from the "Print Queue Information" menu. Look in the "Status" field for the job.

To determine the status of your job using the NetWare Administrator utility, click the "Job List" page in the "Print Queue" dialog and look in the "Status" field.

19. Solving NetWare Printing Problems When Running Windows

Sometimes printing problems the occur when running Windows can be resolved by any combination of the following, which are set in the "Printers" option in the Windows Control Panel:

  • Change the printer port connection to print to "LPT1.DOS" instead of "LPT1." This can help to speed up printing.

  • Disable "Fast Printing Direct to Port" if you get the error "Print device is already in use." (This action may slow printing slightly.)

  • Disable Print Manager. This can help to speed up printing but disables the Windows spooler.

Printing problems may be corrected with User Tools by one or both of the following techniques:

  • Disable Tabs using User Tools.

  • Match the banner type with the Windows printer driver type (PostScript or Text).

20. Isolating Bad Hardware or Corrupt Software

If the previous notes do not yield a solution to your printing problem, you may have bad hardware or corrupted printing software.

The following suggestions will help you to isolate the specific location of the problem in your printing setup.

Procedure

  1. Use a different method to send the job to the queue.

    If a different method works, there may be a problem with CAPTURE.EXE, NPRINT.EXE, or the options that are being used with them.

    If you are currently using CAPTURE, try NPRINT. If you are currently using NPRINT, try a DOS COPY to a captured port. Make sure you use similar options with CAPTURE and NPRINT.

  2. Print the job using CAPTURE or NPRINT using the HOLD option.

  3. Find the print job name in the queue as described in Note 5.

  4. If it is a text file, view the contents of it using FILER.

    If the job is corrupt, the problem occurred before or while the job was written to the queue.

  5. If the job is not corrupt or you cannot tell because it is graphics, make a reference file by copying the job file to a different name or directory.

  6. Allow the job to print by removing it from hold status.

  7. Print the reference file by using PCONSOLE or NPRINT, or by copying it to a captured port.

    WARNING! When printing the reference file, do not use a print job configuration that specifies a mode. This will cause the control codes to be duplicated in the job.
  8. Compare the printout of the reference file to the first printout.

    If the two printouts are different, the job is being corrupted after it is written to the queue. There may be a problem with the printer hardware (port, cable, printer) or the print server (PSERVER), port driver (NPRINTER), or printer configuration.

  9. If the printouts are the same, print the same job from the application again using the HOLD option.

  10. Use DOS COMP, MS-DOS FC, or a similar utility to compare the reference file and the job that has been reprinted from the application.

    If these files do not compare, the job is being corrupted before or during being written to the queue.

  11. If a NetWare utility appears to have a problem, recopy it to ensure that it is not corrupt.

    If the problem persists, contact your support representative to see if there is an updated version of the utility.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1996 Hewlett-Packard Development Company, L.P.