LANprint
User Manual


Previous Contents Index

3.6.5 Using Multiple MS-DOS NetBIOS Stacks

If you wish to use LANprint/PC to gateway to another NetBIOS-based network, and which therefore needs its own NetBIOS loaded in the gateway PC, it is possible that there will be a conflict over LAN Adapter Numbers. Each NetBIOS stack is identified with a LAN Adapter Number; no two NetBIOSs can have the same number. The default LAN Adapter Number for most NetBIOSs is zero. This conflict can be resolved by loading either NetBIOS with a non-zero NetBIOS LAN Adapter Number. There is often a restriction on network redirectors such that they will only operate over NetBIOS zero. LANprint/PC helps to alleviate this restriction by supporting non-zero NetBIOS adapter numbers (the -A:LANA_Num command option). It is usually possible to load a LANprint-compatible NetBIOS as, e.g., adapter 1, and to have LANprint/PC use that for its connection to the LANprint Symbiont on VMS. If it is not possible to use DECnet for the host to access the gateway PC, the LANlink packages offer alternatives for connection.

You can edit the LANPRINT command in STARTPRT.BAT to append the -A:1 option, for instance, to cause it to use NetBIOS adapter 1 rather than 0. The LANlink NetBIOSs allow you to specify a LAN Adapter Number from 0 to 9, so there is scope for running many independent NetBIOSs in the same machine. Many other MS-DOS NetBIOS implementations do not allow as much flexibility.

You should always load NetBIOS 0 before loading any higher-numbered NetBIOS stacks.

The LANlink package includes further documentation on running in multiple stack environments, including when sharing the same network card.

3.7 Security Considerations

LANprint sends print data across the network without encryption (unless that is provided transparently by the underlying network transport). The same security considerations should therefore be applied to LANprint as to any networked printing facility.

3.8 Upgrading the Evaluation Kit

LANprint is supplied as an Evaluation Kit which will expire on a particular date. Once the package has expired, the LANprint Symbiont and utilities will report that the evaluation period has expired, and will exit. If the Symbiont is active at the time of expiry, it will continue operation until all LANprint queues are stopped, at which time it will exit. After expiry, the Symbiont will fail to start.

To prevent the package from expiring, or to restore functionality after expiry, it is necessary to obtain a Product Licence Key from your supplier.

In order to provide you with a new Key, you must provide your supplier with the following information:-

The product name is LANprint.

Your supplier will return you a Product Licence Key. This is a text string that looks like this:-


    0100-1A3E-289A-3372-NO-EXP-DATE 

often with a licensee name such as:-


    Acme Industries, Inc. 

This Key is applied using VIALICENCE.COM , as follows:-

  1. Login as user SYSTEM
  2. Set your default directory to the VIA root area.


    $ set default viaroot:[via]
    

  3. Run VIALICENCE.COM.


    $ @vialicence
    

    This command procedure will present options to report the Installation Code & Serial Number, Apply a new Key to a Product, Change the Licensed Node Name, or Exit. Follow the prompts to Apply the new Key to LANprint. VIALICENCE will prompt if it is OK to execute the VIALPPSHUTDOWN procedure to shutdown an active LANprint package. The keying process will be aborted if you refuse a shutdown at this time. It is not harmful to shutdown the package when it is not running. (See Section 3.11 for further details on LANprint shutdown.)
    When you are prompted for the new key, you must enter it exactly as specified by your supplier. If the key includes a licensee name (which it will if it's an indefinite or Short Term key), you must enter that as well in response to the prompt that follows that for the basic key itself. Be careful about the use of spaces and punctuation characters in the licensee name - all characters are significant (although upper or lower case does not matter). You should enter the licensee name exactly as shown on your key document.

Packages & Tapes that have Already Expired

It is possible to perform the above sequence after the package has expired. Indeed, it is possible to install the package after its expiry date, although in this case the package will not operate until it is keyed by following the above procedure.

Extension Keys

Your supplier is able to extend the evaluation period by giving you an extension key, rather than providing an indefinite key. The procedure for obtaining and applying an extension key is exactly the same as that for an indefinite key. Extensions to evaluation periods should not normally be required and are issued subject to the discretion of your supplier and Vector Networks.

Short Term Keys

Some customers might prefer to use the package on a lease, or rental basis, where the product has full functionality for a restricted period. This can be helpful when there is only a short term need for the package, but is more expensive in the long term. Your supplier can provide further details.

3.9 Installing a Package Update

If you already have a previous version of LANprint, you can update it to an Evaluation Kit for a new release of the package. The installation procedure will purge most of the earlier LANprint files. If the previous version had already been keyed for indefinite use, you should ensure that you have a backup copy. This will allow you to revert to using the previous version after the evaluation period has expired on the new version, should you wish.

Caution

A Key that was valid for a previous version will not always be valid for a new version.

Customers who receive the new release under the terms of a maintenance contract will normally receive a new Key with the Update Kit.

You should follow the instructions in this chapter for installing a package update as if you were doing an initial installation. You should be sure to install to the same area as the previous version. An update installation will not purge files that you are encouraged to edit, e.g. VIALPPDATABASE.DAT.

3.10 Stopping LANprint Queues

A LANprint queue can be stopped, either permanently or temporarily, using the DCL STOP/QUEUE queue_name command, and the queue itself can be deleted using the DCL DELETE/QUEUE queue_name command.

For example:-


$ stop/queue/next queue_name
$ delete/queue queue_name

Note

Deleting a print queue will also delete any print jobs that may be in the queue. It is normally sufficient to stop the queue using the DCL STOP/QUEUE/NEXT command. The queue can then be re-started without loss of print jobs.

If it is necessary to stop printing immediately, you should use the DCL STOP/QUEUE/ABORT or STOP/QUEUE/RESET command. STOP/QUEUE/ABORT will abort a single print job and allow printing to progress to the next job in the queue, if any. STOP/QUEUE/RESET abruptly stops the queue, aborting any current job, and leaves the queue in a stopped state.

3.11 Package Shutdown

The System Shutdown procedure will normally stop the Queue Manager. It is not normally necessary to perform any more operations to stop LANprint Print Symbiont processes. However, if a complete LANprint Symbiont shutdown is required, a template command procedure, VIALPPSHUTDOWN.COM, is supplied to perform this operation. This file will require editing to identify the queues in use, similar to VIALPPSTARTUP.COM. Once this has been done, using the comments in the file for guidance, the LANprint Symbiont can be shutdown by logging into the SYSTEM account and issuing the following command:-


$ @sys$common:[via]vialppshutdown

This uses STOP/QUEUE/NEXT commands to initiate an orderly shutdown for each LANprint queue, deassigns logical names, and unspools all transparently spooled devices.

Note

Any currently spooling print jobs will continue unaffected; the queue(s) will stop before starting the next print job (if any);

VIALPPSHUTDOWN.COM does not wait for the queues to actually stop, it simply requests that they should stop after any current print job.

3.12 Package Removal

If it becomes necessary to remove the entire package (rather than just the Symbiont) from the system this can only be done by rebooting since this package includes a device driver (NPDRIVER, used for transparent spooling), and VMS does not support the removal or unloading of device drivers. Naturally if the package is loaded automatically as a part of system startup, this must be disabled. If automatic start-up has been implemented by the insert suggested for the system startup procedure, this can be disabled temporarily by renaming SYS$COMMON:[VIA]VIALPPSTARTUP.COM (all versions if necessary).

A command procedure is supplied which will delete selected VIA products, or all VIA products, from the host system.

For further instructions, please refer to Appendix A.


Chapter 4
The Printer Database

In order to access a remote printer resource, the Print Symbiont must know the remote server's NetBIOS name, the name of the shared printer resource, and also any password that may be required to access that resource. This information is contained in the Printer Database file.

This information is provided via the template file, LPPDATABASE.DAT. This file is user-editable, and contains commands to define the information for each print resource. The Database itself is built by the Database builder program, LPPDATABASE.EXE, which reads the template file, parses the commands contained in it, and creates the Database as an indexed file with the device_name field (see below) as the primary key. This program should be run before any queues that use the LANprint Symbiont process are started.

If the Database is modified during Symbiont operation, the changes will not take effect unless the queue(s) concerned are stopped and re-started. If the file is updated at the same time as a queue is started, then file access interlocks may cause the queue start-up to fail.

4.1 Database Template File Syntax

The format of the template file follows VMS command conventions. Each print resource is defined by a 'device' command, followed by a number of required or optional parameters and qualifiers:-


device device_name /qualifier=value[[/qualifier=value]...]

Qualifiers should be preceded by a slash character '/', and followed by an equals sign '=', and the desired value for that parameter. Qualifier parameters are terminated by space or tab characters, or a new line in the template file.

Command lines may be split over several text lines by appending a '-' to each preceding line. Comments are delimited by an exclamation mark '!' character. Dollar signs are not required, and should not be used.

Except where they are protected by "double quotes", all items are automatically converted from lower case into UPPER CASE.

As the Printer Database is created using data from the template file, it is recommended that none of the commands or qualifiers are abbreviated.

For example, a typical Database Template File entry would be as follows:-


! 
!  Define a queue to go to \\PC1\PRINT 
! 
device pc1_print    /server=pc1        - ! Server machine name 
                    /resource=print    - ! Print resource name 
                    /password=secret   - ! Password 
                    /rx_tmo=0          - ! Disable NetBIOS 
                    /tx_tmo=0          - !    timeouts 
                    /characteristics=9 - ! Lowercase, server 
                    /retry_timer=5     - ! 5 minute retries 
                    /operator=3          ! Central + Print ops. 

Here, a print queue which is started on 'device' pc1_print is directed to printer resource PRINT on network node PC1. This resource is protected by the password SECRET. The /rx_tmo and /tx_tmo fields disable low-level NetBIOS timeouts, and the characteristics field tells VMS that the printer can print lowercase characters. The /retry_timer field allows the Symbiont to delay and retry to recover from some errors. The /operator field controls the class of operator that status messages are sent to. All other variables for this device are set to their default values.

There is no limit on the number of entries that can be defined in the file, but the NetBIOS configuration will limit the number of print queues that can be active (i.e. printing) simultaneously.

4.2 Print Queue Device Command

Each remote printer requires a device entry to be defined. Each entry is of the form:- devicedevice_name

The device_name parameter provides the name for the DCL INITIALIZE/QUEUE/ON=device_name command. Each entry must have a unique device_name, which can be up to 32 characters long and should not contain any embedded space or tab characters. When processed, it will be space-filled to a length of 32 characters. The resulting value is used as the primary key for the Database file.

There is no default device name. This is a required command.

The named device does not have to exist. It is simply a name associated with the print queue. Each device command should be followed by qualifiers chosen from those described below.

4.2.1 Device Command Qualifiers

Configuration information for each defined device is provided by qualifiers appended to the device command.

The following qualifiers are required for each device command:-


/server=name           ! Remote Server NetBIOS name   (15 chars max) 
/resource=name         ! Remote printer resource name (16 chars max) 

The following qualifiers are optional:-


/password=password    ! Remote access password       (16 chars max) 
/lan_name=value       ! NetBIOS adapter name string  (32 chars max) 
/rx_tmo=integer       ! NetBIOS receive  timeout     (0.5 sec units) 
/tx_tmo=integer       ! NetBIOS transmit timeout     (0.5 sec units) 
/characteristics=value! Printer characteristics      (0, 1, 8 or 9) 
 
/retry_timer=value    ! Error retry timer            (minutes) 
/hold_on_timer=value  ! Job to job hold-on timer     (minutes) 
/flow_timer=value     ! File to file delay timer     (minutes) 
/operator=value       ! Class of Operator            (0 to disable) 
 
/debug=value          ! Controls debug output        (0 to disable) 

These qualifiers and parameters are described below.

4.2.2 Debug Qualifier

Syntax: /debug=integer

This qualifier is used to control the debug reports that can be obtained from the LANprint Symbiont. This value should contain a suitable combination of the values shown in Table 4-1.

Table 4-1 Print Symbiont Debug Levels
Value Meaning
0 Debugging disabled
1 Print Queue Start, Stop, and error handling
2 Symbiont / Server session call / hangup operations
4 SMB protocol
8 SMB messages
16 Print File open / start / end / close operations
32 Retry, Flow, Hold-On timer usage
64 NetBIOS operations

The debug mask operates on an individual print queue. When the queue is started the Symbiont attempts to open logical device LPP_DEBUG_DEVICE: for append. This logical name must be defined in the SYSTEM or GROUP [1] logical name tables. If the open is successful, all debug messages will be output to that file or device.

The file is closed when the queue is stopped. If a terminal device is used, it should ideally be set to 132-column width, as many of the messages are more than 80 characters long. If a terminal or a printer is used, then the Symbiont will be slowed slightly by the debug output. Beware that an X-OFF could cause the Symbiont to stop executing. If a disk file is used, then the logical name should be changed after each queue is started, to specify a different file for each print queue.

The print symbiont process is identified in the debug output by its process name. This is followed followed by the queue stream number, (from 1 to 16), and the debug message.

For example:-


SYMBIONT_1  - Print Stream 1 - Starting on device VAX_PRINT 

Stream numbers are assigned on a first-come first-served basis from the pool of available streams.

4.2.3 Flow Timer Qualifier

Syntax: /flow_timer=integer

This qualifier provides a value which is used to force a delay between successive files in a print job. The value provided is in units of 1 minute. If a print queue is directed to a slow printer, this can help to control the flow of data. The default value is 0, meaning that the Symbiont will not delay between files.

Note

This delay is not active between jobs.


Previous Next Contents Index