NetWare Printing
                                                            Concepts and Troubleshooting


                                                                 Wolfgang Schreiber

Upgrading from older NetWare revisions
       -    If problems appear, try re-defining print servers and queues.



Capturing Data
Printing binary files
       -    Use 'NT' as default in all print jobs; use 'Text' only for ASCII files.
       -    Put a NT (no tabs) parameter in your capture statement. This most
            commonly fixes graphics with garbage.
       -    Increase the timeout (TI) in the capture statement if your document
            gets cut off before being completed.
Invalid banner
       -    The CAPTURE.EXE shipped with NetWare 386 v3.10a in some cases may have
            problems associated with the banner, particularly if the wrong name is
            printed on the banner or the name is missing on the banner.
            SOLUTION: Use CAPTURE v1.21 on NetWire (CAP121.ZIP).
Incorrect timeouts
       -    Various print problems can occur if the value of the TImeout flag is
            too short. (For example, the job could be interrupted or become garbled
            if the capture times out too early.) Increase the timeout value or use
            ENDCAP to complete the capture instead of a timeout value.
PRINTDEF control sequences
       -    Shells by default have a 64 byte print header buffer and 16 bytes for
            print tail. If you need more modify NET.CFG.
Printer not reset between jobs
       -    Check PRINTDEF; do not use rev 3.01b shell that ships with NetWare
            v3.10a.
NPRINT problems
       -    NPRINT v3.03 that comes with NetWare v3.1 had some problems with path
            in file names. Version 3.54 (in PSV121.ZIP) fixes those problems. 
Job owner is not notified
       -    Use current versions of the PSERVER.NLM and PSERVER.EXE.



Printing Postscript
       -    An interesting feature of the postscript printer is that it will flush
            the entire print job if there is anything about the print job that it
            does not understand, with no error messages whatsoever. The printer
            will blink as if everything were just fine and then it just stops.
            Because of this feature, it is very difficult to diagnose the problem.
       -    The only things that are ESSENTIAL for postscript to be successful on
            the network are the points explained above and a NO TABS (nt) flag as
            well as a NO BANNER (nb) flag in the spool or capture statement. No
            Tabs sends the file as a byte stream. This means that the control
            characters will not be interpreted by the server but rather be sent
            directly to the printer to be interpreted. The no banner is essential
            because the banner is sent by the network and not the application.
       -    It might help to look at the contents of the print job file contents in
            the queue directory; this requires some postscript experience.
       -    MicroSoft Windows Support group has been advising Windows users on a
            Novell Network to use this CAPTURE statement prior to executing
            Windows: "CAPTURE s=<server> q=<queue> nt nb ti=0 na"
       -    Printing large postscript files under windows aborts:  get new Windows
            postscript driver from MicroSoft
       -    WordPerfect problems: Using WP v5.1 you need a later release of WP.EXE
            (12/31/90), and also a postscript driver APLASIIN.PRS (size 57925).
       -    Printing ASCII files on postscript printers: There is a PDF file
            included with NetWare that will allow you to have an Apple LaserWriter
            emulate a Diablo 630 printer.
       -    If it's not a laserwriter there is another file in the public domain
            library in NetWire called POSTTE.ZIP, which contains another PDF file
            written by Adobe which should work on any postscript printer.
       -    IBM Laser printers with a date previous to December, 1990 had a problem
            where they would not switch to HP mode if a job was in the printer
            buffer.



Installing a shared Plotter with NETWARE 
       -    Use the latest PSERVER files.
       -    In most cases you need to NPRINT to the plotter. You may or may not be
            able to spool the job with CAPTURE.  If you are having problems with
            CAPTURE, you need to NPRINT.
       -    Make sure you use the NB and NT (no banner, no tabs) flag in NPRINT or
            CAPTURE. 
       -    When using RPRINTER for remote plotting, make sure that you don't have
            any IRQ, Port, or RAM memory address conflicts.
       -    Most plotters use handshaking to verify that a computer is there. 
            NetWare may not support full hand shaking, but only look for on-line or
            off-line.  The cable wiring may have to be modified for NETWARE to
            trick the plotter into thinking a computer is there all the time, and
            to send buffer-full signal as off-line. 
       -    If you are using an HP Draftmaster, then turn "Pen Sort" off and check
            to make sure "HARDWIRE" is set to off.




Configuring Print Servers
PSERVER type: Core Printing, NLM, VAP, EXE
       -    Core printing and PSERVER.VAP can be used concurrently on a NW v2.2
            server as long as the PSERVER controls remote printers only.
PSERVER.VAP must be loaded manually
       -    Use v1.22 or later for autoloading PSERVER.
Core printing worked with NW v2.1x, not with v2.2
       -    Check interrupt conflicts. Core printing in NW v2.2 can/will use IRQ
            while earlier versions used polling.
High server utilization with PSERVER.VAP on NetWare v2.2
       -    The high utilization number is only cosmetic; appears with printer
            polling. Performance will not be affected.
NetWare v2.2 File server will not go Down
       -    If PSERVER.VAP is loaded and server is set DOWN, this may take VERY
            long. Usually with ArcNet; at least one workstation must be switched
            on.
NetWare core printing does not handle ODD parity
       -    Use PSOBJ.ZIP from NetWire.
IRQ vs Polling
       -    Printers attached to a Print Server should use port polling. Printers
            attached to an RPRINTER workstation need IRQ support at the hardware
            level and that the IRQ is enabled. 
       -    Slow printing on RPRINTER might be caused by incompatible IRQ handling.
            Try polling. 
       -    Hard- and software settings must match or might cause hanging or no
            printouts.
I/O addresses used by PSERVER
       -    I/O addresses for com1, com2, com3, and com4 are read from the dos
            device list that gets created when the machine boots up (the first 4
            words of data at 0:0400). Com3/4 might not be initialized by the PC
            BIOS on some machines.
Buffer Size
       -    Losing characters has also been associated with the need to increase
            the buffers for the printer in PCONSOLE under printer configuration
            from the default of 3 to a value between 10 and 20.
       -    HP Laser series IIID printers running as local printers in the polled
            mode (no interrupts) have experienced problems with printing garbage
            characters. Switching to interrupt driven and increasing the buffer in
            the printer configuration seems to help the problem.
SPX connections
       -    If a remote printer is losing connections, the SPX may be timing too
            early on the workstation. Increase the SPX ABORT TIMEOUT value.  This
            value can be specified in the workstation's SHELL.CFG file.  The
            default value is 540 (about 30 seconds).  Try setting the value to 800
            (SPX ABORT TIMEOUT=800).  You may need to experiment with larger values
            (2000 with some WD boards).
       -    Increase SPX connections to 60 in the SHELL.CFG (more is not needed).
       -    Some older NIC drivers do not support SPX.
PSERVER.VAP problems
       -    VAP brings down server if you delete an active print job. Use latest
            PSERVER.VAP.
       -    VAP generates a GPI. Use current VAP revision. Check NICs, LAN drivers,
            other VAPs.
       -    VAP on bridge together with Mac Vaps out of SPX buffers. Use NDSPX.ZIP
            from NetWire.
GPI during PSERVER start
       -    defective RAM or network driver on the server.
       -    Check subdirectories under SYS:SYSTEM and delete old unused queue and
            pserver directories.



Checking the Queue
Job do not appear in queue
       -    Check Capture settings (CAPTURE SH)
       -    Try printing to file (CAPTURE CR=file)
Queue Jobs are not printed
       -    Check queue status
       -    Check currently attached print servers
       -    Is print server accepted queue server
       -    Check print server status and printer status in PCONSOLE
       -    Verify RPRINTER
Queue jobs disappear
       -    check cable, handshake, configuration
       -    try QFIX.ZIP
       -    check RPRINTER problems



Running RPRINTER
Use current version of workstation shell
Starting in Login Scripts
       -    To save workstation RAM do not call RPRINTER from login scripts except
            from an 'EXIT' command.
Windows problems
       -    Running RPRINTER with Windows 3.0 is not yet supported. Using the TBMI
            (Task Switching Buffer Manager - available on NetWire) and starting
            RPRINTER before starting Windows sometimes solves the problems.
       -    TBMI (Task-Switched Buffer Manager) allows switching between
            applications which make IPX or SPX specific calls (peer-to-peer
            applications). It is not required for regular MS Windows applications,
            or for regular DOS applications running under Windows. 
Postscript jobs aborted after few pages
       -    Get RP121B.ZIP or later
Serial Printers
       -    COM3-5 are normally supported on PS/2 models and compatibles, only
       -    On serial printers invalid XON/XOFF handling might be a problem; try
            RP121B.ZIP or later from NetWire
       -    Some programs (e.g. CAD) set the plotter to Xon/Xoff.  On small plots
            it worked fine but on larger jobs the buffer would overflow since
            RPRINTER continues to expect HW handshake
Slow Printing
       -    Some computer ports are not capable of being driven by interrupts
            because the COM ports have been set up to work only with DOS which
            polls the ports. If you are experiencing slow printing problems such as
            one character every 3 seconds, this could be your problem. NetWare
            sends the character to the port and then waits 3 seconds for an
            interrupt. If one does not occur, NetWare scans the port. If all is
            well, it sends another character. Thus, the appearance of slow
            printing. Change to polled mode.
Printer goes off-line or stops
       -    If your printer is a parallel printer and the print server reports
            incorrectly that the printer is off-line or out of paper, the printer
            is probably experiencing a hardware problem.
       -    Try lower baud rate.
Rprinter does not connect to PSERVER
       -    Check for hardware conflicts; replace NICs; use current shell drivers.
Rprinter disconnects from PSERVER
       -    SPX may time out too early. Increase the SPX ABORT TIMEOUT value. This
            value can be specified in the workstation's SHELL.CFG file. The default
            value is 540 (about 30 seconds). Try setting the value to 800 (SPX
            ABORT TIMEOUT=800). You may need to experiment with larger values (2000
            with some WD NICs).
       -    Try "IPX RETRY COUNT =50".
Hanging workstation
       -    Use current shell;
       -    Check for conflicts of printer ports with other hardware;
       -    Check for application problems;
Other problems
       -    There is an interrupt conflict between other ports or devices within
            the workstation.
       -    ROM BIOS does NOT support interrupts;
       -    The port is not fully functional, meaning that the port can receive a
            character, but cannot issue an interrupt to signal NetWare to send the
            next character.



Specific Hardware problems
HGC/Printer boards
       -    Some cheaper video/printer boards handle IRQs incorrectly. Try other
            port.
Hewlett Packard Printers
       -    If an HP LaserJet III D printer is running as a local printer in polled
            mode, try switching the printer to interrupts. This step has proven
            effective for some HP Laser Series 3D printers experiencing problems
            with garbled characters.
       -    HP LaserJet II using a Jetstream Postscript board in the printer: use
            polling on RPRINTER.
       -    An HP III Laserjet as remote printer on IBM model 60, 50 and 50z's
            might lose characters, text or control. Use RPR123.ZIP from NetWire.
       -    Timing problems with HP LaserJet III printers. RPRPS2.ZIP in NSD on
            NetWire takes care of both the timing issue with the series III printer
            as well as the "Buffer Overflow" errors occurring on the plotter.



Finding the cause
Testing
       -    Move the printer to a different workstation. 
       -    Try direct printing under DOS. If printing works under DOS and not
            under NetWare, the printer port is highly suspect.  The responsiveness
            of the port is more critical under NetWare than under DOS.
       -    If your printer has any switches, verify the switch settings. If your
            printer is a serial device and is configured to use interrupts, ensure
            that the interrupt is set for COM ports. Use IRQ 4 for COM1 and IRQ 3
            for COM2. Verify that the cable is properly pinned out.
       -    Swap interface cards and update the drivers. 
       -    If you are using an add-on parallel/serial port card, swap it out or
            use another brand of port card.
       -    Delete the print server queues and printer definitions and then
            recreate them.
       -    Check PSERVER and RPRINTER files for the latest version. The latest
            versions are available on NetWire.
       -    Remove any device that is between the workstation and printer.
       -    Replace cable, switch to another printer port.  
       -    Use PCONSOLE to verify that the job has reached the queue. Verify that
            the complete job is reaching the queue intact.
       -    Use an editor to check the files in the queue directory for integrity.
If everything fails
       -    Run Bindfix
       -    create new print server and queues
       -    use other NIC
       -    try other PC, replace XT by AT



Delivered Utility versions

NetWare                     v2.15  v2.20   v3.10   v3.11

RPRINTER.EXE                       1.21    1.20    1.21
PSERVER.VAP                        1.21    1.20    1.21
PSERVER.NLM                        1.21    1.20    1.21
PSERVER.EXE                        1.21    1.20    1.21
CAPTURE.EXE                 1.15   3.50    3.01    3.50
NPRINT.EXE                  2.23   3.54    3.03    3.54



Current Versions and Patches of Print Utilities on NetWire/CompuServe  (Nov 91)

                Lib                                                                    NW Vers
PSV110.ZIP        7     PSERVER.NLM v1.10                                               (3.00)
PSV120.ZIP        7     PSERVER.NLM v1.20                                               (3.10)
PS122 .ZIP       16     PSERVER VAP/NLM/EXE v1.22                                   (2.x/3.11)
CAP121.ZIP        6     CAPTURE v1.21 Problem with wrong banner                     (2.2/3.11)
RP121B.ZIP      NSD     RPRINTER goes Offline with XON/XOFF                         (2.2/3.11)
QFIX  .ZIP        7     Jobs lost from Print Queues                                     (3.10)