You might think that we live in a world of standards and that any printer would be able to work out of the box with any server. Well sadly, you would be wrong. Whilst this would be the easiest thing in the world to achieve, the one thing that is consistent about all the worlds printer manufacturer’s is their inconsistency.
In fact, this is still one of the most common questions that comes into our support desk and a really big source of frustration for many end users.
Now the good news is that in most cases you just need to issue one IBM i command to create the new printer device and even better, typically you only need to know four things:
- The name of the new printer (e.g. PRT01)
- The TCP/IP of the new printer (e.g. 10.1.1.10)
- The system driver program (e.g. *IBMSNMPDRV)
- The manufacturer type and model (e.g. *LEXOPTRAT)
Now the first two of these should be easy, as you literally assign them to suit your needs. It is the last two that cause all the pain, frustration and all too often many pages of wasted paper.
Fear not IBM Support have created a guide
Those lovely people at IBM Rochester Support have come to the rescue, they have created a really useful website that walks you through the process from beginning to end.
It has helpful videos and sample commands to use with a matrix of literally thousands of printers from dozens of vendors.
How does it work?
Well let’s pretend that we want to set up a new printer on an IBM i and that it is an Epson Workforce Pro WF-C5290.
You start by going to the main website which lists all the printer manufacturers. https://www.ibm.com/support/pages/information-printers-various-manufacturers
Then select the manufacturer that you are looking for, so in this case Epson.
Them find the printer model you are after, in this case the Worksforce Pro WF-C5290.
Calculating the System driver program (SYSDRVPGM) parameter
Now I know there are a lot of columns on the top right, the IBM page explains them in great detail but let’s keep it simple here, the more Y’s you see the more supported options you have. These columns help you choose the communication protocol that you are going to use. IBM gives you six options for this but you will typically only ever use three. This selection is what you specify in the System driver program (SYSDRVPGM) parameter.
PropTip: For a typical printer, I find the SNMP protocol the best solution but the PJL one is not far behind. So, we will be using SYSDRVPGM(*IBMSNMPDRV).
Calculating the Manufacturer type and model (MFRTYPMDL) parameter
Now we know which communication protocol we are going to use we just need to select the best emulation for the job. This is done by an IBM i function called Host Print Transform (HPT) and to aid in this IBM has created over 300 emulations to choose from.
You specify these in the “Manufacturer type and model” (MFRTYPMDL).
Creating your printer device description
Assuming you know have worked out the name you would like to call your printer and the TCP/IP address (or DNS Name) that describes its location on the network, then we have everything we need to create our printer. For this example, we are creating a printer called FREDP1 with an address of 10.1.1.10
IBM gives plenty of example commands for creating these printers and you just have to slot in the parameters that we have just worked out. So, in our case, the finished command would be:
CRTDEVPRT DEVD(FREDP1) DEVCLS(*LAN) TYPE(3812) MODEL(1) LANATTACH(*IP) PORT(9100)
ONLINE(*YES) FONT(11) FORMFEED(*AUTOCUT) PRTERRMSG(*INFO) INACTTMR(*SEC15)
TRANSFORM(*YES) MFRTYPMDL(*LEXOPTRAT) RMTLOCNAME(‘10.1.1.10’) SYSDRVPGM(*IBMSNMPDRV)
The IBM support page gives you the above command and we just needed to fill in the four parameters that I have highlighted in yellow and two of these (Name and TCP/IP address) are things you would know.
ProTip: If you find you need to set extra information like Drawer Numbers, Paper Sizes, Alternate Fonts, even whether to staple the printout, then once you have got this part working, check out Workstation Customisation Objects.
i-UG is back with a meeting in person!
We will be at the Union Jack Club in London on Thursday 10th March 2022. We hope to see you there. For more details go to www.i-ug.co.uk