[sf-lug] network laser printer

Rick Moen rick at linuxmafia.com
Fri May 21 17:22:57 PDT 2010

Quoting Alex Kleider (a_kleider at yahoo.com):

> My mistake for not being more clear. I _did_ configure the printer to have a static IP address (

Aha.  You'll want to double-check your DHCP daemon (on your gateway
appliance, presumably) to ensure that 191 isn't within the range _it_
hands out as IP address leases.

> What surprised me is that I never had to tell CUPS what that address
> is. CUPS seemed to have figured it out by itself, presumably via one
> of the mechanisms you discuss.

Oh, I think it just attempts a connection to all valid IPs in the local
IP netmask, looking for IPP devices, or something like that.

   Device discovery; the cups-deviced helper now runs backends in
   parallel for faster discovery and streams the results of discovery as
   the backends provide them.


   CUPS supports most network printers using one of three TCP/IP-based
   protocols. Printer discovery is currently accomplished using the SNMP
   protocol, however future versions of CUPS will also include support for
   multicast DNS service discovery as well.


'Multicast DNS service discovery' means ZeroConf and variations on it
like Apple's Bonjour.

> > _And_, if nothing else, you should go into your workstation's CUPS
> > configuration and _determine_ how it's talking to the printer, just
> > so you know.
> I will study that a bit more but I'm not sure how one can tell 'how'
> the host is 'talking' to the printer. 

So, on my local Debian system, the built-in HTTP interface to CUPS is
http://localhost:631/ .  (There are other front-ends to CUPs, but that
one's always present.)

You select "Manage Printers".  Mine shows exactly one printer object
defined within CUPs:

Description: OpsPrinter
Location: Operations
Printer Driver: HP Color LaserJet 3600 Foomatic/hpijs, hpijs 2.8.6b
Printer State: idle, accepting jobs, published.
Device URI: socket://

So, there you go.  That's an example of printing directly from CUPS to a
remote JetDirect-equipped HP printer.  Notice the specifier that says
TCP port 9100.

Just to recreate how that got set up, I went back to the main CUPS Web
page (http://localhost:631/), Administration, Add New Printer.  Filled

Name: Test
Location: Test
Description: Test

Device for 'Test":  (Pulldown menu).  Select 'AppSocket/HP JetDirect'.
You see a list of examples:






So, since I'd gone over and verified at the printer itself that its IP
address was, I entered:


The ipp: and ldp: schemes would also work, but 'socket:' is the native
method of talking to JetDirect-based print servers.  The docs say that
the http: printing method is a minor variation on IPP.

(The micro-HTTPd built into CUPS provides a lot of helpful docs pages.)

More information about the sf-lug mailing list