As IBM’s midrange server line has progressed from the S/3X servers of the 1970s and 1980s to the AS/400 and iSeries 400 servers of today, it has seen significant changes in its printing protocols. Originally, IBM midrange servers supported only the protocols defined in the SNA WAN protocol suite. The tools available for server printing were always tied into the IBM midrange operating system capabilities and the SNA protocols that were used to manage the network. Over time, the TCP/IP protocol suite was added to OS/400. On today’s iSeries 400 servers, TCP/IP is the standard protocol for managing network operations, including printing, and SNA is rapidly becoming a protocol that is primarily used for backward-compatibility purposes.
The change in the OS/400-supported network protocols has had a dramatic effect on the printing options available within OS/400 itself. How dramatic? Figure 1 provides a sampling of the many different OS/400 TCP/IP-based printing choices that are currently available. Among these choices, IBM offers printing support using the Simple Network Management Protocol (SNMP) which allows you to configure a true printer definition for your iSeries and AS/400 networked printers, so that you can use the industry-standard SNMP protocol to monitor and control your printer network through OS/400. Is this article, I’ll look at the steps you need to take to enable SNMP on your AS/400 and iSeries systems and to set up your OS/400 printer device description as SNMP devices.
What Is SNMP and How Does It Support OS/400 Printing?
SNMP describes a framework for managing network events with intelligent processes known as agents. The agents gather network information as necessary, allowing SNMP- based management applications to obtain useful current information about network events that may need management intervention. Conceptually, SNMP is the computer network equivalent of traffic laws for automobile drivers: SNMP provides the framework and rules that network software applications use to contact network devices in order to obtain information about their capabilities and current status.
The information regarding a network item that an SNMP-compliant application can monitor is typically stored in a database format known as a management information base (MIB). The Internet Engineering Task Force’s Internet request for comments (RFC) document 1759 describes the option to use SNMP for print device management. The type of MIB that must be available for a printer-monitoring SNMP application to contact is described in a second document—RFC 1514, Host Resource Management Information Base. Together, these RFCs outline the structural framework for building an SNMP application to monitor the operation of network-attached printers. Both documents are available for viewing on the IETF RFC Web site at www.ietf.org/rfc.html.
With V4R5, IBM added SNMP-based printing capability to OS/400. It also made this functionality available, via PTF, to users running OS/400 V4R4 and V4R3. You can find the latest PTFs for SNMP printing at the iSeries and AS/400 Technical Support Web site at www.as400service.ibm.com. From this Web site’s main page, click on the Technical Information and Databases selection. Next, choose Software Knowledge Base, followed by the Print option. On the Support Line Knowledge Base Print screen that appears, select the Collapse option to see all of the main categories of the Print section. Next, click on the PTF selection, then open the General selection sub-category. A series of document titles will be displayed. Choose the document V4RxMx PTF Listing for TCP/LAN Printing. If this document is listed more than once, make sure that you use the version with the most current date. In the document, you will find an entry with the heading V4RxMx SNMP print driver Fixes for OS/400—Current as of mm/dd/yyyy. The PTF listed under each of the supported operating system levels will list all of the co- requisite PTFs in its cover letter; you must apply the designated PTFs and all co-requisite PTFs to make the SNMP print driver support active on your system.
While you are visiting the iSeries and AS/400 Technical Support Web site, you can also view the documents that describe the proper method for configuring a 3812 SNMP device description for your external printers within OS/400 (all SNMP devices in an OS/400 network must be configured as 3812 devices). To do this, return to the Print section of the Software Knowledge Base and click on the Collapse selection again. Then open the Network Attached Printers selection, followed by the *LAN 3812 SNMP Device Descriptions selection, which is located under Network Attached Printers. Here you will find the following three articles that can help you with your OS/400 SNMP configuration.
IBM Document Number 19932815—Configuring a *LAN 3812 SNMP Device Description
This IBM document is broken into a series of categories that outline some of the OS/400 and network requirements for operating the SNMP driver program on the IBM host, including:
• Hardware Requirements for *LAN 3812 SNMP Device Descriptions—This section outlines the SNMP requirements for the network attachment method used by the printer. You can use internal printer interfaces (e.g., HP JetDirect Cards) as well as external print servers with the OS/400 SNMP driver. The minimum hardware requirements are a TCP port to communicate via SNMP and a MIB community name of public.
• Required PTF Levels—The PTFs are listed in the Web document V4RxMx PTF Listing for TCP/LAN Printing.
• Configuration Instructions—This section describes the settings for the most important parameters in the Create Device Printer (CRTDEVPRT) OS/400 command that you use to build an SNMP-capable *LAN printer device on your server.
• Configuration Example—This is a screen shot of the CRT-DEVPRT command with all SNMP-appropriate values entered.
• Problem Areas for Consideration—This section describes what to do when a spool file is hung up in the OS/400 output queue and it is not printed.
• Configuring the Printer and Print Server Hardware—This section points you toward a different Web document, which I will also describe in this article.
IBM Document Number 19935220—Configuration Settings and Error Messages for *LAN 3812 SNMP Device Descriptions
This document outlines the timeout settings in the printer, in the printer’s network adapter and various print servers, and inside the OS/400 printer device descriptions. These timeout values can affect the proper operation of the OS/400 SNMP print driver. This document also covers many of the OS/400 SNMP driver error messages that might be displayed and explains the typical cause and suggested resolution for each error. In addition, this document also discusses how to modify the OS/400 TCP Keep Alive value to prevent printer timeouts from occurring when the printer’s input buffer is full.
IBM Document Number 19934440 — Recommended Port Number Values for *LAN 3812 SNMP Device Descriptions
This document lists the SNMP-supporting TCP port numbers for a wide variety of internal and external network adapters for printers. It also includes a hot link to IBM Web document 17690939, “Support for Various Printers in Host Print Transform (HPT), PC5250, and So On,” which lists many different printer manufacturers and some of the printers that they offer. Document 17690939 also lists the OS/400 Host Print Transform and PC5250 print drivers that you should select for all the printer models included in the printer chart. The document indicates whether you can set up the printer to work with an OS/400 remote output queue, with a *LAN device using the PJL driver, or with a *LAN device using the SNMP driver.
Closed-source Printer Drivers In an Open World
IBM has created both the OS/400 PJL and SNMP print drivers as closed-source drivers. This means there is no function equivalent to the OS/400 Workstation Customization Object procedure for changing or editing the operation of these drivers.
You may encounter an unexpected printing situation when using either of these closed-source OS/400 printer drivers. For now, working with IBM OS/400 support is your only option for reporting the problem and moving toward a solution. However, now that IBM is beginning to support the Linux operating system as a companion system inside an iSeries box, it is quite possible that these drivers will become open source (e.g., available for customization to meet customer-specific environmental requirements) in the future.
Building an SNMP-enabled 3812 Printer Device
Not surprisingly, the command to build an SNMP-enabled device description within OS/400 is still the Create Device Description (Printer) (CRTDEVPRT) command. After typing this command on a command line, press F4 to prompt the command and access the first configuration screen, although your screens may be slightly different depending on what version of OS/400 you are using). Figure 2 displays the screen where you will be prompted to enter some basic information about the printer you are creating, including a device name (your choice), device class (*LAN), device type (3812), device model (1), and a LAN attachment method of *IP. You can then follow the detailed configuration instructions from IBM document 19932815 that I mentioned in this article.
However, there are some important parameters in the OS/400 device description that could have a significant impact on the proper operation of the SNMP print driver. In particular, you should be aware of the following pitfalls as you are configuring your SNMP device descriptions:
• Port number (PORT)—This parameter, as seen in Figure 2, specifies the TCP port number in the target print device where OS/400 will direct all SNMP queries. If you enter an incorrect value in this parameter, the server will not be able to send spool files to the target printer. If set incorrectly, you will most likely see the message CPD337F—Remote
device rejected an attempt by the writer to open a connection when you attempt to start the writer.
• Activation timer (ACTTMR)—Figure 3 displays the second CRTDEVPRT command screen where the activation and inactivity timer values are specified. The timer sets the amount of time the server will wait for a response from the target printer after you’ve started the writer. If the timer expires and the printer hasn’t responded, the CPD337F message will be generated. The typical recovery steps are to verify that the network connection between the host and the printer is active by either using the OS/400 Verify TCP Connection (VFYTCPCNN or PING) commands. You may find that the printer was just momentarily busy during the first attempt to start the OS/400 print writer. You can then make a second attempt to establish a connection with the printer. If you cannot make a connection to the printer, examine the physical network connectivity and the default route information in the OS/400 TCP/IP configuration to locate the cause of the problem. Also check the printer device description itself for incorrect information.
• Inactivity timer (INACTTMR)—This host-based timer determines how long the server should wait before it releases the printer connection when the print queue servicing the *LAN printer has no files waiting in READY status to print. When more files arrive in the queue (assuming the OS/400 print writer is still started), the server will automatically contact the printer to re-establish a connection to print the new material. The supported values for the Inactivity timer are *SEC15, *SEC30, 1 to 30 minutes, *ATTACH, and *NOMAX, with the *SEC15 and *SEC30 values referring to 15 and 30 seconds, respectively. When you choose *NOMAX, the network connection with the printer remains open until the OS/400 print writer is ended. This condition prevents other hosts from using the printer. IBM recommends that you do not select the *NOMAX value, because it can cause problems with the operation of the writer on the server. The default for this parameter is *ATTACH. This selection allows the iSeries 400 server to select a timer value from a table that is tied to the network connectivity outlined in the device description. If you want to select a particular timing value that you believe will work well in your environment, you must change the value from *ATTACH to a number of minutes or to one of the two values that sets a number of seconds.
• Host print transform (TRANSFORM)—This parameter must be set to *YES when you use the OS/400 SNMP driver. By selecting *YES for Host print transform, you also have to enter a value into the Manufacturer type and model parameter. You can display a list of available print drivers for this parameter on the screen by placing the cursor in this field and then pressing the F4 prompt key. It is possible to use any of the pre-defined Host Print Transform print drivers or a Workstation Customization Object with the OS/400-based SNMP print driver. There is one potential limitation that could be encountered when using a Workstation Customization Object: the OS/400 SNMP driver program would be unable to ask the target printer about a special feature that was being enabled via the Workstation Customization Object.
• Remote location (RMTLOCNAME)—Figure 4 displays the parameter where you enter the IP address of the target printer or the host name for the printer that has been defined in OS/400’s TCP/IP host table entries, which is accessed and maintained by selecting option 10 from the Configure TCP/IP (CFGTCP) command.
• System driver program (SYSDRVPGM)—You must specify *IBMSNMPDRV in this parameter to activate the OS/400 SNMP print driver.
In general, you should set all other parameters to IBM specifications.
The Benefits Of the OS/400 SNMP Driver
The SNMP driver offers users the option to configure a true printer definition on their iSeries 400 or AS/400 host using an industry-standard printer management protocol. As compared to the OS/400 PJL driver, which is primarily limited to laser printers, the SNMP driver works with most printer technologies. It is quite likely that continued improvements and refinements in the SNMP printer management RFC 1759 will make the OS/400 SNMP driver a favorite of the user community for many years to come.
References and Related Materials
An Introduction to AS/400 SNMP Support, Redbook (SG24-4504-01), IBM Redbook Web site: www.redbooks.ibm.com
IBM AS/400 Printing V, Redbook (SG24-2160-01), IBM Redbook Web site: www.redbooks.ibm.com
IBM iSeries and AS/400 Technical Support Web site: www. as400service.ibm.com (This site contains all IBM documents for SNMP printing referenced.)
The Printer Working Group Web site: www.pwg.org (This site contains information on the Internet Draft to update RFC 1759.)
OS/400 TCP/IP-based Printing Protocol Types of
Printers Supported (Impact, Laser, and Thermal)
OS/400 Host Print Transform Requirements Special Requirements Spool File Error Recovery to a Particular Page Number Support for Printing Multiple Copies of Spool Files Support for Printing Spool File Page Ranges
OS/400 Device Type
By default, it appears as a printer queue. A virtual printer can be linked to the queue when a printer device is necessary
*LAN Printer Laser Only HPT must be enabled
*LAN Printer All HPT must be enabled
All TN5250E can be used with or without HPT enabled
Line Printer Requester (LPR)
Simple Network Management Protocol (SNMP)
TN5250E *VRT Printer tied to the OS/400 Telnet server virtual controller All LPR can be used with or without HPT enabled You’ll need a Line Printer Daemon (LPD) to receive the job at the printer
You need a TCP Raw Socket to receive PJL commands at the printer
You need TCP Printing Support at the printer that includes a TCP Raw Socket to receive SNMP Requests and Support for (RFC) 1514, Host Resource Management Information Base.
Support for RFC 2877 TN5250E client functionality at the printer
This depends most heavily upon the receiving LPD service
This depends most heavily on the timer settings of the iSeries or AS/400 server
This depends most heavily on the timer settings of the iSeries or AS/400 server
This depends most heavily on the keep alive timers configured at the client
No It depends on the capability of the receiving LPD service: For streaming mode LPD, you need to specify the XAIX parameter in the destination options field of the Remote Output Queue configuration
Yes Yes Yes
Maybe Yes Yes
Yes Yes Yes
By default, no—You can add this function by using the OS/400 TSPRWPR Exit program, which can be found in the QUSRTOOL library
Figure 1: This table compares some of the many different OS/400-based TCP/IP printing choices available.
Figure 2: To create OS/400-based SNMP printer devices, you use the CRTDEVPRT command.
Figure 3: This is the second screen of the CRTDEVPRT command where the activation and inactivity timer values are specified, the Host Print Transform selection is enabled, and the manufacturer type and model of the target printer are specified.
Figure 4: This is the third screen of the CRTDEVPRT command where the Remote Location information (IP address or host name of target printer) and the SNMP driver are chosen.
MC Press Online