Why is there a need for installing the UNIX-alike LPD service, port 515 listener, on your Windows system:
Because SAP uses communication method L (U is preferred) or Unix system prints using LP to the windows queue.
A system uses the LPR/LPD protocol and you want to capture the printer data stream for further ELP processing.
If, for any reason, you do not want to use "Point and Print" from a Windows Client to the Print Server you can install the Windows Queue incl. the PCL5 printer driver locally on the Client and send the job via "Standard TCP/IP Port" using the LPR protocol to the Windows Print Server. Once only Clients like SAP (e.g. U connection method) and Windows with local installed PCL5 drivers use a central W-ELP installation then we recommend to use the Microsoft supplied printer driver "Generic / Text only" which is included in Windows as a standard on the W-ELP Server.
- There can be only one 515 port listener active on the receiving Windows system. This means that the LPD Service from Microsoft cannot co-exist with another service listening on TCP/IP port 515 like SAPSprint. You can test if port 515 is not already occupied by invoking this test from the command line (telnet as as feature needs to be installed): telnet 127.0.0.1 515
If a connection could not be established then you can be sure that no other LPD is is running and it should be safe to install the LPD provided by Windows.
- Dont' forget to have the Windows firewall opened for an incoming TCP connection on port 515.
Note: If you need to capture Print jobs using via standard TCP/IP raw (e.g. port 9100) just continue to read here: Get IP Jobs Register Tab
Install the LPD Service from Microsoft Windows:
Just add the role "LPD Service" (here a screenshot of Windows Server 2019). For testing purpose you can either install the LPR port monitor as well or use the W-ELP supplied lprU command line utility. Then open the services menu (c:\Windows\System32\CompMgmtLauncher.exe) and check if the LPD Print services is started.
Once the LPD Service has been added you will find this service in the Windows Services:
A simple test:
Open the windows print queue which needs to receive the LPD jobs and usually where where ELP is activated. Set it temporarily to hold and enter a release (share) name if not jet done.
Open a command prompt (usually search in the start menu for CMD and press enter or click in the start menu on the option RUN... and enter CMD and press enter.
Type in lpr and press enter. If the tool is there you will get the command line help. Otherwise you might want to use lprU supplied with W-ELP:
lpr -S Server -P Printqueue AnyFileFoundInDirectory
c:\ProgramFile (x86)\WELP\lprU -S Server -P Printqueue -U Username AnyFileFoundInDirectory
The "Job" arrives not in the held queue, where it needs to be erased, as it is certainly NOT a print job.
To be sure that the security settings of the print server are not working against you, walk to any other PC and send again any file, using the same command. This time replace 127.0.0.1 (localhost) with the correct IP Address for the print server. As the Microsoft LPD cannot handle IPv6 please make sure that you use IPv4 all the time, especially when using DNS/Hostname resolution.
If you only need to receive a job from UNIX/Linux (version 1. and 2. above), then tell now the other side the IP Address of your sever and the share name of the queue, And this is it.
Sending a job from Windows queue A to B. (case 3 from above)
Install now the new queue with the manufacturer driver. You may direct select the LPR Port protocol, enter the IP of your PC/Print Server (IPCONFIG) or if the queues are on the same server use the local IP (not 127.0.0.1 as this might not work all the time). As the queue name please enter the share name of the queue above:
Once a job form the new queue is printed, it should arrive in the second ELP activated queue. You might want to try it with a Windows test page.
Note: The Microsoft LPD service adds the sending IP-Address to the job owner of the data stream (User name) as a suffix in brackets. This will lead into the fact that our ELP (CONVERT) will get this as well. You can have that removed by launching the registry editor and navigate to Local Machine - Software - Wow6432Node - welp - welpprint. Then change the key RemoveHostAddress and set it TRUE
Finally: In order to release the jobs switch off the job holding.