SDB:Printing via TCP/IP network
From openSUSE
Contents |
Terms and Definitions:
A special device with a TCP/IP network connection and one or more parallel or USB connections for parallel port or USB printers is called a printserver box.
A printer with a built-in TCP/IP network interface is called a network printer. Basically a network printer has a printserver box built in.
Therefore setup of a network printer and a printserver box is the same.
In contrast to a printserver box a print server machine means a real computer which offers a print service.
The computer where the user submits a job is called the client or more precisely the client machine.
Prerequisites:
The printer must be supported by openSUSE, see SDB:Installing a Printer
Other documentation:
See the "Reference" manual and in particular since openSUSE 11.1 read the help text in the YaST printer module for the YaST printer setup dialogs 'Print Via Network' and 'Share Printers', compare YaST/Development/Printer Enhancement.
Network Printer Setup:
The connection determines which way data is sent to the printer device. If a wrong connection is used, no data can be sent to the device so that there cannot be any printout.
A connection is specified as so called Device URI, see SDB:CUPS in a Nutshell the section "The Backends". Its first word (the so called URI scheme) specifies the kind of data-transfer, for example 'parallel', 'usb', 'socket', 'lpd', or 'ipp'. After the scheme there are more or less additional parts (separated by slash '/' characters) which specify the details for this kind of data-transfer.
Printserver box and network printer access happens via three different network protocols. See the manual of your network printer or printserver box what your particular device supports:
TCP Port (AppSocket/JetDirect)
The IP address and a port number is needed to access it. Often the port number 9100 is the right one. It is the simplest, fastest, and generally the most reliable protocol. The matching device URI is:
socket://ip-address:port-number
For example a network printer with IP 192.168.100.1 which is accessible via port 9100 may have a device URI like: socket://192.168.100.1:9100
Line Printer Daemon (LPD) Protocol
A LPD runs on the device and provides one or more LPD queues. The IP address and a LPD queue name is needed to access it. Almost all network printers and printserver boxes support it. Often an arbitrary queue name or 'LPT1' works somehow. But using a correct LPD queue which does not somehow change the data or add additional formfeeds or banner pages could be essential for reliable printing. The matching device URI is:
lpd://ip-address/queue
For example a network printer with IP 192.168.100.2 which is accessible via LPD protocol with a remote LPD queue name 'lpt1' may have a device URI like: lpd://192.168.100.2/lpt1
Internet Printing Protocol (IPP)
IPP is the native protocol for CUPS which runs on a real computer but when IPP is implemented in a small printserver box, it is often not implemented properly. Only use IPP when the vendor actually documents official support for it. The matching device URI is:
ipp://ip-address:port-number/resource
What 'port-number' and 'resource' exactly is depends totally on the particular network printer or printserver box model.
For more information have a look at Using Network Printers at CUPS.org
In case of problems
Connect the printer directly to the first parallel port or via USB and configure the printer as local printer for testing purposed to exclude problems regarding the network.
Network printer or printserver box does not work reliably
Sometimes problems with the print spooler on a printserver box or a network printer occur, especially if several clients send print jobs to the printserver box or the network printer at the same time. In this case, the print spooler on the printserver box or the network printer may get confused. Because of the fact that this depends on the print spooler in the printserver box or in the network printer, it is almost impossible to solve such problems. In this case it is recommended to connect the printer directly to a real print server machine.
Nevertheless, you can make improvements with the following procedure:
One computer acts as print server for the printserver box or the network printer. All clients send the print jobs to this print server and only this print server manages the spooling of the print jobs and sends them (one at a time) to the printserver box or the network printer.
In the end this is printing via CUPS Server:
Printing via CUPS Server:
See SDB:CUPS in a Nutshell in particular the section "Configuring CUPS in the Network".
Printing via SMB (Samba) Share or Windows Share:
To access a SMB printer share, the RPM package
samba-client must be installed. The package provides the CUPS backend 'smb' which is a link to the /usr/bin/smbspool program which actually sends the data to a SMB printer share. A server name and a printer share name and optionally a workgroup name
is needed to access it. Furthermore a user name and a password may be required to get access. A matching full device URI is:
smb://username:password@workgroup/server/printer
For more information have a look at man smbspool and see SDB:Printing via SMB (Samba) Share or Windows Share
Printing via Traditional UNIX Server (LPR):
A Line Printer Daemon (LPD) runs on a traditional UNIX server and provides one or more LPD queues. The IP address and a LPD queue name is needed to access it. The matching device URI is:
lpd://ip-address/queue
Printing via Novell Netware Print Server (IPX):
To access print queues on a Novell Netware print server,
the RPM package ncpfs must be installed. The package provides the CUPS backend 'novell' which runs
the nprint program which actually sends the data to a Novell Netware print queue. A server name and a printer queue name is needed to access it. Furthermore a user name and a password may be required to get access.
The matching device URI is:
novell://username:password@server/queue
For more information have a look at man nprint and the other documentation in the RPM package ncpfs.
Keywords: printing | printer | networkprinter

