Introduction to Adding a Network Printer

A network printer is a hardware device that is directly connected to the network. This printer can be accessed from a print server without actually connecting the printer to the print server with a cable. The network printer has its own system name and IP address.

Caution

Configuring a network printer without utilizing queue configuration on a print server is an unsupported method that results in printer misconfiguration.

You can correctly configure a network printer with Solaris Print Manager by selecting the New Network Printer option. Or, you can correctly configure a network printer by using the lpadmin command. For more information on how to configure a network printer by using the lpadmin command, see How to Add a New Network Printer by Using LP Print Service Commands.

Note that you should not use the lpadmin p queue-name s printer-name command or the Add Access to Printer option of Solaris Print Manager to add a network printer. These methods should be used exclusively to point to an already existing queue on a remote print server.

The print server provides the following:

  • Queueing capabilities

  • Filtering

  • Printing administration for a network printer

Printing directly to a network printer results in a printer misconfiguration that is likely to cause a number of problems. Additionally, job options, such as copies, the use or disuse of burst page, and filtering, are lost.

Network printers might use one or more special protocols that require a vendor-supplied printing program. The procedures used to set up the vendor-supplied printing program can vary. If the printer does not come with vendor– supplied support, Solaris network printer support can be used with most devices. Use the printer vendor-supplied software, when possible.

The vendor might supply an SVR4 printer interface script to replace the standard printer interface script. If so, that SVR4 interface script calls the vendor-supplied printing program to send the job to the printer. If not, you need to modify the standard interface script to call the vendor-supplied printing program. To do so, edit the per-printer copy of the standard interface script to call the vendor-supplied printing program.

The following terms are used in network printer configuration:

Printer Vendor-Supplied Software for Network Printers

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, so that it can operate with the LP print service.

Sun Support for Network Printers

If the network printer vendor does not provide software support, 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 3, Setting Up Printers (Tasks). The following is a discussion of printer management when you use the Sun supplied software.

Invoking Network Printer Support

The software support for network printers is called through the network interface script netstandard. Configuring a network printer with this script causes the network printer support module to be called. Here is the command to configure the printer with the network support.

lpadmin -p printer-name -m netstandard 

Selecting the Print Protocol

The print subsystem uses the BSD print protocol and raw TCP to communicate with the printer. The printer vendor documentation provides information about which protocol to use. In general, the TCP protocol is more generic across printers.

Note

The Device URI protocol was introduced in the Solaris Express 2/05 release. This protocol enables remote printer access. You can specify a device-uri when adding a network printer by using the lpadmin command or from within Solaris Print Manager. For more information, see Device URI Protocol.

Type the following command to select the protocol:

lpadmin -p printer-name -o protocol=bsd

or

lpadmin -p printer-name -o protocol=tcp

If the protocol that is 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. Other printers expect the reverse. For this information, see the printer vendor documentation. The default is to send the control file first.

Type the following command to select the order:

lpadmin -p printer-name -o bsdctrl=first

or

lpadmin -p printer-name -o bsdctrl=last

Selecting the Printer Node Name

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

Selecting the Destination Name (Also Called the Network Printer Access Name)

The print subsystem requires access information for the printer. The subsystem uses the destination name when making the network connection to the printer. You supply this name to the print subsystem by using the lpadmin command. This name then 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 can find information about port designation in the printer documentation. Here is the format of printer access name:

printer-node-name [: port-designation ]

Example 3.4. Destination Name (or Network Printer Access Name) With Port Designation (Number)

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 the following command:

lpadmin -p printer_name -o dest=pn1:9100

Example 3.5. Destination Name (or Network Printer Access Name) With BSD Port Designation (Name)

When you use 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 the following command:

lpadmin -p printer-name -o dest=cardboard:xxx_parallel_1

Example 3.6. Destination Name (or Network Printer Access Name) With No Port Designation

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 the following command:

lpadmin -p printer-name -o dest=newspaper

Setting the Timeout Value

The timeout option allows the user to select 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. The value is a seed value that 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 message alerts the user that intervention might be required. The failure could be anything from the printer being turned off to the printer being out of paper. If these messages are produced too often, for example when the printer is warming up, increasing the timeout value will eliminate spurious messages.

You ncan experiment to find the optimal timeout value. Type the following command to set the timeout value:

lpadmin -p printer-name -o timeout=n

Managing Network Printer Access

Each network printer should have only one server that provides access to the printer. This restriction enables the server to manage access to the printer and keep jobs coherent.

The default device for the network printer is /dev/null. This device is sufficient when the printer has only one queue. If more queues are required, set the device to a file. This setting 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

How to Add a Network Printer by Using Printer Vendor-Supplied Tools

  1. Connect the printer to the network. 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 method is equivalent to adding any node to the network.

  2. Follow the printer vendor instructions to add the network printer.

    Use the printer vendor instructions to configure the network printer. These instructions are specific to the vendor and printer.

  3. Add client access to the new printer.

    Now that the printer has been added, create access to the printer for the print clients. For more information, see Setting Up a Print Client.

  4. Complete any optional tasks.

    There are several optional tasks that you might want to complete when setting up a network printer. For pointers to these tasks, see Setting Up Printing (Task Map).

How to Add a New Network Printer by Using Solaris Print Manager

The Use PPD files default option in Solaris Print Manage enables you to select the printer make, model, and driver when adding new printer. For more information on this feature, see Expanded Printer Support..

This procedure shows you how to add a new network printer by using Solaris Print Manager with the Use PPD files default option selected. To add a new network printer without PPD files, you must first deselect this option in the Print Manager drop-menu.

  1. Select the system to be the print server.

  2. Connect the printer to the network. Turn on the power to the printer.

    Consult the printer vendor's installation documentation for information about the hardware switches and cabling requirements.

  3. Start Solaris Print Manager on the print server.

    For instructions, see How to Start Solaris Print Manager.

  4. Select New Network Printer from the Printer menu.

    The New Network Printer window is displayed.

  5. Fill in the required fields with the appropriate information.

    If you need information to complete a field, click the Help button.

    For example, to add a new network printer with PPD files, provide the appropriate information in the following fields:

    Printer Name:
    Description:
    Printer Make:
    Printer Model:
    Printer Driver:
    Fault Notification:
    Destination:
    Protocol:
    Options:
    Default Printer
    Always Use Banner
    User Access List:

    The Printer Server field is filled in by Solaris Print Manager.

    To add a new network printer without PPD files, provide the appropriate information in the following fields:

    Printer Name:
    Description:
    Printer Type:
    File Contents:
    Fault Notification:
    destination:
    Protocol:
    Options:
    Default Printer
    Always Use Banner
    User Access List:

    The Printer Server field is filled in by Solaris Print Manager.

  6. Click OK.

  7. Verify that the printer has been installed. Check for the new printer entry in the Solaris Print Manager main window.

  8. Verify that the printer can print requests.

    $ lp -d printer-name filename
    
  9. Exit Solaris Print Manager.

    Choose Exit from the Print Manager Menu.

How to Add a New Network Printer by Using LP Print Service Commands

This procedure describes how to add a new network printer with the expanded printer support that is available in this release. There are two examples that follow this procedure. The first example shows you how to add a new network printer with PPD files by using lp commands. The second example shows you how to add a new network printer without PPD files by using lp commands.

The following steps are necessary to set up a network printer by using the network printer support software. The use of this software is intended for printers that do not come with vendor-supplied software.

For overview information about adding a new network printer or modifying an existing network printer with PPD files, see What's New in Printing?.

Note

In this release, you can use the lpadmin command with the v and m options to specify a device-uri. The Device URL protocol supports remote printer access. For more information and a list of the supported device-uri destinations, see Device URI Protocol.

  1. 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 step is equivalent to adding any node to the network.

  2. Collect the information that is required to configure a new network printer with PPD files.

    • Printer name and port device

    • Network printer access name

    • Protocol

    • Timeout

    • File content type

    • PPD file

    To determine the PPD file, first define the printer make, model, and driver that the printer will use.

    For more information, see the terms that are described in Introduction to Adding a Network Printer.

  3. Define the printer name, port device, file content type, and PPD file that the printer will use. When using PPD files, the file content type is usually PostScript.

    1. Specify the printer name and the port device that the printer will use.

      # lpadmin -p printer-name -v /dev/null
      

      The device to use is /dev/null.

      Note

      Starting with the Solaris Express 2/05 release, you can use the v option to specify a device-uri. The protocol enables you to access remote printers. For more information, see Device URI Protocol.

    2. Specify the interface script that the printer will use.

      # lpadmin -p printer-name -m netstandard_foomatic 

      The interface script that is supplied with the support software for network printer is /usr/lib/lp/model/netstandard_foomatic.

    3. Specify the file content type and PPD file that the printer will use.

      When using PPD files, the file content type is usually PostScript.

      # lpadmin -p printer-name -I content-type -n 
      /path/ppdfile
      

      The PPD file that you specify is located in the /path directory.

      For more information, see lpadmin ( 1M ) .

    4. Specify the printer description.

      # lpadmin -p printer-name -D  "printer-description"
      
  4. 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 the port 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.

  5. (Optional) 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
    
  6. Enable the printer to accept print requests and to print those requests.

    # accept printer-name
    # enable printer-name
    
  7. Verify that the printer is correctly configured.

    # lpstat -p printer-name
    
  8. 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. For information about how to define a print client by using a name service, see Printing Support in the Name Service Switch.

  9. Complete any optional tasks.

    There are several optional tasks that you might want to complete when setting up a printer. For pointers to the remaining tasks, see Setting Up Printing (Task Map). For information about how to define print clients by using the name service, see Printing Support in the Name Service Switch.

Example 3.7. Adding a New Network Printer With PPD Files by Using LP Print Service Commands

This example shows how to add a new network printer with PPD files. The n option to the lpadmin command enables you to add a new print queue by specifying PPD files. The commands used in this example must be executed on the print server. The following information is used as an example only. The information that you provide will vary.

  • Printer name : luna1

  • Device: /dev/null

  • Interface: /usr/lib/lp/model/netstandard_foomatic

  • Network printer access name: nimquat:9100

  • Protocol: tcp

  • Timeout: 5

  • File content type: postscript

  • PPD file: /path/ppdfile

    # lpadmin -p luna1 -v /dev/null (1)
    # lpadmin -p luna1 -m netstandard_foomatic (2)
    # lpadmin -p luna1 -o dest=nimquat:9100 -o protocol=tcp 
    -o timeout=5 (3)
    # lpadmin -p luna1 -I postscript (4)
    # lpadmin -p luna1 -n /path/ppdfile
     (5)
    # lpadmin -p luna1 -D "Second floor color printer"
    (6)
    # cd /etc/lp/fd
    # for filter
    in *.fd;do	
    	   > name =`basename $ filter .fd`	
    	   > lpfilter -f $ name -F $ filter	
    	   > done (7)
    # accept luna1
    	destination "luna1" now accepting requests
    # enable luna1 (8)
    printer "luna1" now enabled 
    # lpstat -p luna1 (9)
     printer luna1 is idle. enabled since Mon Apr 19 15:31:15 2004. available.
  1. Defines printer name and sets the device to /dev/null

  2. Defines the interface script for network printers

  3. Sets the destination, protocol, and timeout

  4. Specifies the file content types to which the printer can print to directly

  5. Specifies the PPD file to use

  6. Adds a description for the printer

  7. Adds print filters to the print server

  8. Accepts print requests for the printer and enables the printer

  9. Verifies that the printer is ready for printing

Example 3.8. Adding a New Network Printer Without PPD Files by Using LP Print Service Commands

This example shows how to add a new network printer without PPD files. The commands must be executed on the print server. The following information is used as an example. The information that you provide will vary.

  • Printer name: luna1

  • Device: /dev/null

  • Interface: /usr/lib/lp/model/netstandard

  • Network printer access name: nimquat:9100

  • Protocol: tcp

  • Timeout: 5

  • File content type: postscript

  • Printer type: PS

# 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)
# lpadmin -p luna1 -D "Room 1954 ps" (5)
# cd /etc/lp/fd
# for filter in *.fd;do	
	   > name =`basename $ filter .fd`	
	   > lpfilter -f $ name -F $ filter	
	   > done (6)
# accept luna1
	destination "luna1" now accepting requests
# enable luna1 (7)
printer "luna1" now enabled 
# lpstat -p luna1 (8)
printer luna1 is idle.enabled since Feb 28 11:21 2003.available.
  1. Defines printer name and sets the device to /dev/null

  2. Defines the interface script for network printers

  3. Sets the destination, protocol, and timeout

  4. Specifies the file content type to which the printer can print directly, and the printer type

  5. Adds a description for the printer

  6. Adds print filters to the print server

  7. Accepts print requests for the printer and enables the printer

  8. Verifies that the printer is ready for printing