Installing a HP Laserjet P2015DN printer
The P2015DN is a duplex ('D') network ('N') printer.
Most jetdirects can be set to a particular IP address by means of a 'ping of
life'. The build-in P2015 jedirect however, does not. It more or less expects a
DHCP server. This is how to set the IP address without a DHCP server;
The printer has a default address somewhere in the 169.254.0.0 - 169.254.255.255
range. On a computer with a web browser, set a route 169.254.0.0/16 to your LAN.
On your default gateway, also set a route 169.254.0.0/16 to your LAN.
Switch on the printer and do a tcpdump. Look for addresses in the 169.254/16
range. Once you found your printers address, use the browser to set the printers
desired IP address. Ping the new address to make sure that this actually works.
After setting the IP address, you can set all sorts of other stuff. A password
for instance. And the default print quality. I set mine to 1200 DPI.
The standard amount of memory is 32 MB. This is sufficient for 600 DPI, but not
for a graphics intensive 1200 print out.
Kingston produces DDR2 modules for this
| 64 MB||KTH-LJ2015/64|
The 256 MB modules are easier to get then the 64 or 128 and cost only slightly
more. Adding 256 MB extends to boot time to ca 75 s.
Installing the driver
This printer is capable of postscript; If you want to print a postscript file,
just send it to the printer.
I use the following entry in /etc/printcap;
Using BSD LPD
lp|lj|ljraw|HP Laserjet P2015DN:\
'printer.int.sput.nl' is the printers name. Substitute with the name of your
You may need to add a line with ':bk:' (strict BerKeley).
Using port 9100 / Jetdirect
Apparently printing via port 9100 is faster, but sometimes a bit less
If you experience slow printing, you might want to try this;
lp|HP Laserjet P2015DN:\
Most other print daemons use a slightly different printcap syntax;
lp|HP Laserjet P2015DN:\
My default charset is UTF-8. The 2015 does not support UTF-8 but can be made
to print UTF-8 text anyway.
See Printing UTF-8 plain text for more
Most drivers support 600x600 DPI. Not all support 1200x1200 DPI.
Make sure you have got the right driver!
This driver does support 1200x1200 DPI;
I told cups to send the data to the postscript queue on my server;
Device URI: lpd://192.168.1.1/lp
This seems to be more reliable.
Substitute '192.168.1.1' with the name or IP address of your server.
Upgrading from Debian Squeeze to Wheezy made printing very slow; gs run at 100%
CPU for several minutes before printing!
I resolved this by switching to the Windows PPD;
Cups-bsd adds some BSD LPD like functionality to CUPS.
My experience is that standalone implementations are more flexible.
I put a 'psDuplex yes' in '~/.xpdfrc'. This way Xpdf will print duplex by default.
As print command I simply use 'lpr'.
My default queue is a postscript queue. I yours isn't, specify queue with '-P';
psFile "|lpr -PName_Of_Postscript_Queue"
Sometimes the printer crashes, and I have to power toggle it to get it to go.
I have the impression that this only happens after not using the printer for
a very long time.
The script below pings the printer once, and then sends it a reset. It is run
from /etc/cron.daily/. So for so good.
ping -c 1 printer
echo -ne "\eE" | lpr