G. PRINTING

G.1 Printing to/from Unix systems

The Novell solution is to purchase the NetWare Flex/IP package which includes a bi-directional print gateway. According to Novell's press release, it "allows Unix users to access printers attached to NetWare systems and NetWare users to access printers that are attached to UNIX systems. The UNIX printer will appear to the user as a normal NetWare print queue, while the NetWare queues will appear as UNIX print queues to the UNIX user. In addition, the UNIX print filter mechanism is supported enabling print jobs to be preprocessed before submission to the printer device..."

The Netware NFS package which provides Unix file services on a Netware v3.11 server also includes the Flex/IP printer functions. NetWare NFS was updated on August 10, 1995, with the update file available at:

    	ftp://netlab2.usu.edu/netwire/novlib/01/nfs197.exe
    For Netscapers:
    	ftp://netlab2.usu.edu/sys/anonftp/netwire/novlib/01/nfs197.exe

A third-party solution is also available. iQueue is a pair of LPD and LPR NLMs for Netware 3.1x and 4.x. Filters supported are: Text (CR/LF), Text to Postscript and Fortran. A demo that runs for 1 hour then unloads is available by:

ftp://ftp.novell.com/pub/netwire/novuser/05/lpdnlm.zip

[Thanks to Quentin Smart for the info on iQueue]

For a free solution, see section F.2 for information on Charon 4.x.

G.2 Sharing PC and Macintosh printers

You can share printers between PCs and Macintoshes using Netware. The exact mechanism depends on whether you use Netware v2.x or Netware v3.11. Macintoshes can only print over the network to Appletalk printers (which are network devices, similar in concept to a Netware print server). Sharing PC and Mac printers involves setting up a print queue to appear on the network as an Appletalk printer.

If you use Netware v2.x you can set up an Appletalk printer to be used by Macintoshes. This printer must be on the Appletalk network and serves a queue on the file server. This queue appears on the network to be an Appletalk printer (such as a LaserWriter) and like an ordinary print queue PC clients can print to it. The important thing to note here is that the Appletalk printer must be attached to the network and is visible to Mac clients. Since Appletalk offers limited access controls the printer is available to any Mac client on your network.

Netware v3.11 offers more options than Netware v.2x. With Netware for Macintosh v3 you can advertise any printer queue to appear as an Appletalk printer and service a queue with a real Appletalk printer

Effectively a printer queue can be advertised as an Appletalk printer, regardless of how the printer attaches to the queue. This means printer queues serviced by a normal Netware print server can also appear to a Macintosh client as an Appletalk printer. Also, a printer queue can be serviced by an Appletalk printer without the queue being visible to a Mac client.

Other options with Netware for Macintosh v3 allow you to hide an Appletalk printer which is serving a queue. This means that Mac clients must use the queue instead of the real printer. You can also restrict Mac-based users of the queue to those connected to the file server. The combination of these two features allows you to carefully control access to printers.

These options are controlled by switches in the printer specification in ATPS.CFG. A complete description of these switches can be found in the "Netware for Macintosh Installation and Maintenance Guide", pps 213-241. Some are summarised here:

       Option   Does this
      --------  --------------------------
         -o     Renames a localtalk Q to a netware print Q
         -h     Hides a localtalk printer which services the queue
         -a     Makes a netware Q accessable only when logged in
         -y     Disables the 'job completed' notification for Mac Users

    And some examples:

    e.g. 1   Print Q in same zone as server
    	"localtalk name" -o "netware Q name" -h -a -y

    e.g. 2   Print Q in zone other than server
    	"localtalk name:zone name2" -o "netware Q name:zone name2"

G.3 Getting garbage in printouts

If you occasionally get garbage in the middle of your print jobs, you're probably running PSERVER V1.21, which ships with NetWare 3.11. There is a known bug in this version which causes it to sometimes emit spurious characters when its buffer empties. A temporary solution would be to increase the size of the buffer in PCONSOLE; this should mask the problem for typical text jobs (but not for long ones, or for graphics) and is often not a bad idea as it will slightly improve the efficiency of PSERVER's operation. The permanent solution is to get a current copy of PSERVER. Look for the latest copy of PSERVER on Compuserve or your favourite ftp site.

Another possibility is that you are running a serial printer and having problems with handshaking. In general, a print server can send data faster than a printer can print it (and in fact, this is the way you want it so that you are not artificially slowing down your printer). At some point, the printer has to be able to tell the print server to stop sending until it can deal with the data that's in its buffer. This can be done using hardware handshaking (there are several RS-232 pins for this purpose) or software handshaking (usually using the ASCII XON and XOFF characters). Both the printer and the print server must be configured to use the same method of handshaking. You will probably need to look in your printer's manual to find out what method(s) it supports, and how to enable them. For the print server, use the Printer Configuration screen in PCONSOLE.

Another factor to bear in mind is whether or not your printer uses binary codes to position print on the page (such as a HP Laser Jet). You may need to set the queue to use BYTESTREAM rather than TEXT to allow control codes with value 13 to be transmitted.

G.4 Alternatives to PCONSOLE & PSTAT for monitoring printer queues

QView v1.5 is a program that will allow you to view several print queues at once. QView Pro v2.3 is a Pconsole replacement. With QView Pro, an operator may place jobs on hold, delete jobs, or move jobs between queues with a click-drag-drop of the mouse. You are welcome to try both if you would like. Note that these are demo versions of licensed software. Full details are available form the author (Stephen Herzog/Secure Design) at http://www.peak.org/~sdesign or support@sdesign.com.

Jeff Pilant (pilant@nadc.nadc.navy.mil) wrote QLST [on netlab2.usu.edu] to show all pending and active jobs on all queues. Source is included. He also wrote SELECT [also on netlab2.usu.edu] to select a print queue when you have many to choose from. It also provides for defaulting the queue based on workstation location and source is included.

[Thx J.P.]

If you use Windows and Netware 3.11, 3.12 but not 4.10, you can use QManager (freeware) at:

ftp://ftp.arch.pwr.wroc.pl/home/ftp/novell/adminutl/qm.zip

[Thanks to Bengt Bolinder for this info]

QUEMON will monitor several queues at once and show the status in an easy to read fashion. It's free and it's at:

ftp://ftp.mechnet.liv.ac.uk/novell/freeware/quemon18.zip

or

http://www.mechnet.liv.ac.uk/~roy/freeware.html

[Thx R.C.]

G.5 Relocating print queues

Try the freeware utility CreateQ:

ftp://ftp.novell.com/pub/netwire/novuser/06/creatq.zip

[Thanks to Paul Tichy for this info]

The following steps will allow you to move print queues to another NetWare volume:

Use JRBUtil's CreatObj with the following statement :

    	creatobj /o=3 /d=data:queue temp

Note: JRBUtils are available at netlab2 and mirrors and at:

    	ftp://netlab2.usu.edu/apps/jrb400a.zip
    For Netscapers:
    	ftp://netlab2.usu.edu/sys/anonftp/apps/jrb400a.zip

- Goto pconsole and select print server, print server configuration, queues serviced by printer, press insert, choose temp.

- Goto pconsole and select print queues.

- Rename an existing queue (press F3) to something else - Rename temp to the existing queue name - This way, users will transparently be printing to the same print queue but it will be using a different location.

[Thanks to Rajnish Mishra for this info]

NetWare 4.x now allows the administrator to create print queues on volumes other than SYS:

[Thx S.M.D.]

G.6 Do postscript printer viruses exist?

>Anyone heard of printer viruses? We've been told that some viruses can >be spread to a printer by downloading a Postscript font. Various >printer manufacturer's say no way.

Only problem I know of for PS printers is if some PS code resets the password to "lock you out", requiring you to take the printer apart and remove the battery backed CMOS chip or battery (if memory serves).

I think that qualifies as a virus...except that it doesn't propagate...until the person printing tries another printer when the first chokes.

The following code is supposed to protect against this -- it also provides an alert if someone tries to change the password as well. Just replace "NAME" and "xxx-xxxx" as appropriate, then using DOS just copy this code to the printer.

    	serverdict begin 0 exitserver
    	statusdict /setpassword
    	{userdict begin /evilpassword exch def pop
    	(PASSWORD ALERT - CONTACT NAME at xxx-xxxx)=flush
    	/Helvetica findfont 24 scalefont setfont
    	20 50 720 {70 exch moveto
    	(PASSWORD ALERT - CONTACT NAME at xxx-xxxx)
    	show} for
    	showpage stop
    	} put

[Thx F.P.M.]

G.7 Printing to the right queue without running Win / Print / Setup

CAP2 is a Windows shareware that lets you print from lpt1-lpt9 on up to 100 netware queues using only the right printer driver for that printer. Only allow HP -> HP, Canon -> Canon, etc. Capture in user hold mode. If a queue is not found, try default server or other servers.

ftp://ftp.coast.net/SimTel/win3/network/cap202.zip

[Thanks to Bengt Bolinder for this info]

G.8 Alternatives to PSERVER for more than 16 printers, etc.

FPserver (Fast Printer Server) by Richard L. Hartman, rlh@ior.com, is $95 for a file server license. You can run up to 7 printers off each computer, 4 serial and 3 lpt, and as many computers as you want to setup as print servers. Printing is fast, and it uses the same queues as NetWare so no special configuration is required. We are using 8088 cpus, and it can service 3 printers as fast as they can go. It also doesn't use interrupts which is one less worry, and allows monitoring what is printing so you can delete or rush print jobs.

    	ftp://netlab2.usu.edu/apps/fps34c.exe
    For Netscapers:
    	ftp://netlab2.usu.edu/sys/anonftp/apps/fps34c.exe

[Thanks to Michael D. Setzer II & Richard L. Hartman for this info]

NetWare 4 relieves this situation by allowing PSERVER to handle 255 printers.

[Thx S.M.D.]

G.9 Print Server auditing programs

AuditTrack v2.0 will audit everything on 3.x and 4.x servers. It is available for a free 30 day trial at

http://www.egsoftware.com

[Thx E.S.]

G.10 Running NPrinter or RPrinter without being logged in

It is possible to execute NPrinter without first logging into the network. Possible with RPrinter too. I use a local directory for the xPrinter files. You will need the following files:

    NPRINTER EXE   350,606 11-15-93  3:39p
    TEXTUTIL HEP    11,735 10-26-92  4:06p
    NPRINTER HEP     8,205 01-22-93  5:23p
    NPRINTER HLP     7,618 06-17-93 11:49a
    NPRINTER MSG     9,259 05-18-93  9:49a
    TEXTUTIL MSG    29,466 01-27-93  6:56p
    437_UNI  001       659 01-26-93  4:57p
    850_UNI  001       659 01-26-93  4:57p
    UNI_1252 001     2,196 01-26-93  5:10p
    UNI_437  001     2,836 01-26-93  4:57p
    UNI_850  001     2,708 01-26-93  4:58p
    UNI_COL  001     4,500 01-23-93  2:24p
    UNI_MON  001     4,244 01-23-93  2:23p
    1252_UNI 001       659 01-26-93  5:10p
    IBM_RUN  OVL     2,815 01-19-93 10:33a
    TEXTUTIL IDX     9,170 12-10-90  1:37p

Note: The above files are from a NW 4.01 system upgraded to NW 4.1, your file dates and sizes may differ.

[Thanks to John Withers for this info]

Further to the above, the way to find exactly which files are required is to execute NPrinter /v which should show the current versions of all files required by NPrinter. You can either put these files into the LOGIN directory, which all users (by default, anyway) have R F Access to or you can copy them to a local drive. Then all that's needed is to execute:

    	LSL
    	DRIVER.COM
    	IPXODI      [Loading IPXODI /A will save some KB of RAM]
    	VLM
    	N{PRINTER ???
    	etc.

[Thx M.M.#2]

G.11 Page counting software

PCOUNTER v3.31 is a page counting print server for Novell NetWare. It counts pages on PCL and PostScript printers, logs all printer activity & maintains user accounting, supports custom banners & remote control, as well as parallel, serial and networked printers. It also has a NetWare print queue to UNIX LPR gateway, will automatically convert text to PostScript if necessary and can reject incorrect print job types or incorrect paper sizes if desired. It is available as an EXE (for dedicated print servers) or NLM (running on the NetWare server) at:

http://www.webcom.com/andtech/welcome.html

[Thanks to Andy Charmatz & Vlasti Broucek for this info]

G.12 Transfering print jobs between NetWare and Unix print queues

SDLP is an NLM that provides the ability to transfer print jobs between NetWare print queues and UNIX print queues. SDLP acts as a print server/client that implements the LPR/LPD protocol as described in RFC 1179 and provides compatibility with most LPR/LPD software for UNIX systems, bidirectional transfer of print jobs between NetWare and UNIX, user notification after a print job has been transferred, configuration from the NetWare server console, service for multiple queues on a file server, automatic text translations with CR and LF characters and host access control for incoming print jobs. SDLP supports Netware 3.x and 4.x. For more information, email: support@sdesign.com or browse:

http://www.peak.org/~sdesign

[Thx S.H.]