Printers :: Turn DSL box in print server


This is my first post here, however I use DSL from 5 months with pleasure.
I turned an old PC in a server (SMB, NFS, FTP etc..) everything works great.
I run DSL 4.3 in frugal install (on 128Mb CF memory card)

Yesterday I installed a printer.
I followed the [mirror] current/documentation/printerhowto.pdf it's very clear.
apsfilter succesfully installed my HP LaserJet 2100
I can print on it from my dsl box.

However it was quite difficult to print from other computers on the network, but finaly I succed. Here is what I did:

I wanted to use lpd network capabilities NOT SAMBA nor CUPS.
From Linux Ubuntu box or Mac OS X I always received the same answer from my DSL box:

rlpr: error: check_ack: lpd refused our job request [error 1] -- is our hostname in its hosts.lpd?

Of course, it was. I have added the host name (and th IP address to be sure) in /etc/hosts.lpd (and in /etc/hosts.equiv too to be sure)
This was done according to lpd man pages.

But the trick was don't follow lpd documentation but lprng documentation.
DSL uses lprng and comes with a file /etc/lprng/lpd.perms that doesn't allow anybody to print exept the server (dsl box). To allow others to print just comment the first line of this line:

More details on web site.

To print from a Linux or MAC OS X host just install a new printer of lpd type give the server IP adress and the lp queue name (the name of the printer given during the install on the server), install the driver and it's done.
On a Window host choose local printer then set the port to standard TCP/IP port give the IP adress select lpd (not raw) give the print queue name (the name of the printer given during the install on the server), choose the driver and it's done.

Happy printing with DSL.


Hello,  I add a correction to my own post:

This method doesn't work for all printers.
When I wrote it I successfully installed an HP LaserJet.
I recently installed a Brother Laser printer and experienced a problem.

The solution is: do not chain filters (or drivers)
Printer driver must be installed on the client NOT on the server.
The server must send raw data (as received) to the printer.

HP filter seems to be smarter because when the server filter receive data already filtered by the client it succeed to print.
Brother filter doesn't.
Anyway it's more logical to filter once.

The solution is easy:
remove the filter on the server
Choose raw data as printing mode in apsfilter.
or more simple:
remove the line starting with "if" in the /opt/printcap file.

Happy printing with DSL.


tried for ages with my Kyocera FS-1030D laser, I can print localy using gimp hplj4 drivers from beaver, i can print a test page from apsfilter, but none of your recommendations for remote printing seem to work for me.  I always use the "print to a local port" method for networked printers, and have been playing with a few machines xp vista OX10 and other dsls since 8am this morning.  nada! any suggestions of something else to look for?  maybe you would be so kind as to think about rewriting your howto, with step by step.

original here.