Problem to print from AS/400 to PSM server
ITEM: RTA000155184
Q:
Topic thread:
Printer Systems (PRINT - NA/ATS)
Printing Systems Manager (PSM)
Hello,
I'm implementing a print server with PSF for AIX and PSM that will
receive print jobs from 2 AS/400's. What I did was the following:
1. On the RS/6000 I added the AS/400 on the /etc/hosts.lpd table.
2. On the AS/400 I added an out queue that points to the PSM server's
IP address and more specifically to the logical printer created with
PSM.
If I enqueue a print job on the AS/400 out queue the status of the job
remains in SND (sending to a remote system.
If I issue a LPR command from the same AS/400 it displays an error
message saying:
"Message: Remote host system rejected the open attempt.
Cause: This may have occurred because the remote host does not have
ports available for use or does not support TELNET.
Recovery: Try the request again or contact the system administrator."
The message really points to the remote system, in this case the
RS/6000, my question is, from the AIX standpoint, is there a way to get
information, a trace for example?
Could you please explain how the printing process works at TCP ports
level, in other words, I need to know how the psmd port gets involved
during the communication process.
The last thing I did was to test the same scenario from the other AS/400
and I got the same problem.
The first AS/400 is running OS/400 V3.7.0 and the second is running
version V4.2.0.
The RS/6000 has the following product versions:
PSF/6000 V2.1
PSM 1.2 both with the PTF's available by November 1998.
AIX/6000 Version 4.3.0
I'll appreciate your help to determine the reason for this problem.
Please let me know if you need more information.
Thanks in advance for the clarification.
Regards.
A:
Hello Rolando,
This sounds like it could be one of two things, either the lpd daemon
isn't running or there is not proper name resolution by LPD.
First insure the lpd subsystem is running:
lssrc -s lpd
If it is running, then check for name resolution to LPD.
The error sounds close to the error "your host does not have
line printer access". LPD is very finicky in how names get resolved.
If the name that you put into /etc/hosts.lpd does not match exactly,
even to the point of being fully qualified or not, it won't grant
access.
To test what the name is getting resolved to, issue the command:
host hostname where "hostname" is the hostname of the as/400.
This will return the hostname with the ipaddress. If the hostname that
is return is returned fully qualified (that is with the domain
on the name), then it needs to be fully qualified in /etc/hosts.lpd.
For example. I add the host "cougar" to /etc/hosts.lpd. When I try
to print, I get the error "your host does not have line printer
access" (or an error similar to yours). I would go to the aix command
line and issue the command:
host cougar
...and it returns:
cougar.penn.boulder.ibm.com is 9.99.226.79
Notice the hostname is returned fully qualified:
cougar.penn.boulder.ibm.com
Since I did not fully qualify the name "cougar" in /etc/hosts.lpd, it
does not grant access. I would then simply change the name in
/etc/hosts.lpd to "cougar.penn.boulder.ibm.com" and the error would be
resolved.
This may be the case your seeing. The other thing is to put the
ipaddress of the AS/400 in /etc/hosts.lpd along with the hostname.
This may also resolve this problem.
Please try these things.
Also, when PSM is installed on the system, it has replacement commands
for enq and also provides for a "gateway" between lpd and psmd, so that
when requests are received by lpd it is handed off to psmd, which
looks first for a PSM logical printer, if it cannot be found, then it
looks for "AIX" print queues. LPD listens to port 515 (the standard
lpd port). psmd listens to 6874 unless otherwise specified. Port
6874 is used in communication with other PSM clients in the cell.
But in the case of your AS/400's, they are trying to communicate with
port 515.
You can run an iptrace on the communication, but you need to be careful
because it is very easy to get other info in the trace and will make
it very difficult to follow. First make sure there is no other
print request going to the lpd. During this procedure, DO NOT issue
a lpstat command, because that information will be caught in the
trace. Start the trace:
iptrace -p printer -a -b -s source_host -d dest_host /tmp/trace.out
where...
-p printer (use the word printer) says look at port 515 only.
-s where the print command is issued
-d system where the printer is
Send a test print job. BE SURE it is as small as you can possibly
get it. Sending 5 characters will be sufficient. Otherwise the
trace will be HUGE.
Watch the size of the /tmp/trace.out file. When
it stops growing, kill the trace. If it has only 11 bytes and doesn't
ever grow, then the communication is never even getting to the risc.
11 bytes would indicate that no trace data was taken. Once the file
stops growing, find the iptrace process and kill it:
ps -ef |grep iptrace
kill PID# (you may need to use a -9)
The trace will be unreadable and must be formatted. Issue the command:
ipreport /tmp/trace.out > /tmp/report.out
The report.out will now be readable, and you can follow the packets
being sent and received. If you need assistance reading the trace
I will be able to help. Let me know and I'll give you a site to ftp
the trace to. This should shed some light on what is happening in
the communication.
Try these things. If you need further assistance, please re-open
this item and I can try and help further.
Thanks for using WWQ&A.
Please try the above to resolve your problems, and reopen if we need
to try something else.
Q:
A:
Closing pending further information.
S e a r c h - k e y w o r d s:
enq lpr lpd psm as/400 aix print remote queue iptrace trace socket
port psmd 515 6874 report
WWQA: ITEM: RTA000155184 ITEM: RTA000155184
Dated: 02/1999 Category: PSMAIX
This HTML file was generated 99/06/24~12:43:42
Comments or suggestions?
Contact us