PCOUNTER
Printer Accounting for Novell Netware
Version 3.34
Copyright 1996
A.N.D. Technologies
P.O. Box 64811
Los Angeles, CA 90064
USA
E-Mail: andtech@netcom.com
Web:
http://www.andtechnologies.com
Phone/Fax: (213) 782-6923
Table of Contents
- Overview
- Requirements
- Software requirements for PCOUNTER.NLM
- Software requirements for QCOUNTER.NLM
- Hardware requirements for PCOUNTER.EXE
- Software requirements for PCOUNTER.EXE
- Differences between PCOUNTER.NLM/EXE and QCOUNTER.NLM
- Features still to come
- Netware 4.x Notes
- Concepts
- How are pages counted?
- Should I use PCOUNTER (NLM, EXE) or QCOUNTER?
- PCOUNTER Concepts - Types of configurations
- PCONTROL details
- PCOUNTER limits
- Configuring and running PCOUNTER and QCOUNTER
- How does QCOUNTER.NLM work?
- QCOUNTER Notes
- Use QCOUNTER.NLM to enforce global print job configurations
- How are print jobs handled by PCOUNTER?
- PCOUNTER and Queue Job parameters
- How do I use my networked printers with PCOUNTER?
- Accounting
- How is accounting done?
- Accounting utility: WACCOUNT.EXE
- Accounting utility: ACCOUNT.EXE
- Accounting utility: WBALANCE.EXE
- Client billing options: CLIENT.EXE and WCLIENT.EXE
- Miscellaneous
- Where are the printers?
- How can I speed up PCOUNTER.EXE?
- Why use TCP/IP and not IPX/SPX for networked printers?
- Why use Novell's TCP/IP protocol stack and not a packet driver?
- How do I setup PCOUNTER for Macintosh?
- How is text converted to PostScript?
- Creating queues in PCONTROL
- Queue configuration parameters
- QUEUE - Price
- QUEUE - Accounting
- QUEUE - Always place jobs on hold
- QUEUE - Action if below credit limit
- QUEUE - Cut off job if below credit limit
- QUEUE - Discard job if unknown user
- QUEUE - Banner print
- QUEUE - Banner position
- QUEUE - Banner accounting
- QUEUE - Banner template file
- QUEUE - Job notify
- QUEUE - Notify at credit limit
- QUEUE - Form feed (End of job codes)
- QUEUE - Job size limit
- QUEUE - Duplex handling
- QUEUE - Reject paper sizes
- QUEUE - Header files, Footer files, and Delays
- QUEUE - Reject print job types
- Printer configuration parameters
- PRINTER Type=PostScript
- PRINTER Type=PCL
- PRINTER Type=Laserjet 4
- PRINTER Type=Charge per job
- PRINTER Type=Disabled
- PRINTER Port=COMx - Serial Ports (RS-232)
- PRINTER Port=LPTx - Parallel Ports
- PRINTER Port=Queue--> (Another Queue)
- PRINTER Port=JetDirect (TCP)
- PRINTER Port=LPR
- PRINTER - Print buffer size
- PRINTER - Lines/page
- PRINTER - Pagecount Type
- PRINTER - Error notify list
- Print server configuration parameters
- PRINT SERVER - Broadcast error wait
- PRINT SERVER - Accounting Type
- PRINT SERVER - Central accounting server
- PRINT SERVER - Console keyboard
- PRINT SERVER - Console screen lines
- PRINT SERVER - Maximum printer status lines
- PRINT SERVER - Screen blanker wait
- PRINT SERVER - Auto reboot wait
- PRINT SERVER - Delete held jobs after ? hours
- PRINT SERVER - Create password file
- PRINT SERVER - Include file servers
- While you're running PCOUNTER
- The PCOUNTER console
- Important PCOUNTER.NLM Notes
- Remote control
- Solutions to Common Problems
- Security
- Your interaction with A.N.D. Technologies
- Technical support
- Warranty
- 45 Day Trial Period
- Registration
- Payments
- Distribution
- How to find the latest version of PCOUNTER
- Other software by A.N.D. Technologies
PCOUNTER is a powerful tool which tracks printer usage and/or provides
smart, fast, reliable printing on Novell networks. These printing tools
are provided:
PCOUNTER.NLM - A print server (which sends data to the printers on your
network), controls printing and tracks printer usage at the same time,
all running on the file server, using standard Netware print queues.
PCOUNTER.EXE - similar to PCOUNTER.NLM, except that it runs on a
dedicated machine (like PSERVER.EXE) and is designed to take some of the
load off of the file server and make print management easier: incorporating
simple printer and queue management from the PCOUNTER console, and remote
control. Please consider recycling an old computer and using PCOUNTER.EXE
before you invest in a dedicated print server box.
QCOUNTER.NLM - A quick and easy-to-install page count monitor which you can
use with your current printer setup - no need to change anything!
If you're looking at other printing/accounting programs, please compare
these features:
NetWare 3.11 or above.
Updated CLIB.NLM if used with NetWare 3.11.
Bidirectional TCP/IP support requires updated TCPIP.NLM if used with NetWare 3.11.
Bindery emulation for Netware 4.x.
NetWare 3.11 or above.
Updated CLIB.NLM if used with NetWare 3.11.
Bindery emulation for Netware 4.x.
PCOUNTER.EXE requires a dedicated computer as a print server.
It will run on an 8086/88, but a 286 would be better; especially if page counts are
manually calculated.
No hard disk is necessary.
A network interface certainly helps.
Page counting requires a PostScript or PCL printer.
640K of conventional memory.
Expanded/Extended memory is not needed nor used.
DOS 3.3 or above, NetWare 2.1 or above.
Bidirectional TCP/IP support requires the Novell Lan Workplace TCPIP.EXE protocol stack.
Remote control support requires SPX (IPXODI D).
NETX (3.32 or above recommended) or VLM (1.1 or above).
Bindery emulation for Netware 4.x.
All queue settings are supported by PCOUNTER.NLM/EXE.
Most (but not all) queue settings are supported by QCOUNTER.NLM.
Print server and printer settings are used for PCOUNTER.NLM/EXE, but do not apply to
QCOUNTER.NLM.
They may be distinguished by notes beginning with << NLM >> and << EXE >>.
Any of these features not containing individual NLM and EXE notes is supported by
both PCOUNTER.NLM and PCOUNTER.EXE.
Plot size accounting for Postscript and HPGL/2 roll plotters.
PCOUNTER requires bindery emulation in order to work with Netware 4.1 file servers.
A NW 4.1 server may have up to 16 containers in its bindery context.
PCOUNTER cannot see any objects (Users, Queues, Print Servers) in any container
unless that container is listed as a Bindery context.
Please see the SET BINDERY CONTEXT console command (in the Netware documentation)
for more details.
If you want to run PCOUNTER in native NDS mode, please visit
http://www.andtechnologies.com and get PCOUNTER 4, which does just this.
There are two methods by which PCOUNTER can count pages.
The preferred method is done by establishing a bi-directional communication link to
the printer (hereby referred to as bidir). When a bidir link exists between PCOUNTER
and the printer, it can query the printer for page count and job information, as well
as printer status, (out of paper, toner, etc.). A bidir link can occur via serial,
parallel, or TCP/IP.
The other method is called manual counting. With manual counting, PCOUNTER must
calculate the page count itself. QCOUNTER counts all print jobs this way.
Obviously, this method requires more processing and may result in longer print
times. Expect to see higher CPU utilization when running PCOUNTER.NLM or
QCOUNTER.NLM with manually counted print jobs, but care has been taken to not
impede file server performance.
If the Printer PagecountType is set to bidir, then PCOUNTER always attempts bidir
page counting on Laserjet 4's and PostScript printers. If the bidir link fails,
then manual counting is the result. Manual counting always occurs if
PrinterType=PCL and if PrinterPort=LPR or PrinterPort=AnotherQueue.
PCOUNTER cannot monitor a printer's status when counting manually.
The manual PostScript counter supports ASCII and binary modes, Level 1 and Level 2, all major
printer drivers from Windows 3.x, Windows 95, Windows NT, DOS, and Macintosh, as well as
some UNIX systems.
The PostScript language is complex; standard commands may be redefined in many different
ways. Care has been taken to include all possibilities, but here are possible problem areas in
manual PostScript counting:
The manual PCL counter supports color extensions, so it will work with any Laserjet or
Deskjet compatible printer.
*** If you discover page counting errors, please contact A.N.D. Technologies. ***
A.N.D. wants to immediately fix any page count errors which may occur.
Features common to all three:
Reasons to use QCOUNTER.NLM:
Reasons to use PCOUNTER.NLM:
Reasons to use PCOUNTER.EXE:
Use PCONTROL to set up print servers, printers, and queues.
Print server configurations affect all aspects of PCOUNTER's operation; example options are
"Central accounting server" and "Screen blanker wait". A print server configuration includes a
list of printer configurations.
Printer configurations (found in PCONTROL, Print Servers, Printer list) are used to tell
PCOUNTER how to handle and communicate with each printer, such as the "Printer type" and
"Printer port". The "Printer port" setting has nothing to do with the CAPTURE settings on each
workstation - it refers to the port which connects the PCOUNTER server to the printer. The list
of printers is unique to each print server. A printer configuration includes the queues which
should be serviced by that printer.
Queue configurations determine how PCOUNTER and/or QCOUNTER handles each print job
serviced in that queue. Many options (such as those pertaining to accounting) are specific to
PCOUNTER, others (Job notify, Banners, Form feed) provide extensions to Novell's printing
services, allowing you to define global print job configurations for jobs in selected queues.
A PCOUNTER print server configuration must include at least one printer configuration, which
in turn must include at least one queue to be serviced. If you require specific queue parameters,
then this queue must also have its own configuration. If there are no printers set up completely,
PCOUNTER will not run.
QCOUNTER has its own separate configuration with a few global settings - the queues should be
configured in PCONTROL, if you desire.
If you change any configuration settings after PCOUNTER or QCOUNTER is already running, then
you will need to restart the program in order to read the new settings.
A user may not use PCONTROL to change anything unless they are a supervisor. PCOUNTER
supports print service on up to eight file servers; therefore you must be a supervisor on each file
server where you wish to run PCONTROL. A user need only be a print server operator to use
PCONTROL's remote control feature on that particular print server.
Context-sensitive help is available. Make sure PCONTROL.HLP is located in the same directory
as PCONTROL.EXE. Press F1 for help at any time.
All configuration parameters that are relevant to PCOUNTER and QCOUNTER are set up using
PCONTROL. The use of PCONSOLE is not necessary, except for queue management.
PCONTROL creates the directory SYS:SYSTEM\PCOUNTER if it doesn't already exist. The
PCOUNTER server is given read, write, and create access in this directory; here is where it
writes log files and reads header and footer files.
Three additional programs are provided to help you configure and manage your
PCOUNTER environment. PCONTROL is a menu driven utility which is used for
print server, printer, and queue configuration, user/group account balance
management, and remote control of PCOUNTER servers. ACCOUNT is a DOS
command-line utility for user account balances. WACCOUNT is a Windows
account balance management utility.
PCOUNTER.NLM
- Run PCONTROL. Please note that the printer definitions defined in PCONSOLE do not apply
to PCOUNTER. To start your 45 day trial period, choose Register File Servers for each file
server you intend to have PCOUNTER running on. PCOUNTER configuration details are
described in later sections.
- Create a new print server for PCOUNTER. If you use a print server object/account which is
currently being used, then PCOUNTER will refuse to run. The reason for this is if you use 2 or
more print servers, then they will service the same queues; therefore, you would never be able
to predict which print server would get to service any particular print jobs.
- Make sure that you have defined at least one printer (in Pcontrol, Print Servers, Printer list)
and that each printer has at least one queue to service. Set up the printer port which connects
the PCOUNTER server to the printer.
- Configure each queue (in PCONTROL, Queues) which is being serviced by a PCOUNTER
printer.
- Copy all banner templates (*.BAN) and the Text->PostScript conversion header file
(T2PS.PS) to the SYS:SYSTEM\PCOUNTER directory. If your default paper size is A4, rename
T2PS-A4.PS to T2PS.PS.
- Copy PCOUNTER.NLM to the SYS:SYSTEM directory.
- Keep the encrypted password file (*.PWD) in SYS:SYSTEM\PCOUNTER.
- Run PCOUNTER on the file server console.
The command line syntax is: LOAD PCOUNTER PrintServerName
NOTE: PrintServerName is required. example: LOAD PCOUNTER PSERVER1
PCOUNTER.EXE
- Run PCONTROL. Please note that the printer definitions defined in PCONSOLE do not apply
to PCOUNTER. To start your 45 day trial period, choose Register File Servers for each file
server you intend to have PCOUNTER running on. PCOUNTER configuration details are
described in later sections.
- Create a new print server for PCOUNTER. If you use a print server object/account which is
currently being used, then PCOUNTER will refuse to run. The reason for this is if you use 2 or
more print servers, then they will service the same queues; therefore, you would never be able
to predict which print server would get to service any particular print jobs.
- Make sure that you have defined at least one printer (in Pcontrol, Print Servers, Printer list)
and that each printer has at least one queue to service. Set up the printer port which connects
the PCOUNTER server to the printer.
- Configure each queue (in PCONTROL, Queues) which is being serviced by a PCOUNTER
printer.
- Copy all banner templates (*.BAN) and the Text->PostScript conversion header file
(T2PS.PS) to the SYS:SYSTEM\PCOUNTER directory. If your default paper size is A4, rename
T2PS-A4.PS to T2PS.PS.
- Copy PCOUNTER.EXE to a boot disk or to the SYS:LOGIN directory.
- Copy the encrypted password file (*.PWD) to the same directory as PCOUNTER.EXE.
- If you want remote control, make sure SPX is installed on the PCOUNTER computer.
Include IPXODI or IPXODI D in AUTOEXEC.BAT.
- Run PCOUNTER. The command line syntax is:
PCOUNTER [FileServerName/]PrintServerName
NOTE: PrintServerName is required. example: PCOUNTER PSERVER1
- Add the PCOUNTER command line to the AUTOEXEC.BAT file so that it will run automatically after
the computer starts up.
QCOUNTER.NLM
- Run PCONTROL.
Choose PControl Defaults first.
In QCOUNTER Setup, choose settings and select queues to be monitored.
Optionally configure selected queues.
To start your 45 day trial period, choose File Servers, Register for each file server you
intend to have PCOUNTER running on.
- Copy QCOUNTER.NLM to the SYS:SYSTEM directory.
- Run QCOUNTER on the file server console. The command line syntax is:
LOAD QCOUNTER
QCOUNTER is an NLM which monitors queues which are being serviced by other print servers.
It is not necessary to use QCOUNTER and PCOUNTER on the same queues.
QCOUNTER is easy and convenient because it fits right into your current printer setup.
You can still use PCONSOLE or any other queue utility to manage print jobs.
QCOUNTER handles print jobs in 3 stages:
- QCOUNTER modifies global print job parameters (Banner, Form Feed, etc.). If print
accounting is desired, changes settings so that other print servers cannot service the job. The
form number will be set to 999.
- QCOUNTER rejects incorrect page sizes/job types, or else counts the pages in the print
job.
- QCOUNTER restores the original form number, takes care of accounting, adds the
number of pages in angle brackets < > to the print job description, and makes the job available so
that print servers can service the job. Then the job gets printed.
Settings in PCONTROL, QCOUNTER Setup
Number of jobs counted before printing. Since QCOUNTER counts pages and handles user
accounting before the job is printed, this setting controls how many jobs QCOUNTER counts
ahead of the printer. Setting a high value might cause unnecessary accounting if a job gets
deleted after QCOUNTER counts it but before it gets printed.
CPU Utilization. This value determines the level of CPU utilization to allocate to the manual
page counting process. Setting a lower value slows down page counting, and results in lower
CPU utilization. Possible values range from 1-10.
Even if you don't care about accounting for all of your printers, you can use QCOUNTER.NLM to
automatically set print job parameters as they pass through the queue. In the queue configuration in
PCONTROL, set Accounting=None, and set the other parameters as desired. You can place jobs on
hold, turn banners on/off, turn notify on/off, turn form feed on/off, set job size limits, reject incorrect
print job types, and reject incorrect paper sizes. QCOUNTER will even write the correct name into
the banner name field.
In PCOUNTER, each queue has its own configuration, including header, footer, and banner files,
which make it easier to centralize the administration of print jobs, rather that using PRINTDEF.
PCOUNTER detects the type of print job (Postscript? PCL?), and then proceeds according to the
queue/printer configuration.
Headers are files sent before the print job, and footers are files sent after the print job. This is
easier to implement than PRINTDEF's concept of modes.
PCOUNTER always places the correct user name on a banner page, regardless of the Banner
Name or Name field in a queue job.
- Number of Copies
- PCOUNTER prints the job this number of times and multiplies the page count by this number.
- File Contents (Text/Byte Stream) and Tab Size
- Ignored. PCOUNTER always treats print data as a binary stream.
- Form
- Ignored.
- Form Feed
- Notify
- Banner
- See PCOUNTER's extensions to these parameters:
- QUEUE - Form feed (End of job codes)
- QUEUE - Job notify
- QUEUE - Banner print
- QUEUE - Banner position
- QUEUE - Banner accounting
- QUEUE - Banner template file
- The queue job reject feature is very important, as this enables you to restrict the types of print
jobs which can be sent to a printer.
- QUEUE - Reject print job types
- There are also various queue settings which control how jobs
should be treated in case a user has an insufficient account balance.
- QUEUE - Action if below credit limit
- QUEUE - Cut off job if below credit limit
User account balances are maintained using the Novell accounting feature. If you want to use
this feature, then you must enable it using SYSCON/NWADMIN. If you are currrently using
accounting for tracking connect time or disk usage and the account balances are not in currency
units, then user account balances will not appear to be consistant if PCOUNTER is also used.
Please check to make sure none of these features are enabled on your file server before
implementing PCOUNTER in this fashion.
You will also have to choose the numerical format:
- Pages
- one accounting unit = one page
- Currency
- accounting is kept in terms of local currency. The type and format of the local
currency are determined from DOS information from CONFIG.SYS (except in US)
The cost for each print job is defined in the queue's configuration. If you're collecting money for
printing, and you wish to deduct the cost of each print job from a user's account balance, then use
positive prices. Use negative prices to keep a running total of print activity in user account
balances.
Also, the PCOUNTER/QCOUNTER server keeps a running log of all print activity in the log file
SYS:SYSTEM\PCOUNTER\PCOUNTER.LOG. Multiple PCOUNTER servers will write to a
single log file and share header/footer files. PCOUNTER automatically flags PCOUNTER.LOG
as shareable. PCOUNTER.LOG can be written in either of two formats: readable or ASCII
delimited.
If the PCOUNTER.LOG format is Readable, then limited information is kept in it, but it's very
easy to read. It is best for showing users their print activities.
If the PCOUNTER.LOG format is ASCII Delimited, then all information about the print job is
placed in it. You can then import it into a spreadsheet or database program for further analysis.
It's not easy to read, but is best for keeping more detailed information, such as total print activity
for each printer.
Numerical format and log file Readable/ASCII Delimted choices are necessary in 3 places:
- PCONTROL, PControl Defaults
- for PCONTROL transactions
- PCONTROL, Print Servers
- for PCOUNTER
- ACCOUNT /CONFIG
- for ACCOUNT transactions
The ASCII delimited field names are as follows: Username, Job Description, Printer, Print
server, Queue, Banner name, Banner file, Date, Time, Size (in bytes), Pages, Cost, Balance.
Once accounting is installed on your file server, each user should have an account balance and a
credit limit. You can use PCONTROL, WinAccount, and ACCOUNT to modify user account balances and
credit limits. In addition, PCONTROL may be used for groups. PCONTROL, WinAccount, and ACCOUNT
can optionally keep records in PCOUNTER.LOG.
One side effect of accounting is that Netware creates the file SYS:SYSTEM\NET$ACCT.DAT.
This file contains binary records of all accounting transactions on the file server, as well as
logins, etc. In most cases this file can/should be deleted periodically. In time it can grow to a
rather large size.
No record will be kept of any accounting transactions in SYSCON/NETADMIN/NWADMIN.
Accounting Rights (New in version 3.31)
You can now assign users the right to modify other users' account balances without making them
Supervisors or Workgroup Managers. In PCONTROL, select Accounting and choose the user
who will modify user account balances. Then select Accounting Rights. If the user does not
have rights, then you can grant them here; likewise, if the user already has accounting rights, then
you can revoke them. Once accouting rights are granted, they can modify all account balances
for all users on that file server; however, they cannot modify Low Balance Limits. They are also
given write access to the SYS:SYSTEM\PCOUNTER directory so that transactions can be
recorded in the PCOUNTER.LOG file. When accounting rights are revoked, writing privileges
in the SYS:SYSTEM\PCOUNTER directory are also revoked.
These users may use PCONTROL, WinAccount, and ACCOUNT to modify balances, they will not be able
to modify balances using SYSCON/NETADMIN/NWADMIN.
WinAccount is a 16 bit MS Windows user accounting program. It contains all of the features of
PCONTROL's Accounting section - and all of the functions are within easy reach. Only a supervisor,
workgroup manager, or a user who has been granted Accounting Rights may change another user's
account information.
Preferences (Record Transactions, Viewer/Editor, Numerical Format, Log File Format) are kept in
WACCOUNT.INI in the \WINDOWS directory.
Double-clicking on a user brings up the Deposit window, double-clicking on a group brings up the
Set Balance window.
You may select multiple users to perform various operations, but groups will be ignored if multiple
selections are made. You must perform operations on groups one at a time.
WinAccount runs fine in Windows 3.x, Windows 95, and Windows NT.
WinAccount requires NWCALLS.DLL to be in the \WINDOWS or \WINDOWS\SYSTEM directory.
This DLL is distributed with the various Netware Windows client kits.
ACCOUNT is a DOS command-line accounting tool which is designed for quick accounting
access to user accounts. Only a supervisor, workgroup manager, or a user who has been granted
Accounting Rights may change another user's account information.
- ACCOUNT [DEPOSIT | BALANCE | LIMIT] [[FileServerName/]UserName] [Amount]
- DEPOSIT: Add to a user's account balance.
- BALANCE: Set a user's account balance.
- LIMIT: Set a user's low balance limit.
ACCOUNT CHARGE [[FileServerName/]UserName] [Amount] [ChargeReason]
- Subtract from a user's account balance.
ACCOUNT BALANCE [FileServerName/]
- For a user to view his/her own account balance.
ACCOUNT CONFIG
- To set PCOUNTER.LOG and formatting defaults for this program.
- ACCOUNT.CFG is written into the same directory as ACCOUNT.EXE.
- ACCOUNT.CFG must be kept in the same directory as ACCOUNT.EXE.
Accounting transactions recorded with ACCOUNT.EXE are optionally recorded in
PCOUNTER.LOG. Make sure workgroup managers have write access in the
SYS:SYSTEM\PCOUNTER directory.
WBALANCE is a small MS Windows utility for users to view their account balances quickly (so
they don't always have to ask you).
Preferences (Numerical Format, Default File Server) are kept in WBALANCE.INI in the \WINDOWS
directory. To change the settings, choose Preferences on the system menu.
WBALANCE runs fine in Windows 3.x, Windows 95, and Windows NT.
WBALANCE will update the balance display if it is left running; likewise, it will also display the
balance when it is minimized.
WBALANCE requires NWCALLS.DLL to be in the \WINDOWS or \WINDOWS\SYSTEM directory.
This DLL is distributed with the various Netware Windows client kits.
These versions differ from the previous versions in that the client names to be billed are stored in the
Banner File field of PCOUNTER.LOG, instead of the Banner Name field.
CLIENT (DOS) and WCLIENT (Windows) are small utilities which can help you perform client billing
using ASCII Delimited PCOUNTER.LOG. You may type a client name of up to 12 characters, and
the name will be stored in the Banner file field of PCOUNTER.LOG (and the print job itself, you can
see it in PCONSOLE).
While running DOS only sessions, invoking the CAPTURE command will probably overwrite the
previous value set by CLIENT; therefore, CLIENT will need to be run again.
CLIENT has no effect on DOS applications which can print directly to Netware queues without
capturing, such as WordPerfect and Quattro Pro. You will need to setup printing to captured LPT
ports in these cases.
When a client name is entered here, all subsequent print jobs will use this value until another name is
entered. Importing PCOUNTER.LOG into a spreadsheet/database keyed to the banner name and
cost fields will allow total page counts to be calculated for each client.
Entering * (asterisk) in CLIENT.EXE restores the banner name to the proper username.
The Windows version, WCLIENT, has been enhanced. It is recommended to keep it always running
and minimized. If capture/queue settings are changed, WCLIENT will reset the Banner File field to
the correct value automatically. WCLIENT will also reset the correct value if CAPTURE values are
changed during DOS sessions run under Windows.
WCLIENT selections
Username |
Enters the user's login name |
Exit |
Exits WClient |
Set |
Restores previous value |
Cancel |
Applies the current value and minimizes WCLIENT to an icon |
WCLIENT will not work reliably under Windows 95 and Windows NT. Future enhancements will be
made for it to work in these environments.
WCLIENT requires NWCALLS.DLL to be in the \WINDOWS or \WINDOWS\SYSTEM directory. This
DLL is distributed with the various Netware Windows client kits.
In Netware 2.x and 3.x, printer information is kept in configuration files created by PCONSOLE
for each print server. No printer bindery object exists.
In Netware 4.x, a printer is an object in the Directory Services database. In PCOUNTER, a
printer is a property of a print server. Therefore, PCOUNTER printers will not appear as
Directory Services entities.
PCOUNTER.EXE does not require or use expanded or extended memory. Therefore it should
not be necessary to use an memory manager such as QEMM or HIMEM with PCOUNTER.
While a memory manager may increase DOS conventional memory, it will also slow down
processing speed.
If you are using the Queue--> port option, you may setup the input and output queues to reside on
different file servers, but this is not recommended. Keeping them on the same file server reduces
the load on the print server and the file server(s).
See also: PRINTER - Print buffer size.
Typically, network printer interfaces (such as the HP JetDirect) and dedicated print server boxes
(such as the Intel NetPort) contain their own internal software for handling Novell printing; they
run in either queue server mode (where they can independently service queues) or in remote
printer mode (where they run as RPRINTER equivalent slaves to PSERVER). Unfortunately,
they don't provide any method of communication via IPX/SPX. However, they usually provide
TCP/IP communication for usage with UNIX systems. If it is not possible to use the TCP/IP
protocol on your network, you can still use QCOUNTER.NLM or PCOUNTER's Queue-> port
feature to utilize the speed of your Jetdirect or equivalent print server.
There are way too many TCP/IP protocol stack vendors to support. Life is too short. And, after
all, we are running a Novell network, aren't we? Seriously though, in preliminary testing
(Novell's TCPIP.EXE vs. public domain packet driver), the Novell solution provided far greater
throughput.
The following instructions are for Netware 3.x. For Netware 4.x, use ATPSCON.NLM to
configure ATPS, and use the same strategy illustrated below.
If a Mac can place a job into a Novell queue, then PCOUNTER can work with it. You will need
to load ATPS.NLM (Appletalk Print Services) on each file server where there are print queues
which need to be accessible to Macs.
ATPS has two modules, the print spooler (queues print jobs) and the print server (prints the
jobs). PCOUNTER does not support Appletalk as a protocol for communicating with network
printers, but using ATPS as a print spooler will enable Macs to view Novell queues in the
Chooser as network printers, and place print jobs in the queues. However, you must use the -wb
parameter in ATPS.CFG (for each queue serviced by PCOUNTER) in order to turn off the ATPS
Print Server and allow an external print server (PCOUNTER!) to service the queues.
If you do not want Mac users to bypass PCOUNTER and print directly to Appletalk printers, then
you should either use ATPS to hide the printers or turn off Appletalk on the printers, and have
PCOUNTER print to them via serial, parallel, or TCP/IP.
Sample AUTOEXEC.NCF parameters
load APPLETLK net=500 zone={"PRINTING"}
load NE2000 name=ETALK int=5 port=300 frame=ETHERNET_SNAP
bind APPLETLK to ETALK net=501-505 zone={"MACS"}
load atps -v
Sample ATPS.CFG
"Lab Laser:PRINTING" -o LAB-LASER -wb -f hplaser
"Library Laser:PRINTING" -o LIBRARY-LASER -wb -f hplaser
"Color Printer:PRINTING" -o COLORPS -wb -f applwpls
For more information about ATPS, see the Netware for Macintosh manuals.
User Accounting
ATPS will allow Mac users to print to Novell queues without being logged into the file server.
In this case, the owner of the print job becomes ATPS_QUSER, which is an object created by
ATPS. Mac users set the network user and group names in Control Panel, and typically a user
name will appear in parentheses () in the banner field of the print job. In order for PCOUNTER
to account for print jobs this way, it is necessary for each user to be placed in the map file
PCOUNTER.MAP.
PCOUNTER.MAP syntax:
(macname) NOVELLNAME
(ringo) RINGO
(george) HARRISON
:
:
See also: QUEUE - Discard job if unknown user.
The file T2PS.PS is included with PCOUNTER. PCOUNTER must download T2PS.PS before
each print job which must be converted. T2PS.PS must be located in
SYS:SYSTEM\PCOUNTER on the default file server. If your default paper size is A4, then
rename T2PS-A4.PS to T2PS.PS. If you wish, you may change the encoding for characters
128-175. The other data must not be changed. DO NOT alter any of the other PostScript code,
or it may not work correctly. Any characters extending beyond the printable right margin are
wrapped around to the next line. The font used is always Courier. Extended characters such as
box, line, and European characters are supported, but spaces are printed instead of control codes
(below decimal 32).
There are attributes of a Text To PostScript job which are user configurable: point size, page
orientation, tab size, and margins. One may include an optional first line (which is not actually
printed) in the text file to be sent with the syntax in either uppercase or lowercase:
%* [S=n] [O=L] [T=n] [MT=n] [MB=n] [ML=n] [MR=n]
where:
n |
an integer value |
S |
point size from 3 to 100 (default=11) |
O=L |
landscape orientation (default=portrait) |
T |
tabsize in spaces (default=5) |
Mx |
margin size in points (1/72 inch - default=36) (Top, Bottom, Left, Right) |
Not all of the above options need to be specified, for example:
%* S=14 |
portrait orientation using Courier 14pt; |
%* O=L T=3 |
landscape orientation with a tab size of 3 spaces; |
%* MT=108 MB=108 |
top and bottom margins set to 1.5 inches. |
You may use these commands as the first line of the file, in a setup string, or in a PRINTCON
print job configuration, but NOT in a PCOUNTER header file! Just make sure a linefeed
character (decimal 10) is included.
You may change the default settings in PCONTROL. The settings listed above yield 65
lines/page and 81 characters/line on an 8.5" x 11" page.
****** IMPORTANT NOTE ******
PCOUNTER assumes that a printer defined as PostScript can understand PCL as well, unless the
particular queue is configured to reject PCL jobs. Therefore, if PCL jobs are not rejected, then
text jobs will be sent unmodified to the printer; if PCL jobs are rejected, then text jobs will be
converted to PostScript before being sent to the printer.
******** WARNING! ********
If you are using CAPTURE for network printing, your software (or hardware) takes a long time
creating PostScript output, and the timeout value is not large enough, then the print job gets
broken into pieces. This could result in PostScript code being converted to text and many
unnecessary pages printed.
QCOUNTER.NLM does not convert text to PostScript.
If a queue is created by PCONTROL, the user group EVERYONE is added to the Queue Users
propery. If you wish to have selective access to queues, use PCONTROL to add/delete users and
user groups to be queue users. PCONTROL allows you to choose any volume and/or directory to
place your print queue, unlike PCONSOLE, which always creates queues in SYS:SYSTEM (or
SYS:QUEUES for NW 4.x). PCONTROL always adds a PCOUNTER server to the Queue
Users and Queue Operators lists.
<< PCOUNTER and QCOUNTER >>
This is an amount which refers either to the price per job (Charge Per Job printers) or to the price
per page (all other printers). If this value is negative, then PCOUNTER will add to (keep a
running total in) the user's account balance.
If you don't wish to charge for certain jobs, set QueueAccounting=None. If
QueueAccounting=None, then this value is meaningless.
If Numerical Format=Pages and this value is negative, then PCOUNTER will add the number of
pages in each print job to the user's account balance, otherwise PCOUNTER will subtract the
number of pages in each print job from the user's account balance.
<< PCOUNTER and QCOUNTER >>
- None
- No page counting for this queue
- Log file only
- Count pages, maintain log file, no user accounting
- User accounting and Log File
- Count pages, maintain log file & user accounts
<< PCOUNTER and QCOUNTER >>
PCOUNTER can place jobs on hold automatically. Users will have to release each job in order
for them to be printed - this can be done from the PCOUNTER console queue manager, or from
another queue control utility such as PCONSOLE or Windows Print Manager. You can have
PCOUNTER place jobs on operator hold or user hold.
<< PCOUNTER and QCOUNTER >>
If a job is placed in a queue by a user whose balance is below his/her credit limit, you can tell
PCOUNTER to:
<< PCOUNTER only, QCOUNTER not supported >>
This feature is only available with manual page counting, or LJ4's/PJL supported printers in
bidirectional counting mode.
You can tell PCOUNTER to cut off a print job at the point where a user's balance would go
below his/her credit limit.
<< PCOUNTER and QCOUNTER >>
If you are using the Charon gateway, ATPS, or an LPD NLM to route print jobs from other
networks or hardware platforms, it is possible that the client's username may not be included in a
queue job description; or that a queue user on one file server doesn't have the same username on
the central accounting file server. If QueueAccounting is enabled, and you want PCOUNTER to
discard the print job, then set this value to Yes.
See also PRINT SERVER - Central accounting server.
When such a print job lands in a Novell queue, the Novell queue job client becomes the object
that moved the job into the queue. For PCOUNTER to account for print jobs this way, it is
necessary for the username to be placed in the banner field of the Novell queue job description.
For example, on a UNIX system you can force the banner off by typing: lpr -h filename.
PCOUNTER then cannot determine who created the job. Have your UNIX administrator set the
default for a UNIX->Novell queue so that banners always get printed.
When PCOUNTER starts processing a new job, it automatically checks to see if the job was
placed there by a user or by another object type. If the job client is not a user (as opposed to print
server, file server, etc.), PCOUNTER then reads the client name from the banner field, converts
it to uppercase, and verifies that it is a valid Novell username. If it is not, then PCOUNTER
reads the file PCOUNTER.MAP and again verifies the username. If this fails and
QueueDiscardJobIfUnknownUser=Yes, then PCOUNTER discards the job.
The syntax for PCOUNTER.MAP is simple:
unixname1 NOVELLNAME1
(macname2) NOVELLNAME2
OTHER_FILE_SERVER1/USERNAME1 CENTRAL_USERNAME1
jimi HENDRIX
kmoon MOON
(daltrey) ROGER
(allman) DUANE
FS1/JOPLIN JANIS
:
:
Since UNIX names are case-sensitive and limited to 8 characters, and Novell converts everything
to uppercase, type the Novell column in uppercase and the UNIX column the way it appears.
You may map multiple UNIX accounts to single Novell accounts.
YOU MUST PLACE PCOUNTER.MAP IN SYS:SYSTEM\PCOUNTER.
<< PCOUNTER and QCOUNTER >>
There are 3 choices:
If you choose "Only If Requested", then banners are printed only if they are specified in the print
job's configuration, or on the CAPTURE or NPRINT command line.
<< PCOUNTER only, QCOUNTER not supported >>
You may print banners before or after a print job. It might seem unusual to print a banner after a
job, but there are advantages in doing so:
<< PCOUNTER and QCOUNTER >>
Here you choose whether PCOUNTER should include banner pages in page counts.
PCOUNTER will not print a banner after a zero (0) page job.
<< PCOUNTER only, QCOUNTER not supported >>
If you want PCOUNTER to print banners, then here you must specify a banner template file
name. Nine banner templates are provided (with a .BAN extension) - for Letter and A4 paper
sizes - use them if you wish. You may also design your own banner. BANNER.WP is a
WordPerfect 5.1 file which was used to generate the included banner templates. If you wish
PCOUNTER to insert specific print job information, then you must use the following variables
(as they appear with the brackets) in your template:
<JOB_DESCRIPTION> |
<FILE_SERVER> |
<USERNAME> |
<BANNER_NAME> |
<PAGES> |
<PRINT_SERVER> |
<COST> |
<QUEUE_NAME> |
<PRINTER_NAME> |
<DATE> |
<BALANCE> |
<FULLNAME> |
It's a good idea to keep the banner templates as small as possible - obviously larger banner files
take longer to print. Also, if you use a word processor to generate a banner template, make sure
that it doesn't insert printer language commands BETWEEN THE CHARACTERS. If this
happens, PCOUNTER won't be able to place any information on the banner.
Banner template files must be placed in \SYSTEM\PCOUNTER on the default file server.
<< PCOUNTER and QCOUNTER >>
There are 3 choices:
If you choose "Only If Requested", then the user is sent a broadcast message after the print job
only if they are specified in the print job's configuration, or on the CAPTURE or NPRINT command
line.
If PrinterPort=AnotherQueue, notification will occur after the job is moved to the other queue,
but before it actually gets printed.
<< PCOUNTER and QCOUNTER >>
If QueueAccounting is enabled, then this determines whether PCOUNTER should send a
broadcast message after a job if the user's account balance reaches or goes below the user's credit
limit.
There are 3 choices:
If you choose "Only If Requested", then a form feed is issued only if they are specified in the
print job's configuration, or on the CAPTURE or NPRINT command line.
<< PCOUNTER >>
This determines how PCOUNTER interprets the queue job Form Feed flag.
If enabled, the following data is sent after each print job:
PCL jobs |
<ESC>E |
[27][69] |
PostScript jobs |
Ctrl-D |
[4] |
Unknown or Text jobs |
<FF> |
[12] |
Set this to Always for compatibility with earlier versions of PCOUNTER.
This setting and the queue job form feed flag are ignored for Laserjet 4's.
<< QCOUNTER >>
No special processing, just allows you to set a global form feed setting for this queue.
<< PCOUNTER and QCOUNTER >>
Occasionally users can send large jobs which exceed the printer's memory capacity; or perhaps
you'd rather not make users wait for long jobs. Here you can limit the size (in bytes) of each
print job. In PCONTROL the values are measured in 0.1 megabyte (MB) quantities; therefore
the lowest limit you can impose is 100 KB.
A value of 0 disables this feature.
<< PCOUNTER and QCOUNTER >>
When pages are counted on duplex (2 sided) printers, the page count may turn out to be the
number of sides printed instead of the number of pages printed. This may be true for both
bidir and manual page counting. If you choose "Ignore", PCOUNTER will leave the page count
alone. If you choose "Divide page count in half", PCOUNTER will check for duplex print jobs
and divide the total page count by 2.
<< PCOUNTER and QCOUNTER >>
Sometimes a user can send a print job requesting a paper size not supported or used by a
particular printer, such as an A4 job on a Letter sized printer - causing the printer to pause. This
feature enables PCOUNTER to reject a job if a specified paper type is found in the print job. If
no paper sizes are specified here, then PCOUNTER will not check paper sizes. If you don't have
this problem, then don't worry about this feature.
Paper size detection is fine for PCL, and works best with Postscript Level 2 drivers.
<< PCOUNTER only, QCOUNTER not supported >>
Headers are files sent to the printer before the print job.
Footers are files sent to the printer after the print job.
This feature serves multiple purposes. Header and footer files may contain special printer
command data for setting up certain jobs, may be used for soft fonts, or may contain printer
codes for emulating other printers.
Emulation is where the delay enters the picture. After you start or stop an emulation, the printer
may need time to reinitialize. If more data is sent too quickly, data may be lost; or the printer
could hang. You will need to experiment in order to find the best setup.
Most printers today can auto-sense print job types such as PostScript and PCL and don't require
any special commands to tell them to enter a certain print mode. If your printer auto-senses print
jobs correctly, then you probably shouldn't deal with any of this.
PCOUNTER does not parse the data in header or footer files for page count information.
Header and Footer files MUST be placed in \SYSTEM\PCOUNTER on the default file server. If
a header or footer is specified in the configuration and is not in the home directory, PCOUNTER
will stop servicing the queue.
<< PCOUNTER and QCOUNTER >>
This is a very important setting. It tells PCOUNTER how to handle particular print jobs, and
also prevents waste.
Sometimes users send print jobs to the wrong queue, with unpleasant results.
Have you seen a PostScript printer choke on PCL data? Have you ever watched a PCL or
dot-matrix printer print out endless pages of PostScript code? With this option, you can prevent
this from happening by not allowing certain types of print jobs to be printed. The choices are
PostScript, PCL, Text, Unknown, or any combination of three. An unknown print job typically
occurs when an inexperienced user sends some sort of binary data file to a print queue.
****** IMPORTANT NOTE ******
PCOUNTER assumes that a printer defined as PostScript can understand PCL as well, unless the
particular queue is configured to reject PCL jobs. Therefore, if PCL jobs are not rejected, then
text jobs will be sent unmodified to the printer; if PCL jobs are rejected, then text jobs will be
converted to PostScript before being sent to the printer.
Effects on print job control:
Printer Type |
Job Type |
Reject Type |
Result |
PostScript (PS) |
PCL |
None |
Job treated as PCL |
PostScript |
PCL |
PCL |
Job rejected (not printed) |
PostScript |
Text |
None |
Job treated as Text |
PostScript |
Text |
Text |
Job rejected (not printed) |
PostScript |
Text |
PCL |
Text converted to PS |
PCL |
PS |
None |
Job treated as Text |
PCL |
PS |
PS |
Job rejected (not printed) |
Can handle PostScript, PCL, and text print jobs. PCOUNTER will attempt to use bidir page
counting; if the test fails, then manual page counting is used. Do not use this setting with the
Laserjet 4M in bidirectional mode.
PCOUNTER assumes that a printer defined as PostScript can understand PCL as well, unless the
particular queue is configured to reject PCL jobs. Therefore, if PCL jobs are not rejected, then
text jobs will be sent unmodified to the printer; if PCL jobs are rejected, then text jobs will be
converted to PostScript before being sent to the printer.
Can handle PCL and text print jobs. Manual page counting is used.
Includes LaserJets, DeskJets, and PaintJets (unless of course a PostScript option is installed).
Will work for any HP Laserjet 4, 4M, etc. model printer. The LJ4M can determine the type of
print job automatically if (on the printer) you set PERSONALITY=AUTO.
If a Laserjet 4 is connected by serial, parallel, or JetDirect (TCP), then PCOUNTER will use
bidir page counting. If Port=Queue-> or LPR, then manual page counting is used. Bidir
counting will work on the Laserjet 4/4M, 4/4M Plus, 4V/4MV, 4SI/4SIMX, 4P/4MP, 5P/5MP.
Bidir counting will NOT work with the Laserjet 4L - use Type=PCL for this printer.
Parallel port setup:
On the LJ4's parallel menu, set ADV FUNCTIONS=ON (so that the LJ4 will talk back to
PCOUNTER) and HIGH SPEED=YES. Then configure PCOUNTER to use the parallel
hardware port. It is fast.
Some early models of the LJ4M don't support Printer Pagecount Type=PJL Bidirectional, so in
these cases you'll have to use PS Bidirectional.
Postscript Level 2 introduces binary extensions to the language, which will drastically reduce
data requirements, especially for large bitmaps. The LJ4M supports pure binary Postscript only
over a TCP/IP or Appletalk connection. If the LJ4M is connected by parallel, serial, or is acting
as a Novell print server, then it is necessary to use the Tagged Binary Control Protocol (TBCP).
In these cases, if your drivers don't support TBCP, you will have to use ASCII PostScript.
If you prefer to use the LJ4/JetDirect as a Novell print server, please use
Printer Port=Queue--> or QCOUNTER.NLM.
No page counts; PCOUNTER charges a fixed rate for each print job. Useful for plotters or
dot-matrix printers.
Printer not used.
<< EXE >>
Require a null modem cable. Baud rates are supported up to 115K BAUD.
Serial printers should be set for 8 data bits, no parity, and 1 stop bit.
Flow control: XON/XOFF (software) or DTR/DSR (hardware handshaking).
COM3 and COM4 are untested, and PCOUNTER needs to know the port IRQ setting.
On the LaserJet, for DTR/DSR set the printer's DTR POLARITY=HI. For XON/XOFF you may
set the printer's ROBUST XON/XOFF to either ON or OFF. If XON/XOFF doesn't work, try
using DTR/DSR.
<< NLM >>
Not supported. If you must connect a serial printer/plotter to the file server, then use the
Queue-> port option or QCOUNTER.NLM in conjunction with PSERVER.NLM.
<< EXE >>
Flow method: Hardware port, ROM BIOS, or Safe BIOS.
Direct hardware port is MUCH faster than BIOS, and is the recommended setting. If printing
doesn't work this way, then use ROM BIOS printing. If your printer has a high speed parallel
port, make sure you set the printer's port to the high speed setting. Direct hardware port does not
require an IRQ.
The Hardware port timeout value should be set as low as possible. However, assigning it too low
a value could result in lost data. This value represents the number of timer ticks to wait when the
port goes offline. 18 ticks = 1 second. (Default value=9)
Only use the Safe BIOS setting if for some reason data is being lost with the ROM BIOS setting.
Safe BIOS adds an extra port status check before each byte sent; hence printing is slowed down.
<< NLM >>
Direct hardware port flow method is always used. Unfortunately it is not possible for
PCOUNTER.NLM to detect the existence of parallel ports on the file server, so the following
default port addresses (in hex) are used:
LPT1 |
378 |
LPT2 |
3BC |
LPT3 |
278 |
Sometimes it's necessary to use the 3BC address for LPT1. In this case, on the file server console
command line, type:
PCOUNTER PrintServerName /LPTSWAP
This causes PCOUNTER to swap (exchange) the default LPT1 and LPT2 addresses.
If LPT1 or LPT2 aren't either of those, then it won't work.
Expect high CPU utilization when using a parallel printer on the file server.
Another Queue (Queue-->) is included as a "port" in order to take advantage of NetWare's remote
printing capabilities and printers with built-in network interfaces which have built in print server
software. Here is the idea:
- 2 queues are necessary: 1 for page counting, 1 for printing
- User places job in queue serviced by PCOUNTER server
- PCOUNTER counts pages, charges account, places job in other queue
- NetWare print server or networked printer prints job remotely
In order to implement this scenario, you must have previously used PCONSOLE to configure the
NetWare print server as a queue server for the other queue and set up the remote printing
parameters. If a networked printer comes with its own configuration program then you must use
it.
Do not choose a queue as a port if it is already being serviced by the same PCOUNTER server.
Here is a diagram:
ACCOUNTING
QUEUE -----> PCOUNTER ---> (LPT1) -----> POSTSCRIPT PRINTER
PRINT
PAGE ------> SERVER ---> (Queue-->) ---> REMOTE
COUNT PRINTER
QUEUE QUEUE ----> PSERVER ---> REMOTE PRINTER
PRINT
FREE ---------------------------------------------> SERVER ---> REMOTE PRINTER
QUEUE
However, after PCOUNTER places a job in another queue, there is no way to know what
happens to the print job after that; such as whether it was actually printed or not. For that reason
PCOUNTER will not service a job in this way unless another print server is attached to the other
queue, or if for some reason it is unable to place jobs in the other queue.
You should set the Maximum Number of Jobs value according to the speed of the remote printer.
If a remote printer is offline, jobs (which have already been charged to user accounts) may back
up in Queue-->. However, if the Maximum Number of Jobs is 1, PCOUNTER will wait for
Queue--> to be empty before placing additional jobs there; you may not achieve the maximum
throughput that the remote printer offers, but it allows users the opportunity to delete jobs before
they are charged for printing.
If PrinterPort=Queue-->, PCONTROL adds the PCOUNTER server to the other queue's Queue
Users property. If you want all jobs routed through PCOUNTER, then remove all other users
and groups from the Queue-->'s Queue Users property.
If PrinterPort=Queue-->, then all page counting is computed manually.
You may setup the input and output queues to reside on different file servers, but it is not
recommended. Keeping them on the same file server reduces the load on the print server and the
file server(s).
Port=Queue->: The simple explanation!
(Pretend you have a Laserjet 4/Jetdirect with built-in Netware print server)
Create a new queue for counting, call it Q1.
Assume that the queue the Jetdirect is servicing now is Q2.
Create a new print server for PCOUNTER, call it PS1.
Assume that the print server in the Jetdirect is called PS2.
User places job in Q1.
PCOUNTER services job in Q1, counts pages, places job in Q2.
PS2 services job in Q2 and prints the job.
The PCOUNTER printer setup should be:
Port=Queue->
Port Setup=Output Queue=Q2
Queues serviced=Q1
PS2 printer setup in Jetadmin should be:
Queues serviced=Q2
If you don't want people to bypass page counting and place jobs directly into Q2,
then use PCONSOLE to restrict rights to the queues. However, do NOT remove
the PCOUNTER server as a Queue User, or else it will NOT be able to place
jobs in Q2.
If you prefer to use the LJ4/JetDirect as a Novell print server, please use Printer Port=Queue-->,
or QCOUNTER.NLM. However, using the TCP/IP protocol with the JetDirect allows
PCOUNTER to maintain a direct peer-to-peer connection to the printer which is not available
with IPX/SPX.
PCOUNTER does not require any Novell-oriented feature to be active on the JetDirect, print
server box, or other network printer interface. Therefore, a connection to the file server is not
necessary for each printer. The only thing PCOUNTER needs to know is the printer's IP address,
and (except for the JetDirect) the IP port number to use to communicate with the printer.
JetDirect TCP Behavior:
In the TCP/IP configuration, the TIMEOUT setting determines how long the printer waits before
breaking a TCP connection if no data is sent during that time period. If an error occurs (such as
paper running out) during a print job, it is possible that the connection may break before the
printer gets attention from an operator, and display a 40 MIO ERROR message. This is not a
problem. Simply press the Continue button to complete the job, or the Reset button to abort the
job. PCOUNTER will automatically reconnect to the printer.
You should refer to the printer's IP address instead of its name.
If you do not have the TCP/IP protocol installed on your network, then please read the Novell
manuals pertaining to TCP/IP. You will need to run TCPIP.NLM on your file server so that
packets get routed correctly.
JetDirect EX3 Setup:
Set up PCOUNTER to use 3 printers - all with TCP/IP printer ports.
Use IP port 9100 for the printer on the EX3's LPT1.
Use IP port 9101 for the printer on the EX3's LPT2.
Use IP port 9102 for the printer on the EX3's LPT3.
Using JetAdmin with PCOUNTER:
PCOUNTER must reserve the following PJL commands exclusively for its own use:
@PJL USTATUS, @PJL JOB, @PJL RDYMSG, and @PJL INFO. If you want to use JetAdmin
with a PCOUNTER queue, you must configure the queue for no accounting (and restrict access
to yourself only).
<< EXE >>
Novell's TCPIP.EXE must be loaded.
Example NET.CFG parameters:
Link Support
Buffers 8 1500
MemPool 4096
Link Driver NE2000
INT #1 5
PORT #1 300
Frame ETHERNET_II
Frame Ethernet_802.3
Protocol IPX 0 Ethernet_802.3
Link Driver TOKEN
Frame TOKEN-RING_SNAP
Frame TOKEN-RING
Protocol IPX E0 TOKEN-RING
Protocol TCPIP
path script c:\lwp\script
path profile c:\lwp\profile
path lwp_cfg c:\lwp\hstacc
path tcp_cfg c:\lwp\tcp
ip_netmask 255.255.255.0
;Ethernet - subnet 3
ip_router 128.100.3.1
ip_address 128.100.3.99
;Token Ring - subnet 4
ip_router 128.100.4.1
ip_address 128.100.4.99
tcp_sockets 8
udp_sockets 8
raw_sockets 1
<< NLM >>
TCPIP.NLM must be loaded.
Sample AUTOEXEC.NCF parameters:
load TCPIP forward=yes
load NE2000 name=E_TCP int=5 port=300 frame=ETHERNET_II
bind IP to E_TCP addr=128.100.3.1 mask=255.255.255.0
load TOKEN name=T_TCP frame=TOKEN-RING_SNAP
bind IP to T_TCP addr=128.100.4.1 mask=255.255.255.0
PCOUNTER can send print jobs to UNIX hosts running the LPD/LPR protocol.
PCOUNTER needs to know the ip address and the printer name.
Typically, the printer name is defined in the printcap file on UNIX systems.
If you don't know, use the default "lp". If that doesn't work, ask your local friendly UNIX guru.
If PrinterPort=LPR, then all page counting is computed manually.
The print buffer size is the most important setting regarding PCOUNTER performance. It
specifies the size of the data chunks sent to the printer. The sizes range from 64 to 16K bytes.
However, if the buffer size is too large and the printer's receive buffer fills up then PCOUNTER
may have to wait. It is recommended to use large buffers on fast lasers and small buffer sizes on
slow dot matrix printers and serial printers with low baud rates. Try a few different settings to
see what works best.
Try these settings:
Old IBM Proprinters
| 64 bytes |
Serial printers @ 9600 baud or below
| 512 bytes or less |
Serial printers @ 19200 baud or below
| 1K |
Serial printers @ 38400 baud
| 2K |
Laserjet 4M @ 57600 baud
| 4K |
LaserJet II (Parallel/EXE)
| 1K |
LaserJet II (Parallel/NLM)
| 512 |
LaserJet III (Parallel/EXE)
| 2K |
LaserJet III (Parallel/NLM)
| 1K |
LaserJet 4 (Parallel/EXE)
| 4K |
LaserJet 4 (Parallel/NLM)
| 2K |
LaserJet 4+ (Parallel/EXE)
| 8K |
LaserJet 4+ (Parallel/NLM)
| 4K |
Really, really, really fast printers
| 16K |
If PrinterType=PostScript, then it's print buffer size has a minimum of 512.
If PrinterType=Laserjet 4, then it's print buffer size has a minimum of 1K.
If PrinterPort=Queue-->, then buffer=1K, 2K, or 4K.
If PrinterPort=JetDirect or TCP/IP Printer or LPR, then buffer=1K or 2K.
This value is only used for text job manual page counting. It should correspond to the printer's
default lines-per-page setting. Therefore, settings of less than the printer's default may result in
over-counting, and settings of more than the printer's default may result in under-counting.
PCOUNTER's method for calculating the page count:
- Manual
- PCOUNTER calcluates page count
- PS Bidirectional
- PCOUNTER calculates page count using interactive Postscript commands
- PJL Bidirectional
- PCOUNTER calculates page count using HP Print Job Language commands
Some early models of the LJ4M don't support PJL Bidirectional, so in these cases you'll have to
use PS Bidirectional.
Bidirectional counting is only available if Printer Port=Parallel (LPTx), Serial (COMx), TCP/IP,
or Jetdirect (TCP). Page counting is automatically manual if Printer Port=Queue-> or LPR, or if
Printer Type=PCL.
Users in this list are notified about printer errors using a broadcast message if the Broadcast error
option is enabled.
This is the number of seconds that PCOUNTER will wait before sending broadcast messages to
users in the printer notify list when a printer needs attention. Don't set too low of a value, or you
might get messages often! Setting a value of zero (0) disables this feature.
- Netware
- Use Netware accounting services.
- External program
- PCOUNTER.EXE runs a child program which performs custom accounting, such as interfaces
to card readers/external databases, etc. Please contact A.N.D. if you want more information on how
to implement such a scheme.
<< EXE >>
Both options are supported.
<< NLM >>
Only Netware accounting is supported.
PCOUNTER can be setup to perform all of its user accounting on one central file server. Choose
one of the included file servers to enable this feature; otherwise, accounting occurs on the file
server where the print queue resides.
If a user's name is not the same on the central file server as on the queue's file server, then
PCOUNTER reads the file PCOUNTER.MAP and verifies the username. If this fails and
QueueDiscardJobIfUnknownUser=Yes then PCOUNTER discards the job. The syntax for
PCOUNTER.MAP is similar to that shown above, except that the queue's file server name is
necessary:
QUEUE_FILE_SERVER1/USERNAME1 CENTRAL_USERNAME1
FS1/PAGE JIMMY
FS2/PLANT ROBERT
:
:
You may put UNIX and non-central Novell server user maps in PCOUNTER.MAP.
PCOUNTER.MAP must be placed in SYS:SYSTEM\PCOUNTER.
<< EXE >>
The PCOUNTER console has a queue job manager function activated by pressing the F1 key,
and a printer control funcion activated by pressing F4. Anyone with access to the PCOUNTER
console may delete print jobs in the PCOUNTER server's queues. Jobs may also be held and
released. The space bar switches printer status displays if you have more printers than status
lines. You may disable the keyboard completely, or simply disable Ctrl-Alt-Del soft reboots.
The keyboard state has no effect on remote control features.
<< NLM >>
Not supported.
<< EXE >>
If you have an EGA or VGA on your PCOUNTER server, you may run it in 43 (EGA) or 50
(VGA) line screen mode.
<< NLM >>
Not supported.
<< EXE >>
On the PCOUNTER console, if you prefer to see more of the screen dedicated to the Recent and
Pending Print Jobs windows, set a lower value. Range: 1-16.
The Space key changes which printers are shown in the status display.
<< NLM >>
Not supported.
<< EXE >>
The time (in seconds) to wait before PCOUNTER blanks the screen. Pressing a key lights the
screen again. Setting this value to zero (0) disables this feature. Maximum value=1800.
<< NLM >>
Not supported.
<< EXE >>
The time (in seconds) to wait before PCOUNTER automatically reboots itself after a network
critical error occurs, such as after a server crash. Setting this value to zero (0) disables this
feature.
<< NLM >>
Not supported.
PCOUNTER can delete held print jobs after a specified number of hours. A value of zero (0)
disables this feature.
For security purposes, we recommended that you create and use a password file with
PCOUNTER. By default, a password file is not generated and a password is not used. After
entering a password for the PCOUNTER server in PCONTROL, a file is created (in
SYS:SYSTEM\PCOUNTER) called PSName.PWD, where PSName is replaced by up to the first
8 characters of the print server's name. If the password file is not present at that time, then
PCOUNTER will attempt to login without a password. If the password file is present, it will be
automatically used by PCOUNTER. The password is encrypted in the file so that only
PCOUNTER can read it.
DO NOT SPECIFY THE PASSWORD ON THE COMMAND LINE.
In PCONTROL, the password will be set on all included file servers.
<< EXE >>
Put the password file in the same directory as PCOUNTER.EXE.
<< NLM >>
Keep the password file in SYS:SYSTEM\PCOUNTER.
Here is where you specify whether a single PCOUNTER server should service queues on
multiple file servers. Adding a file server to the list will create the print server account on that
file server. Removing a file server from the list will delete the print server account along with all
printer definitions from that file server. You cannot remove a file server from the list if it is the
default file server.
Printer setups appear the same on all included file servers and PCOUNTER can login to any of
them.
<< EXE >>
Logs in to all included file servers; requires one user connection on each.
<< NLM >>
Logs in to all included file servers; does not use a user connection on the file server where the
NLM is running; requires one user connection on each remote file server.
<< EXE >>
- F1 Queue Manager
- Users may hold, release, and delete jobs in all print queues.
Jobs are sorted by username. Unlike PCONSOLE, jobs are shown with the true username.
- F4 Printer Control
- Users may pause/unpause the printer, restart the current job, or delete the current job.
- F8 Pause
- Pauses all PCOUNTER operations. Space switches printer status displays if you have more
printers than printer status lines.
- Ctrl-End
- Exit
- Colors in the Current Print Jobs window:
- Green
- Job is ready to print
- Cyan
- Job is still in progress
- Red
- Job is held
- Reverse
- Job is being printed
<< NLM >>
There are 2 screens, one for Printer Control and one for messages and recent print jobs. In the
Printer Control screen:
- P
- Pause/Unpause(Release) printer control
- Del
- Delete the current print job
- R
- Restart the current print job
- Q
- Quit servicing the current job, reset the PCOUNTER.NLM control for this printer, and bypass accounting
- Ctrl+End
- Unload PCOUNTER.NLM
- Space
- See more printer status lines, only if more than 24 printers
The current printer is shown with the > character; use the Up and Down keys to select the current
printer.
Each PCOUNTER printer runs as a separate thread of execution on the file server, as well as the
keyboard process. Therefore, pressing a key may not result in instant screen updates if the printer
process is busy.
If you unload PCOUNTER.NLM from the console command prompt, each printer process will
set itself to an idle state before the NLM unloads. If a print job is currently active, then
unloading will take a little longer. A printer process may appear to be hang occasionally, for
example during a TCP/IP connection which has been broken. It is recommended that you unload
the NLM from the Printer Control screen, so the console command process does not have to wait
for the printer processes to finish. Otherwise, the console command prompt will not be available
to you until the NLM has finished unloading.
It may take PCOUNTER.NLM up to 2 minutes to clear an invalid or broken TCP/IP connection when
it is unloaded, so be patient.....
<< EXE >>
In order to use the remote control feature of PCONTROL, a user must be supervisor equivalent,
or be a print server operator. The list of print servers displayed are those which:
At this time remote control is limited to one client at a time.
When a client is connected, an asterisk (*) is displayed on the console.
The client can perform any keyboard operation remotely, even if the console keyboard has been
disabled. Therefore, pressing Ctrl-End will cause the PCOUNTER program to terminate (as it
normally would).
- Special keys:
- Alt-Q
- Quit remote session
- Alt-R
- Reboot remote print server
- Alt-H
- Help
It is necessary for SPX to be installed on the PCOUNTER station, but not on the client stations.
However, if things don't appear to work correctly without SPX on the client, then perhaps it
would be a good idea to install it.
To enable SPX, include IPXODI or IPXODI D in AUTOEXEC.BAT.
Reaction is not instantaneous - PCOUNTER allocates little time for the remote control process,
so that it can spend more time printing and counting pages. 50 line VGA screens take twice as
long to update than their 25 line counterparts.
Use the provided PCONTROL.PIF under Windows 3.1x. If the necessary background priority is
not provided, then the connection will fail if the DOS session is not allocated enough time slices.
If you insist on pushing a PCONTROL remote control session to the background in Windows,
the connection may be lost. Try adjusting the PCONTROL.PIF settings if there are problems.
<< NLM >>
Use RCONSOLE.
Problem: The printer status line always reads "Offline or busy" when trying to access an LPT
port using the NLM version on the file server.
Solution: Try the /LPTSWAP command line option.
See also : PRINTER Port=LPTx - Parallel Ports.
----
Problem: When loading PCOUNTER.NLM or QCOUNTER.NLM, the server issues the following messages:
Loader cannot find public symbol: AttachToFileServer
Loader cannot find public symbol: NWQAbortJob
:etc.
:etc.
Load file referenced undefined public variable.
Module PCOUNTER.NLM NOT loaded
Solution:
Your 3.11 server needs an updated CLIB.NLM.
----
Problem: After upgrading a server to Netware 4.1, accounting no longer works.
Solution: Even if you previously had accounting installed, the upgrade will not install accounting
for you automatically. You will need to do it using NETADMIN. Also check and make sure that
the Pcounter server(s) are listed as accounting servers.
----
Problem: Port is configured for Queue->, job prints, no accounting.
Solution1: Make sure that jobs are being placed in the queue which PCOUNTER is servicing, not
the the output queue (Queue->). If jobs go into the output queue directly from users, then page
counting is being bypassed. You can remove user access to any queue using PCONSOLE or
PCONTROL.
Solution2: Make sure that the other print server and PCOUNTER are not servicing the same
queue. This means the other print server is getting the jobs first. Remember, you need two
queues (one for page counting, one for printing) and two print servers (PCOUNTER and another
print server such as PSERVER or the built in Novell functions of a Jetdirect).
Solution3: Make sure that PCOUNTER and the other print server are NOT using the same print
server name/account. This will definitely not work at all. See the above solution.
----
Problem: Remote control screen is garbled.
Solution: Close the connection (Alt-Q) and try it again!
----
Problem: When PCOUNTER.EXE is loaded, the console says "Error logging in on file server
xxxx, Invalid password".
Solution: If you set the password in PCONTROL, an encrypted password file was created
(*.PWD) in SYS:SYSTEM\PCOUNTER. Place it in the same directory as PCOUNTER.EXE.
See also : PRINT SERVER - Create password file
----
Problem: Print jobs on the parallel printer are garbled or data is being lost.
Solution: If the parallel port flow method is set to hardware port, make the timeout value higher.
If that fails, use the ROM BIOS setting.
See also : PRINTER Port=LPTx - Parallel Ports.
----
Problem: Laserjet 4M (or equivalent!) often reports 0 pages using bidir page counting.
Solution: Your printer type is probably set to PostScript. Change it to PrinterType=Laserjet 4.
Bidir counting on LJ4M's require different handlng than standard PS printers.
----
Problem: An incorrect username is on the banner on a Netware 4.1 server.
Solution: PCOUNTER cannot recognize users from containers in non-bindery contexts.
See also: Netware 4.x Notes
----
Problem: PCOUNTER counts pages correctly, but user account balances are not changed.
Solution: In the queue configuration, set Accounting
=User Accounting and Log File. If it is set to Log File Only, then the only record of
printing will be kept in SYS:SYSTEM\PCOUNTER.LOG.
Solution: Your trial period has expired, and user accounting has been disabled.
----
Problem: PCOUNTER.EXE displays error 8800 trying to login to a Netware 4.1 server.
Solution: Log the workstation out first before running PCOUNTER.
A separate document discussing Pcounter security issues is available by email from A.N.D.
Technologies. This document is available only to registered customers.
Technical assistance is available only by email or fax. Email is preferred, and will result in a
faster response. Please feel free to leave questions and comments at:
Email: andtech@netcom.com
Compuserve: 71011,3570 or INTERNET:andtech@netcom.com (faster!)
Fax: (213) 782-6923
If you have a technical problem, please include as much information about your
setup as possible in your communication. In PCONTROL, Print Servers, Create Summary File,
you can generate a complete text description of your print server's setup, including printers and
queues.
You may use PCOUNTER without restriction for 45 days after your first print server installation
using PCONTROL. To start your 45 day trial period, run PCONTROL and choose File Servers,
Register for each file server you intend to have PCOUNTER running on. If you have not
registered PCOUNTER and the trial period expires, its use will be limited to 2 hours running
time, and accounting functions will be disabled.
*** Please contact A.N.D. Technologies if you require a longer trial period. ***
Each file server license allows you to run PCOUNTER.NLM, QCOUNTER.NLM, and as many
PCOUNTER.EXEs as you require on that file server. Your reg number is good for any
PCOUNTER 3.x version.
- Pricing (In US Dollars):
- 1 file server license
- $175 or 1-4 @ $175 each
- 5 file server licenses
- $625 or 5-9 @ $125 each
- 10 file server licenses
- $995 or 10-19 @ $100 each
- 20 file server licenses
- $1295
- Unlimited academic site license
- $1595
- Corporate licenses are also available.
Upgrades from PCOUNTER 2.x (In US Dollars)
- Each PCOUNTER 2.x print server license --> PCOUNTER 3.x file server license - $100
*** NECESSARY INFORMATION FOR REGISTRATION ***
In PCONTROL, File Servers, Register, please note your file server(s) serial number, and (if
shown) IPX internal network number. Also your name, company, and email address. If you
don't include these, it will take longer for you to receive your registration!
When you register, you will be sent a registration number by E-Mail. Enter the number in
PCONTROL, and PCOUNTER is yours. No diskettes or manuals need to be sent.
By supporting PCOUNTER now you will be supporting future versions.
Address for correspondence
A.N.D. Technologies
P.O. Box 64811
Los Angeles, CA 90064 USA
Payments by cheque
If you are registering from outside the U.S., please make sure your payment is in US dollars and
is cashable at a U.S. bank so that there are no conversion fees.
Purchase orders
Purchase orders are accepted and may be mailed to the above address or faxed to (213)
782-6923. Terms are Net 30.
Credit cards
For credit card orders, please include:
Your name as it appears on the card
Visa or Mastercard
Card Number
Expiration Date
If you are concerned about security issues regarding credit card transactions by email, you may
also fax the above information to (213) 782-6923.
Wire Transfers
Please add $10 for wire transfers.
Please also add any amounts that your bank charges for this service.
You may distribute PCOUNTER as part of shareware/software/utility collections or upload it to
other computers. However you may not charge any fees for the PCOUNTER software except to
cover media costs for its shipment. If you do so, please distribute it in the zip archive
PCNTxxxx.ZIP, where xxxx indicates the revision number; for example, version 3.11B would be
distributed in the file PCNT311B.ZIP.
A.N.D. Technologies WWW site
A.N.D. FTP site
University of Liverpool, UK [Always up-to-date]
Lincoln University, New Zealand [Always up-to-date]
On CompuServe: in the NOVUSER forum
When PCOUNTER is first uploaded, it will first be placed in New Uploads, then later moved to
Printer Utilities. This forum is also mirrored at Novell's ftp server - ftp.novell.com, in the
directory /netwire/novuser. The subdirectories (libraries) are then listed by number - 01 is New
Uploads and 06 is Printer Utilities. The ftp mirror (ftp.novell.com) is updated only occasionally,
it seems.
PCOUNTER - Copyright (c) 1992-6 A.N.D. Technologies
Special thanks to Sara for her unlimited love, patience, and encouragement.
PCONTROL uses the SPAWNO routines by Ralf Brown to minimize memory use while running the
editor program while viewing Print Histories.
AWESOME LOGIN 2.1 - A GRAPHICAL NOVELL LOGIN SHELL
Customize your login screens (and discourage hackers and password stealers) with this graphical
login program. It uses Novell's LOGIN.EXE as a secondary program, so there's no need to
rewrite login scripts. Also use it in place of LOGOUT, so that a pleasant screen always awaits
the next user.
PSPS 3.0 - A POSTSCRIPT PRINTSCREEN UTILITY
Support for text and graphics modes on MDA, CGA, Herc, EGA, MCGA, VGA, and SuperVGA
adapters. Monochrome, reverse monochrome, grayscale, reverse grayscale, and color PostScript
modes. Support for PostScript Level 2. Optionally print to LPT port, Novell print queue,
PostScript File, or EPS file for integration into other documents.