A network printer is a hardware device this is directly connect to the network. This means it can be accessed from a print server without actually connecting it the print server with a cable. It has its own system name and IP address. Even though a network printer is not connected to a print server, it is necessary to set up a print server for it. The print server provides queuing capabilities, filtering, and printing administration for the network printer.
Network printers might use one or more special protocols that require a vendor-supplied printing program. The procedures to set up the vendor-supplied printing program can vary. If the printer does not come with vendor supplied support, the Solaris network printer support can be used with most devices. Use the print vendor supplied software when possible.
The vendor might supply an SVR4 printer interface script to replace the standard printer interface script. If so, their SVR4 interface script will call the vendor-supplied printing program to send the job to the printer. If not, you will need to modify the standard interface script to call the vendor-supplied printing program. You can do this by editing the per-printer copy of the standard interface script to call the vendor-supplied printing program.
The terms used in network printer configuration are:
Print server – The machine that spools and schedules the jobs for a printer. This is the machine on which the printer is configured.
Printer-host device – The printer-host device is the software and hardware supplied by a vendor that provides network printer support for a non-network capable printer. The combination of the printer-host device with one or more printers attached to it creates a network printer.
Printer node – This is either the physical printer or the printer-host device. It is the physical printer when the network support resides in the physical printer. It is the printer-host device when an external box is used to provide the network interface. The printer node name is the machine name given with the IP address. This name is selected by the system administrator and has no default or vendor requirement. The printer node name, as with all nodes, must be unique.
Printer name – The name entered on the command line when using any of the printer commands. It is selected by the system administrator at the time of printer configuration. Any one physical printer can have several printer or queue names; each provides access to the printer.
Destination or network printer access name – The internal name of the printer node port that is used by the printer subsystem to access the printer. It is the name of the printer node, or the name of the printer node with a printer vendor port designation. Any printer vendor port designation is explicitly defined in the printer vendor documentation. It is printer specific. In the case where the printer is a printer-host device and a printer, the port designation is documented in the printer-host device documentation. The format is:
printer_node_name
or
printer_node_name:port_designation
Protocol – The over-the-wire protocol used to communicate with the printer. The printer vendor documentation supplies the information regarding the protocol to select. The network printer support supplies both BSD Printer Protocol and raw TCP. Due to implementation variations, you might want to try both.
Timeout, or retry interval Timeout – Is a seed number representing the number of seconds to wait between attempting connections to the printer. This seed number is the smallest amount of time to wait between attempted connections, and increases with an increase in failed connections. After repeated failures to connect to the printer, a message is returned to the user requesting possible human intervention. Attempts to reconnect continue until successful or the job is cancelled by the job owner.
Network printers often have software support provided by the printer vendor. If your printer has printer vendor supplied software, use the printer vendor software when possible. The software is designed to support the attributes of the printer and can take full advantage of the printer capabilities. Read the printer vendor documentation to install and configure the printer under an LP print system.
If the network printer vendor does not provide software support, the Sun supplied software is available. The software provides generic support for network printers and is not capable of providing full access to all possible printer attributes.
A general discussion of how to add a network printer is provided in Chapter 4, Setting Up Printers (Tasks). The following is a discussion of printer management using the Sun supplied software.
The software support for network printers is called through the interface script. Configuring a network printer with the network interface script, netstandard, causes the network printer support module to be called. The command to configure the printer with the network support is as follows:
lpadmin -p printer_name -m netstandard |
The print subsystem uses BSD print protocol and raw TCP to communicate with the printer. The printer vendor documentation provides the information about which protocol to use. In general, we have found that the TCP protocol is more generic across printers.
The command to select the protocol is:
lpadmin -p printer_name -o protocol=bsd |
or
lpadmin -p printer_name -o protocol=tcp |
If the protocol selected is the BSD print protocol, you can further select the order of sending the control file to the printer. Some printers expect the control file, then the data file; others the reverse. For this information, see the printer vendor documentation. The default is to send the control file first.
The command to select the ordering is:
lpadmin -p printer_name -o bsdctrl=first |
or
lpadmin -p printer_name -o bsdctrl=last |
The system administrator selects the printer node name. This name must be unique, as with any node on the network. The printer node name is associated with the IP address of the printer.
The print subsystem requires access information for the printer. This is the name that the subsystem uses when making the network connection to the printer. This name is supplied by the system administrator to the print subsystem by using the lpadmin command. It becomes part of the printer configuration database. The printer access name is the name of the printer node, sometimes qualified by a port name. Port designation varies across printer vendors. You will find information about port designation in the documentation that is provided with the printer by the printer vendor. The format of printer access name is:
printer_node-name[:port_designation]
A common port designation with TCP is 9100. If the printer node name is pn1, and the printer vendor defines the port as 9100, then the printer access name is: pn1:9100. To configure a printer in this case use:
lpadmin -p printer_name -o dest=pn1:9100 |
When using the BSD protocol, the port designation might not be a number, but some name defined by the printer vendor, for example: xxx_parallel_1. If the printer node name is cardboard, then the printer access name is: cardboard:xxx_parallel_1. To configure a printer in this case use:
lpadmin -p printer_name -o dest=cardboard:xxx_parallel_1 |
If there is no port designation, and the printer node name is newspaper, the printer access name is the printer node name: newspaper. To configure a printer in this case use:
lpadmin -p printer_name -o dest=newspaper |
The timeout option is provided to allow for individual selection of the amount of time (in seconds) to wait between successive attempts to connect to the printer. Some printers have a long warm up time and a longer timeout value is advised. The default is 10 seconds.
The timeout value does not impact the success or failure of the print process. It is a seed value which the software uses as the initial timeout count. On repeated failures, this count is increased. A message is sent to the spooler when repeated attempts to connect to the printer fail. This alerts the user that intervention might be required. This could be anything from the printer being turned off, to out of paper. Should these messages be produced too often, for example when the printer is warming up, increasing the timeout value will eliminate spurious messages.
The system administrator can experiment to find the optimal timeout value. The command to set the timeout is:
lpadmin -p printer_name -o timeout=n |
Each network printer should have one and only one server that provides access to it. This enables the server to manage the access to the printer and keep jobs coherent.
The default device for the network printer is /dev/null. This is sufficient when there is only one queue for the printer. Should more queues be required, set the device to a file. This enables the print system to restrict access to the printer across queues. The following commands create a device file and configure it as the network printer device.
touch /path/filename chmod 600 /path/filename lpadmin -p printer_name -v /path/filename |
The following is an example of how to create a device file called devtreedown.
# touch /var/tmp/devtreedown # chmod 600 /var/tmp/devtreedown # lpadmin -p treedown -v /var/tmp/devtreedown |
Connect the printer to the network and turn on the power to the printer.
Consult the printer vendor's installation documentation for information about the hardware switches and cabling requirements. Get an IP address and select a name for the printer node. This is equivalent to adding any node to the network.
Follow the printer vendor instructions to add the network printer.
Use the printer vendor instructions to configure the network printer. These will be specific to the vendor and printer.
Add client access to the new printer.
Now that the printer has been added, create access to the printer for the clients. For more information, see Setting Up a Print Client.
Optional tasks to complete.
There are several optional tasks you might want to complete when setting up a network printer. For pointers to the remaining tasks, see Setting Up Printing (Task Map).
This procedure describes the steps necessary to setup a network printer using the network printer support software. The use of this software is intended for those printers that do not come with vendor supplied software.
Connect the printer to the network and turn on the power to the printer.
Consult the printer vendor's installation documentation for information about the hardware switches and cabling requirements. Get an IP address and select a name for the printer node. This is equivalent to adding any node to the network.
Collect the information required to configure a network printer.
Printer name
Printer server
Network printer access name
Protocol
Timeout
For more information, see the terms described in Adding a Network Printer.
Define the printer name, the device, the printer type and content type.
Define the printer name and the port device the printer will use.
# lpadmin -p printer-name -v /dev/null |
The device to use is /dev/null.
Identify the interface script the printer will use.
# lpadmin -p printer-name -m netstandard |
The interface script that is supplied with the network printer support software is /usr/lib/lp/model/netstandard.
Set the printer destination, protocol, and timeout values.
# lpadmin -p printer-name -o dest=access-name:port -o protocol=protocol -o timeout=value |
-p printer-name |
Specifies the network printer name. |
-o dest=access-name:port |
Sets the printer destination to the network printer access name and a designated printer vendor port, if it is defined in the printer vendor documentation. |
-o protocol=protocol |
Sets the over-the-wire protocol used to communicate with the printer. Both BSD and raw TCP are supported. |
-o timeout=value |
Sets a retry timeout value that represents a number of seconds to wait between attempting connections to the printer. |
Specify the file content types of the printer and the printer type.
# lpadmin -p printer-name -I content-type -T printer-type |
For more information, see lpadmin(1M).
Add filters to the print server.
# cd /etc/lp/fd # for filter in *.fd;do > name=`basename $filter .fd` > lpfilter -f $name -F $filter > done |
Enable the printer to accept printer requests and to print the requests.
# accept printer-name # enable printer-name |
Verify that the printer is correctly configured.
# lpstat -p printer-name |
Add client access to the new printer.
Now that the printer has been added, create access to the printer for the clients. For more information, see Setting Up a Print Client.
Optional tasks to complete.
There are several optional tasks you might want to complete when setting up a printer. For pointers to the remaining tasks, see Setting Up Printing (Task Map).
The commands in this example must be executed on the print server. The following information is used as an example. The information you provide will vary.
Printer name: luna1
Server: saturn
Network printer access name: nimquat:9100
Protocol: tcp
Timeout: 5
Interface: /usr/lib/lp/model/netstandard
Printer type: PS
Content types: postscript
Device: /dev/null
# lpadmin -p luna1 -v /dev/null 1 # lpadmin -p luna1 -m netstandard 2 # lpadmin -p luna1 -o dest=nimquat:9100 -o protocol=tcp -o timeout=5 3 # lpadmin -p luna1 -I postscript -T PS 4 # cd /etc/lp/fd # for filter in *.fd;do > name=`basename $filter .fd` > lpfilter -f $name -F $filter > done 5 # accept luna1 destination "luna1" now accepting requests # enable luna1 6 printer "luna1" now enabled # lpadmin -p luna1 -D "Room 1954 ps" 7 # lpstat -p luna1 8 printer luna1 is idle. enabled since Jul 12 11:17 2001. available. |
Defines printer name and sets the device to /dev/null.
Defines the interface script for network printers.
Sets the destination, protocol, and timeout.
Specifies the file content types to which the printer can print directly, and the printer type.
Adds print filters to the print server.
Accepts print requests for the printer and enables the printer.
Adds a description for the printer.
Verifies that the printer is ready.