Subject: RE: slightly off topic: printing from a windows machine to cupsd
To: None <netbsd-help@netbsd.org>
From: Conrad T. Pino <Conrad@Pino.com>
List: netbsd-help
Date: 12/22/2002 19:04:41
Hi Mark,

Andrew is correct in setting up a remote TCP/IP printer for
Windows 2000 and probably XP.

I hope a little background will help based on my knowledge
of Windows NT 4.0 & Windows 2000.

1. Microsoft's TCP/IP printing support is compatible with
UNIX "lpd" & "lpr" implementations.  See RFC-1179 for the
particulars http://ietf.org/rfc/rfc1179.txt.

2. Windows NT 4.0 needs the Network Service "Microsoft
TCP/IP Printing" installed which provides an "lpd" & "lpr"
implementation which allow UNIX systems to print to any
Windows attached printer and vice-versa.  Windows 2000 has
"lpr" support installed & named "Standard TCP/IP Port".
Windows NT 4.0 uses the "LPR Port" name.

3. CUPS http://www.cups.org/ implements the Internet Printing
Protocol (IPP) http://www.pwg.org/ipp/ which maps with UNIX
"lpd" & "lpr" per RFC-2569 http://ietf.org/rfc/rfc2569.txt.

I haven't read the particulars myself.  I'm assuming IPP has
support for "lpd" compliant systems.  I further assume "cupsd"
implements "lpd" support and is so configured.

To check for "lpd" support on your NetBSD system, please run
"netstat -an" and check for a listening socket on port 515 as
per RFC-1179 Section 3.1 at the top of page 2.
=============================================================
Assuming a listener on port 515 is present and assuming the
the "lpd" compatible printer queue name is known then you're
ready to configure Windows 2000/XP as described by Andrew:

> Printers
> Add New Printer
> Local printer
> Create a new port - select Standard TCP/IP Port
> Enter IP address and symbolic name
> Select printer driver
=============================================================
Here is the help file text for Windows NT 4.0 which is for
the most part applicable to Windows 2000 and probably XP:

To create an LPR-compatible printer

0. Click Start, Settings, Printers.
1. Click Add Printer to start installing a printer.
2. Click My Computer, and then click Next.
3. Click Add Port.
4. Click LPR Port, and then click OK.

If LPR Port is not available, then install the
Microsoft TCP/IP Printing network service.

5. In Name or address of server providing lpd,
type the DNS name or IP address of the host for the
printer you  are adding.

6. In Name of printer or print queue on that server,
type the name of the printer as it is identified by the
host, which is either the direct-connect printer itself
or the UNIX computer, and then click OK.

For example, you might have a UNIX computer running the
print server component (lpd) with which the TCP/IP
printer  you are creating will interact. If lpd recognizes
a printer attached to the UNIX computer by the name Crisp,
type Crisp.

7. Follow the instructions on the screen to finish
installing the LPR-compatible printer.

Notes:

The Name or address of server providing lpd can be the DNS
name or IP address of the direct-connect TCP/IP printing
device or the UNIX computer to which the printing device is
connected. The DNS name can be the name specified for the
host in the HOSTS file.

A network-connected printer must have a card that supports
LPD for TCP/IP printing to work properly.

The computer where you create the LPR-compatible printer
must have the TCP/IP protocol and the Microsoft TCP/IP
Printing service installed.

LPR stands for Line Printing utility, and LPD stands for
Line Printing Daemon, which is how these elements  are
known on UNIX.
=============================================================
Windows 95, 98 & ME are significantly different than NT, 2000
& XP and I haven't run either of them in quite a while.
=============================================================
Conrad