SUMMARY: How to spool "raw" print files from Solaris to WinNT.

Frank Pardo (fpardo@tisny.com)
Wed, 14 May 1997 09:59:53 -0400 (EDT)

Dear Colleagues,

It looks like the Solaris (ATT, SYSV, lp/lpsched) software won't let me
do what I need, but there is a workaround: the BSD (lpr/lpd) software.
The "-l" switch tells "/usr/ucb/lpr" to send the "l" command to the
remote print server.

Many thanks to Leo Crombach, for the very prompt and very helpful reply.

-fp

THE SOLUTION:

I asked this same question a while ago and the best response I got was
to use /usr/ucb/lpr -l -Pprinter <filename>. This solution will work.
Unfortunately, I don't know of a way to get it to work with lp at this
time.

Leo Crombach
System Administrator
Tropel Corporation
60 O'Connor Road
Fairport, New York 14450
(716)388-3566
lcrombach@tropel.com

THE ORIGINAL QUERY:

I'm having trouble sending "raw" (i.e. PCL) files from Solaris 2.4 to
Windows NT. Half of the answer came out of a Windows NT manual:

The most common problem people encounter when printing from
UNIX systems to a Windows NT print server is that their
print jobs are processed as TEXT data type instead of RAW
data type, as they would be on a UNIX system. This happens
because the UNIX systems almost always send the "f" control
command, expecting that the control command isn't too
important, because the TCP/IP (LPD) server parses the job to
identify what data type to use and how to alter the job.
However, Windows NT relies on the control command to
determine the data type. As a result, the LPD service on
Windows NT assigns the TEXT data type to most jobs.

To correct this problem, reconfigure the LPR client to send
the "l" control command so the LPD will assign the RAW data
type.

I verified the WinNT manual's claim by looking at the Ethernet packets;
the bad command is the "fdfA004admin\n" in this line of "snoop" output:

"Hadmin\nPfpardo\nJ4-1\nCadmin\nLfpardo\nfdfA004admin\nUdfA004admin"

I also checked their veracity by having a look at RFC 1179. Apparently
they're right: "f" means "Print <f>ormatted file" and "l" means "Print
file <l>eaving control characters".

The second half of the answer has eluded me. I've tried the Solaris
Answerbook, the man pages, and the archives of this list, to no avail.
No idea how to make "l" replace "f" in the spooler command.

The simplest solution, moving the HP printer from the WinNT server to
the Solaris server, is not feasible right now, for reasons I won't bore
you with. So, the question is: What must I do on the Sparc server to
make Solaris send the "l" command out to the WinNT print server?

--
  Frank Pardo  <fpardo@tisny.com>
  Transaction Information Systems
  New York City

Chi fila ha una camicia e chi non fila ne ha due. -- Italian proverb