PCOUNTER

Printer Accounting for Novell Netware

Version 4.11

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

Welcome to PCOUNTER 4
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 3.x Notes
Concepts
How are pages counted?
Should I use PCOUNTER (NLM, EXE) or QCOUNTER?
PCOUNTER Schema Extensions
PCOUNTER Concepts - Types of configurations
PCONTROL details
PCOUNTER limits
Configuring and running PCOUNTER and QCOUNTER
QCOUNTER Concepts
How does QCOUNTER.NLM work?
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?
User Accounting
Accounting concepts
Accounting rights (Important!)
Giving Users Accounting Rights
The PCOUNTER.LOG activity log file
Accounting utility: WACCOUNT.EXE
Accounting utility: ACCOUNT.EXE
Accounting utility: WBALANCE.EXE
Client billing options: CLIENT.EXE and WCLIENT.EXE
Miscellaneous
PCOUNTER/QCOUNTER and Contexts
How can I speed up PCOUNTER?
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 - Console keyboard
PRINT SERVER - Console screen lines
PRINT SERVER - Maximum printer status lines
PRINT SERVER - Delete held jobs after ? hours
PRINT SERVER - Screen blanker wait
PRINT SERVER - Auto reboot wait
PRINT SERVER - Number of jobs counted before printing
PRINT SERVER - CPU Utilization
PRINT SERVER - Host Server
PRINT SERVER - Create password file
While you're running PCOUNTER
The PCOUNTER console
Important PCOUNTER.NLM Notes
Remote control
Solutions to Common Problems
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

Welcome to PCOUNTER 4

If you've been waiting for the native NDS version of PCOUNTER, then here you go. Bindery emulation is no longer necessary.

This version does not support Bindery based servers in any way - logins are only made to directory services.

If you require support for Netware 3.x servers, please try using a version of PCOUNTER 3.x. The latest version is available at http://www.andtechnologies.com.

If you are planning to maintain user account balances, please read the section Accounting.


Overview

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:

  • Counts pages on PostScript and LaserJet (PCL) printers, Laserjet 4s, and Deskjets. Maintains user account balances using the Novell accounting feature. Keeps a log file of all print activity.


  • Specific support for HP Laserjet 4s and JetDirects.


  • Fast parallel printing using direct port access.


  • Fast serial printing with baud rates up to 115K. (PCOUNTER.EXE only)


  • Excellent networked printer support: Writes jobs to an output queue serviced by another print server; Communicates directly with network printers using the TCP/IP protocol; Spool jobs to UNIX hosts using the LPR protocol.


  • Automatically converts text to PostScript if necessary; supports the extended character set.


  • Global (print job configuration) settings for queues: Notify, Form feed, Banner print, Automatically place jobs on hold; Delete old held jobs.


  • Pleasant looking banner pages containing all (Correct!) information about the print job, including the page count and account balance.


  • Simple printer and queue management from the PCOUNTER console.


  • Remote control so that you can always see what's happening.


  • Reject incorrect print job types and incorrect paper sizes.


  • Built in screen blanker; automatic reboot on file server crashes. (PCOUNTER.EXE only)


  • All page counting is done by the print server - requires no memory or extra processing by the workstation.


  • Comes with a 45 day unlimited usage trial period.



  • Software requirements for PCOUNTER.NLM

    NetWare 4.1 or above.


    Software requirements for QCOUNTER.NLM

    NetWare 4.1 or above.


    Hardware requirements for PCOUNTER.EXE

    PCOUNTER.EXE requires a dedicated computer as a print server.
    A 386SX or higher CPU is required.
    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 by PCOUNTER; however, it is required that you have enough EMS/XMS to load network drivers high.


    Software requirements for PCOUNTER.EXE

    DOS 5.0 or above, NetWare 4.1 or above.
    TCP/IP support requires the Novell Lan Workplace TCPIP.EXE protocol stack.
    Remote control support requires SPX (IPXODI D).
    VLM DOS Requestor (1.2 or above).
    A memory manager (HIMEM.SYS or equivalent) to load network drivers high into UMBs.


    PCOUNTER.NLM/EXE and QCOUNTER.NLM differences

    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.


    Features still to come

    Accounting using custom attributes - so that separate Pcounter balances may be done within individual contexts/organizations in the same tree, or so that you can use the standard Netware accounting for connect time, disk usage, etc.

    Plot size accounting for Postscript and HPGL/2 roll plotters.


    Netware 3.x Notes

    This version does not support Bindery based servers in any way - logins are only made to directory services. If you require support for Netware 3.x servers, please try using a version of Pcounter 3.x. The latest version is available at http://www.andtechnologies.com.


    How are pages counted?

    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 incoming PostScript program uses character/line counts in order to eject pages instead of explicitly issuing a page eject command. An application which generates such output is Paradox 4.0 for DOS. Text to PostScript converters may also cause problems. The solution? Let PCOUNTER convert text to PostScript!


  • Invalid sequences which cause the printer to abort a job. PCOUNTER is not a PostScript interpreter and does not check syntax. The overhead involved in implementing such a scheme would be too costly in terms of processing time and hardware requirements. Therefore PCOUNTER checks only for page-eject related commands. PCOUNTER cannot detect pages printed by resident error handlers.


  • 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.



    Should I use PCOUNTER (NLM, EXE) or QCOUNTER?

    Features common to all three:
  • You want printer accounting.


  • You want to enforce global queue settings such as Notify, Form Feed or Holding Jobs.


  • You want to reject incorrect print job types and/or paper sizes.


  • You want the correct username on the banner page.


  • Reasons to use QCOUNTER.NLM:
  • You do not wish to change your existing printing configuration.


  • You want a minimum of setup options.


  • You do not mind using manual page counting.


  • You are currently using PCOUNTER.NLM with the Queue-> port option. Using QCOUNTER.NLM requires less file server activity. QCOUNTER requires only one queue - sharing the queue and jobs as the other print server(s) which are servicing them. Therefore, only one print job needs to be written instead of two. Also, since print jobs are typically accessed and disposed of more quickly than other types of files on the server, they are more likely to be present in the server's RAM cache, resulting in faster processing and less disk accesses.


  • Reasons to use PCOUNTER.NLM:
  • You would like to take advantage of PCOUNTER's print server features.


  • You wish to use bidirectional and/or manual page counting.


  • Reasons to use PCOUNTER.EXE:
  • You would like to take advantage of PCOUNTER's print server features.


  • You wish to use bidirectional and/or manual page counting.


  • You would like to take some of the printing load off of the file server.


  • You have an extra computer to dedicate for printing.


  • You want a control center available to users with printer/queue control and visible account balances.



  • PCOUNTER Schema Extensions

    For PCOUNTER to function correctly, it is necessary to incorporate schema extensions to Directory Services which hold PCOUNTER configuration information. You must run PCONTROL using the Admin account and choose Schema Extensions in order to install these extensions on your partition.

    If PCONTROL reports "Insufficient Rights" when Admin attempts to extend the schema, then it is probable that another administrator must grant rights to extend the schema in your organization.

    PCONTROL reports error codes -603 and/or -325 when exiting the Print Server and/or Queue configuration screens if the schema has not been extended properly.


    PCOUNTER Concepts - Types of configurations

    Use PCONTROL to set up print servers, printers, and queues.

    Print server configurations affect all aspects of PCOUNTER's operation; example options are "Numerical Format" 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.

    *** IMPORTANT ***
    PCONTROL does not provide a way to move a printer from one print server to another - you will have to use PCONSOLE for that. In PCONTROL, adding a new printer to a print server creates a new printer, and removing a printer deletes it entirely.

    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.


    PCONTROL details

    PCONTROL does not use Expanded/Extended memory; therefore try to keep as much conventional RAM free for its use. The amount of available RAM is shown on the lower right of the screen.

    PCONTROL does not allow marking (F5 in standard Netware utilities) for processing multiple objects.

    PCONTROL does not support the choosing of container objects for the assignment of rights, such as Queue Users. Use PCONSOLE for these operations.

    A user may not use PCONTROL to change print server/printer/queue setups unless they are equivalent to Admin. A user need only be a print server operator (or have Supervisor entry rights to the print server) to use PCONTROL's remote control feature on that particular print server. Users with accounting rights may modify other users' account balance and low balance limit.

    All changes that you make in a PCONTROL window are automatically saved when you exit that window.

    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 needs you to specify a file server where the PCOUNTER.LOG file for accounting transactions is written. 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, banner templates, and T2PS.PS.

    In the print server configuration window, denotes whether each setting is supported by the various utilities: E=PCOUNTER.EXE, N=PCOUNTER.NLM, Q=QCOUNTER.NLM.


    PCOUNTER limits

  • Each PCOUNTER print server may print on up to 32 printers.

  • Each printer may service up to 16 queues.

  • QCOUNTER can monitor print jobs on up to 512 queues.


  • Configuring and running PCOUNTER and QCOUNTER

    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.

    Please note that the printer definitions defined in PCONSOLE do not apply to PCOUNTER.

    PCOUNTER.NLM
    1. Run PCONTROL. Install the PCOUNTER schema extensions. 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.
    2. 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.
    3. 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.
    4. There is no need to define any QCOUNTER queues when using PCOUNTER.NLM.
    5. Create a (required) password file - it is placed automatically in the SYS:SYSTEM\PCOUNTER directory of the file server selected as the Host Server in the Pcontrol, Print Server window.
    6. If you want to keep user account balances, then set the print server's Accounting Rights in all contexts where users are using PCOUNTER services.
    7. Configure each queue (in Pcontrol, Queues) which is being serviced by a PCOUNTER printer.
    8. Copy all banner templates (*.BAN), headers, footers, and the Text->PostScript conversion header file (T2PS.PS) to the SYS:SYSTEM\PCOUNTER directory on the file server where PCOUNTER.NLM will run. If your default paper size is A4, rename T2PS-A4.PS to T2PS.PS.
    9. Copy PCOUNTER.NLM to the SYS:SYSTEM directory.
    10. Keep the encrypted password file (*.PWD) in SYS:SYSTEM\PCOUNTER - this is required.
    11. Run PCOUNTER on the file server console. The command line syntax is:
      LOAD PCOUNTER PrintServerName[.OUname....OUname.Oname]
      NOTE: PrintServerName is required. example: LOAD PCOUNTER PSERVER1

      If you use PrintServerName alone, PCOUNTER.NLM will attempt to login within the server's current context. If the context where the print server resides is different than the current server context, then the login will fail - in this case you must use the print server's full Distinguished Name, or its Relative Distinguished Name (relative to the server context).
    PCOUNTER.EXE
    1. Run PCONTROL. Install the PCOUNTER schema extensions. 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.
    2. 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.
    3. 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.
    4. There is no need to define any QCOUNTER queues when using PCOUNTER.EXE.
    5. Create a (required) password file - it is placed automatically in the SYS:SYSTEM\PCOUNTER directory of the file server selected as the Host Server in the Pcontrol, Print Server window.
    6. If you want to keep user account balances, then set the print server's Accounting Rights in all contexts where users are using PCOUNTER services.
    7. Configure each queue (in Pcontrol, Queues) which is being serviced by a PCOUNTER printer.
    8. Copy all banner templates (*.BAN), headers, footers, and the Text->PostScript conversion header file (T2PS.PS) to the SYS:SYSTEM\PCOUNTER directory on the file server which has been defined as the Host Server. If your default paper size is A4, rename T2PS-A4.PS to T2PS.PS.
    9. Copy PCOUNTER.EXE to the SYS:LOGIN directory.
    10. Copy the encrypted password file (*.PWD) from SYS:SYSTEM\PCOUNTER to SYS:LOGIN - this is required.
    11. If you want remote control, make sure SPX is installed on the PCOUNTER computer. Include IPXODI or IPXODI D in AUTOEXEC.BAT.
    12. Run PCOUNTER. The command line syntax is:
      PCOUNTER PrintServerName[.OUname....OUname.Oname]
      NOTE: PrintServerName is required. example: PCOUNTER PSERVER1

      If you use PrintServerName alone, PCOUNTER.EXE will attempt to login within the current context. If the context where the print server resides is different than the current context, then the login will fail and PCOUNTER.EXE will search all contexts until a login is successful. If you use the print server's full Distinguished Name, or its Relative Distinguished Name (relative to the current context), PCOUNTER.EXE will attempt to login once only.

      Once PCOUNTER.EXE logs in successfully, it changes to the context where it is located.

      It is recommended that the workstation is logged out of Directory Services before running PCOUNTER.EXE; ie. don't login the station as a special user and run PCOUNTER from a login script or batch file after the login.

    13. Add an XMS/EMS memory manager to CONFIG.SYS (so that network drivers can be loaded high into UMBs) and add the PCOUNTER command line to the AUTOEXEC.BAT file so that it will run automatically after the computer starts up. For example:

      CONFIG.SYS
      DEVICE=HIMEM.SYS
      DEVICE=EMM386.EXE
      :
      :
      
      AUTOEXEC.BAT
      @ECHO OFF
      LOADHIGH LSL
      LOADHIGH NE2000
      REM ***
      REM TCPIP is only necessary for TCP/IP printer support.
      REM ***
      LOADHIGH TCPIP
      LOADHIGH IPXODI
      VLM
      F:
      PCOUNTER PRINTSERVERNAME
    QCOUNTER.NLM
    1. Run PCONTROL. Install the PCOUNTER schema extensions. To start your 45 day trial period, choose Register File Servers for each file server you intend to have QCOUNTER running on. QCOUNTER configuration details are described in later sections.
    2. Create a new print server for QCOUNTER, so that there is no confusion as to which print server is being used for each purpose.
    3. In the Print Server configuration, select the QCOUNTER queues which you require QCOUNTER to monitor. They must be located on the same file server where QCOUNTER is running.
    4. There is no need to define any printers when using QCOUNTER.NLM.
    5. Create a (required) password file - it is placed automatically in the SYS:SYSTEM\PCOUNTER directory of the file server selected as the Host Server in the Pcontrol, Print Server window.
    6. If you want to keep user account balances, then set the print server's Accounting Rights in all contexts where users are using PCOUNTER services.
    7. Optionally configure each queue (in Pcontrol, Queues) which QCOUNTER monitors.
    8. Copy QCOUNTER.NLM to the SYS:SYSTEM directory.
    9. Keep the encrypted password file (*.PWD) in SYS:SYSTEM\PCOUNTER - this is required.
    10. Run QCOUNTER on the file server console. The command line syntax is:
      LOAD QCOUNTER PrintServerName[.OUname....OUname.Oname]
      NOTE: PrintServerName is required. example: LOAD QCOUNTER PSERVER1

      If you use PrintServerName alone, QCOUNTER.NLM will attempt to login within the server's current context. If the context where the print server resides is different than the current server context, then the login will fail - in this case you must use the print server's full Distinguished Name, or its Relative Distinguished Name (relative to the server context).

    QCOUNTER Concepts

    Unlike, the 3.x version of QCOUNTER, QCOUNTER needs to be defined as a print server also - but this is only so that it can access Directory Services. Default settings are made in the same place as PCOUNTER print servers; however you don't need to (and you shouldn't) define any printers for QCOUNTER's use. The purpose of QCOUNTER is to monitor queues which are being serviced by other print servers and printers. You can tell QCOUNTER which queues to monitor in Print Servers/Printers, QCOUNTER Queues. QCOUNTER can only monitor queues which are located on the server where QCOUNTER.NLM is running.

    How does QCOUNTER.NLM work?

    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:

    1. 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.
    2. QCOUNTER rejects incorrect page sizes/job types, or else counts the pages in the print job.
    3. 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.
    QCOUNTER Notes

  • QCOUNTER only services queues located on the file server where it is running. If you require multiple file server support, then you will need to run QCOUNTER on each file server where queues are defined.

  • QCOUNTER will stop counting jobs if no other print servers are attached to the queue.

  • If you want QCOUNTER to charge per job instead of per page, then only allow Unknown jobs in the queue configuration. In other words, setup the queue to reject PostScript, PCL, and Text.

  • QCOUNTER writes the same log file as PCOUNTER: SYS:SYSTEM\PCOUNTER\PCOUNTER.LOG.




  • Use QCOUNTER.NLM to enforce global print job configurations

    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.


    How are print jobs handled by PCOUNTER?

    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.


    PCOUNTER and Queue Job parameters

    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

    How do I use my networked printers with PCOUNTER?

  • Have PCOUNTER.NLM or PCOUNTER.EXE spool jobs to the printer using TCP/IP. If the printer's network interface or the external print server box (such as the HP JetDirect) supports a bidirectional TCP/IP stream, then bidir page counting will work wonderfully.

  • Use QCOUNTER.NLM to monitor the same queues which the networked printers are currently servicing.

  • Use the Queue-> port interface in conjunction with PCOUNTER.NLM or PCOUNTER.EXE.


  • Accounting Concepts

    It is not necessary to install accounting on your servers - this is a bindery based feature which is not used by PCOUNTER 4.x.

    Each user has an Account Balance and a Low Balance Limit. Typically an Account Balance may decrease until it reaches the Low Balance Limit, after which service is refused (although you can override this in the PCOUNTER queue configuration, or by allowing Unlimited Credit).

    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)
    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.

    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.


    Accounting Rights (Important!)

    Unfortunately, Directory Services does not provide for a global method for allowing objects to modify other objects' Account Balances, except by granting supervisor rights to [All Attributes Rights] (or [All Properties Rights] as shown in NETADMIN). Therefore you must assign these rights explicitly in order to maintain user account balances.

    If a PCOUNTER/QCOUNTER server is not granted these rights, then balances will not be modified. PCONTROL provides a method to assign accounting rights to print servers - it can assign a print server the ability to modify the account balances of all users in a specified context.

    If user accounting is specified in a queue's configuration, then PCOUNTER/QCOUNTER will complain if it is not granted accounting rights to a user who has placed a job in a queue it is servicing. In this case the account balance will be interpreted as zero, and it is likely that the job will be rejected, unless you configure the queue otherwise.

    You can give the PCOUNTER server supervisor access to [Root], or to individual containers within your tree. Since PCOUNTER requires a password for print servers, and the password is stored in an encrypted password file, the odds of the account being hacked are slim to none, unless you use an easily guessable password.


    Giving Users Accounting Rights

    Here is how you can give a user the necessary supervisor access to modify balances:

  • Run NWADMIN
  • You will probably need to first select the menu View, Sort by Object Class, then move User to the top of the list.
  • Find the icon for the user, drag and drop the icon onto the [Root] icon (if you want to grant supervisor access to the entire tree), or onto a particular Organization or Organizational Unit icon.
  • Press the Clear button to clear the Object Rights.
  • Press the Clear button to clear the Property Rights.
  • Select the Supervisor box in Property Rights.
  • Press the OK button to complete the operation.
  • To remove supervisor access:
  • Select the container icon in question.
  • On the menu, choose Object, Trustees of this Object.
  • Select the Print Server or User you wish to remove as supervisor.
  • Press the Delete Trustee button, then answer Yes.
  • Press the OK button to complete the operation.
  • Please also note that granting supervisor access to the [Root] object also grants supervisor status to the entire file system, while granting supervisor access to containers grants supervisor status to any volumes which are located in those containers.

    A user who has been granted supervisor rights may also need to be given read/write permission in the SYS:SYSTEM\PCOUNTER directory so that their transactions can be added to the PCOUNTER.LOG file, if the SYS volume resides in a different context from where the rights have been granted.


    The PCOUNTER.LOG activity log file

    The PCOUNTER/QCOUNTER server keeps a running log of all printing/accounting activity in the file SYS:SYSTEM\PCOUNTER\PCOUNTER.LOG. Multiple PCOUNTER servers can 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. Directory Services objects are referred to only by their Common Name (CN).

    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. Directory Services objects are referred to by their full Distinguished Name (DN).

    Numerical format and log file Readable/ASCII Delimted choices are necessary in these places:

    PCONTROL, PControl Defaults: for PCONTROL transactions
    PCONTROL, Print Servers: for PCOUNTER
    ACCOUNT /CONFIG : for ACCOUNT transactions
    WACCOUNT, Preferences: for WinAccount 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.

    If Accounting Rights are not granted but the job is printed anyway, then an asterisk (*) is placed next to the page count in a Readable log file, or "No accounting" is placed in the Banner FIle field of an ASCII delimited log file.

    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.

    No record is kept of any accounting transactions in NETADMIN/NWADMIN.


    Accounting utility: WACCOUNT.EXE

    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.

    You can use WinAccount to set balances and/or credit limits for all users in a context.

    Preferences 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 and NWNET.DLL to be in the \WINDOWS or \WINDOWS\SYSTEM directory. This DLL is distributed with the various Netware Windows client kits.


    Accounting utility: ACCOUNT.EXE

    ACCOUNT is a DOS command-line accounting tool which is designed for quick accounting access to user accounts. Only an supervisor or user who has been granted accounting rights may change another user's account information.

    ACCOUNT [DEPOSIT | BALANCE | LIMIT] [UserName][.OUname....OUname.Oname] [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 [UserName][.OUname....OUname.Oname] [Amount] [ChargeReason]
    Subtract from a user's account balance.

    ACCOUNT BALANCE
    For a user to view his/her own account balance.

    ACCOUNT VIEWBAL UserName[.OUname....OUname.Oname]
    View a user's 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.


    Accounting utility: WBALANCE.EXE

    WBALANCE is a small MS Windows utility for users to view their account balances quickly (so they don't always have to ask you).

    Settings are kept in WBALANCE.INI in the \WINDOWS directory. To change the Numerical Format (Currency or Pages), select your choice 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 and NWNET.DLL to be in the \WINDOWS or \WINDOWS\SYSTEM directory. This DLL is distributed with the various Netware Windows client kits.


    Client billing options: CLIENT.EXE and WCLIENT.EXE

    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.


    PCOUNTER/QCOUNTER and Contexts

    When PCOUNTER.NLM and QCOUNTER.NLM login to Directory Services, they login to the print server account relative to the current server context.

    If the server context is O=Org1 and the print server is located in O=Org2, then you should type:

    LOAD PCOUNTER PSName.Org2.
    If the server context is OU=Ou1.O=Org1 and the print server is located in O=Org2, then you should type:

    LOAD PCOUNTER PSName.Org2..
    If the server context is [Root] and the print server is located in O=Org2, then you should type:

    LOAD PCOUNTER PSName.Org2
    In the case of PCOUNTER.EXE, the same syntax applies; however, you can use the CX command to change the default context before running PCOUNTER:

    CX Org2.
    PCOUNTER PSName
    is the same as:

    PCOUNTER PSName.Org2.
    All objects are referred to by their Common Name (CN) during screen displays, even if they are located in a different container as the PCOUNTER server. When PCOUNTER modifies a user account balance, it is done in the context where the print job user is located.

    If you are using a Readable log file, object names are only referred to by their CN. However, in an ASCII delimited log file, all objects are referred to by their full Distinguished Names.


    How can I speed up PCOUNTER?

    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.


    Why use TCP/IP and not IPX/SPX for networked printers?

    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.


    Why use Novell's TCP/IP protocol stack and not a packet driver?

    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.


    How do I setup PCOUNTER for Macintosh?

    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 spooler (queues print jobs) and the printer 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.

    Use ATPSCON.NLM to configure a spooler for a designated Netware print queue, and then let PCOUNTER service the queue.

    If you do not want Mac users to bypass PCOUNTER and print directly to Appletalk printers, then you should turn off Appletalk on the printers, and then have PCOUNTER print to them via serial, parallel, or TCP/IP.

    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.


    How is text converted to PostScript?

    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.


    Creating queues in PCONTROL

    If a queue is created by PCONTROL, the user group EVERYONE (if it exists in the current context) 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 to place your print queue. If a PCOUNTER printer is servicing a queue, then PCONTROL always adds a PCOUNTER server to the Queue Users and Queue Operators lists for that queue.


    QUEUE - Price

    << 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.


    QUEUE - Accounting

    << 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

    QUEUE - Always place jobs on hold

    << 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.


    QUEUE - Action if below credit limit

    << 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:
  • Print job anyway
  • Delete job from queue
  • Place job on operator hold
  • Place job on user hold

  • QUEUE - Cut off job if below credit limit

    << 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.


    QUEUE - Discard job if unknown user

    << 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. If QueueAccounting is enabled, and you want PCOUNTER to discard the print job, then set this value to Yes.

    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.ou.o
    jimi hendrix.guitarists.musicians
    kmoon moon
    (daltrey) roger
    (allman) duane
    joplin janis
    :
    :
    
    If the Netware account you are referencing is in a different context from the PCOUNTER/QCOUNTER server, then you should specify the full Distinguished Name.

    You may map multiple UNIX accounts to single Novell accounts.

    YOU MUST PLACE PCOUNTER.MAP IN SYS:SYSTEM\PCOUNTER.


    QUEUE - Banner print

    << PCOUNTER and QCOUNTER >>

    There are 3 choices:
  • Never
  • Only if requested
  • Always
  • 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.


    QUEUE - Banner position

    << 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 can only include <PAGES>, <COST>, and <BALANCE> on a banner after a job - they are ignored if any of these are specified in a banner which is printed before a job.

  • Typically, the page on top will be the banner.

  • QUEUE - Banner accounting

    << 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.


    QUEUE - Banner template file

    << 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.


    QUEUE - Job notify

    << PCOUNTER and QCOUNTER >>

    There are 3 choices:
  • Never
  • Only if requested
  • Always
  • 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.


    QUEUE - Notify at credit limit

    << 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.


    QUEUE - Form feed (End of job codes)

    There are 3 choices:
  • Never
  • Only if requested
  • Always
  • 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.


    QUEUE - Job size limit

    << 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.


    QUEUE - Duplex handling

    << 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.


    QUEUE - Reject paper sizes

    << 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.


    QUEUE - Header files, Footer files, and Delays

    << 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.


    QUEUE - Reject print job types

    << 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)



    PRINTER Type=PostScript

    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.


    PRINTER Type=PCL

    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).


    PRINTER Type=Laserjet 4

    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.


    PRINTER Type=Charge per job

    No page counts; PCOUNTER charges a fixed rate for each print job. Useful for plotters or dot-matrix printers.


    PRINTER Type=Disabled

    Printer not used.


    PRINTER Port=COMx - Serial Ports (RS-232)

    << 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.


    PRINTER Port=LPTx - Parallel Ports

    << 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.


    PRINTER Port=Queue--> (Another Queue)

    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:
    1. 2 queues are necessary: 1 for page counting, 1 for printing
    2. User places job in queue serviced by PCOUNTER server
    3. PCOUNTER counts pages, charges account, places job in other queue
    4. 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.


    PRINTER Port=JetDirect (TCP)
    PRINTER Port=TCP/IP Printer

    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


    PRINTER Port=LPR

    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.


    PRINTER - Print buffer size

    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.


    PRINTER - Lines/page

    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.


    PRINTER - Pagecount Type

    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.


    PRINTER - Error notify list

    Users in this list are notified about printer errors using a broadcast message if the Broadcast error option is enabled.


    PRINT SERVER - Broadcast error wait

    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.


    PRINT SERVER - Accounting Type

    Netware
    Use Netware Directory Services 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.


    PRINT SERVER - Console keyboard

    << 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.


    PRINT SERVER - Console screen lines

    << 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.


    PRINT SERVER - Maximum printer status lines

    << 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.


    PRINT SERVER - Delete held jobs after ? hours


    PCOUNTER can delete held print jobs after a specified number of hours. A value of zero (0) disables this feature.


    PRINT SERVER - Screen blanker wait

    << 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.


    PRINT SERVER - Auto reboot wait

    << 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.


    PRINT SERVER - Number of jobs counted before printing

    << QCOUNTER.NLM only >>

    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. It is possible that a user could delete a job after QCOUNTER has already counted it (and performed user accounting), but before the printer has printed it. Setting a high value increases throughput, but increases the chances of such an event's occurrence. Setting a low value (such as 1) is safe, but may somewhat impede printing speed.


    CPU Utilization

    << QCOUNTER.NLM only >>

    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. A well-configured server should have plenty of extra CPU processing to spare.


    Host Server

    << EXE >>

    This is the file server where PCOUNTER.EXE writes the PCOUNTER.LOG file, and where it looks for banner template files (*.BAN), headers, footers, T2PS.PS, and the PCOUNTER.MAP file.

    << NLM >>

    The server where the NLM is loaded is the host server.


    PRINT SERVER - Create password file

    For security purposes, it is required that you create and use a password file with PCOUNTER and QCOUNTER. 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.

    << EXE >>

    Put the password file in the SYS:LOGIN with PCOUNTER.EXE.

    << NLM >>, QCOUNTER

    Keep the password file in SYS:SYSTEM\PCOUNTER.


    The PCOUNTER console

    << 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.


    Important PCOUNTER.NLM Notes

    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.....


    Remote control

    << 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:
  • are logged in
  • have a PCOUNTER configuration
  • the user has the necessary rights to operate
  • 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.


    Solutions to Common Problems

    Problem: When loading PCOUNTER.NLM or QCOUNTER.NLM, the result is always "Unable to login to Directory Services: Unknown object".

    Solution: Check the current context on the message screen, and calculate the Relative Distinguished Name (relative to the current context) of the print server object. Then try loading it again. Sometimes a preceding period (. before the name) helps, sometimes a few trailing periods (. after the name) also help. You may not use a preceding and trailing period.

    ----

    Problem: PCONTROL reports error codes -603 and/or -325 when exiting the Print Server and/or Queue configuration screens.

    Solution: You need to login as Admin and run PCONTROL and select Schema Extensions as Admin. Please read the section entitled PCOUNTER Schema Extensions.

    ----

    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.

    Solution1: Your trial period has expired, and user accounting has been disabled. Solution2: Perhaps the print server has no rights to modify account balances. Please read the section on User Accounting and assign accounting rights to the PCOUNTER/QCOUNTER server.

    ----

    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, NLM) or QCOUNTER.NLM is loaded, the console says "Password file xxxx.PWD not found. Please create one in PCONTROL.".

    Solution: A password is required. When you set the password in PCONTROL, an encrypted password file is created (*.PWD) in the SYS:SYSTEM\PCOUNTER directory of the file server selected as the Host Server in the Pcontrol, Print Server window.

    << EXE >> Copy the .PWD file to the same directory as PCOUNTER.EXE. (SYS:LOGIN)

    << NLM, QCOUNTER >> If the Host Server is different than the server where the NLM is being loaded, copy the .PWD file into the SYS:SYSTEM\PCOUNTER directory on the server where the NLM is being loaded.

    ----

    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: 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.


    Technical support

    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.


    Warranty

  • PCOUNTER is distributed as is, with no warranty implied or otherwise.
  • Use at your own risk.
  • A.N.D. Technologies is not responsible for your use or misuse of PCOUNTER.

  • 45 Day Trial Period

    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. ***


    Registration

    Each file server license allows you to run PCOUNTER.NLM, QCOUNTER.NLM, and as many PCOUNTER.EXEs as you require on that file server.

    Pricing (In US Dollars):
    1 file server license
    $225 or 1-4 @ $225 each
    5 file server licenses
    $825 or 5-9 @ $165 each
    10 file server licenses
    $1195
    20 file server licenses
    $1595
    Unlimited site license
    $1995

    Upgrades from PCOUNTER 3.x (In US Dollars)
    If you registered at the 1996 price ($175), each file server license - $50
    Otherwise, each file server license - $100

    Upgrades from PCOUNTER 2.x (In US Dollars)
    Each PCOUNTER 2.x print server license --> PCOUNTER 4.x file server license - $150

    *** NECESSARY INFORMATION FOR REGISTRATION ***
    In PCONTROL, Register File Servers, please note your file server(s) serial number, and 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.


    Payments

    Address for correspondence
    A.N.D. Technologies
    P.O. Box 64811
    Los Angeles, CA 90064 USA

    Phone/Fax:
    (213) 782-6923

    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.


    Distribution

    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 4.11B would be distributed in the file PCNT411B.ZIP.


    How to find the latest version of PCOUNTER

    A.N.D. Technologies WWW site
    A.N.D. FTP site
    University of Liverpool, UK
    Lincoln University, New Zealand

    PCOUNTER - Copyright (c) 1992-6 A.N.D. Technologies


    Acknowledgements

    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.


    Other software by A.N.D. Technologies

    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.