npadmin home

    man page

Bug tracking



Open Source



npadmin: Scriptable, command line, network printer adminstration tool


Modern network printers are quite easily managable across a network. However, until now, the only tools that make use of these capabilities are the vendor supplied products such as Web JetAdmin by HP, Marknet by Lexmark, Centreview by Xerox or PhaserLink by Tektronix. The problem is that all of these tools are fundamentally GUI based applications and there is no way to incorporate their functionality into scripts. This program is designed to be called from scripts to find things out about printers.

Information you can gather about printers with npadmin
Model and vendor Location and contact information Network configuration
Memory and disk usage Max and min papersize Engine speed
Duplexer installed Printer status Printer languages
Marker technology Page count Minimum margins
Size, capacity and level of paper trays Toner levels Alert conditions
Resolution Display information Cover pages on/off


The current version is 0.8.4.


Source code: npadmin-0.8.4.tar.gz (104k)
i386 RPM: npadmin-0.8.4-1.i386.rpm (123k)
Source RPM: npadmin-0.8.4-1.src.rpm (106k)
Debian packages for the frozen and unstable releases.
Old versions of the source code


Supported printers

This program was makes heavy use of RFC 1759, the common printer MIB. It should work on almost any printer that supports the common printer MIB. Some special hooks have been implemented to give make some features available on the HP printers that don't support the common printer MIB, but functionality is severely curtailed. Here are the printers that I have tested it with. If you try it on a printer not listed here please let me know the results. I will either add it to the supported printer list or the non-supported printer list.

More or less full support

HP LaserJet 5 series
HP LaserJet 4000 series
HP LaserJet 5000 series
HP LaserJet 8000 series
HP Color LaserJet 4500

Lexmark Optra N
Lexmark Optra R+
Lexmark Optra RN
Lexmark Optra SC 1275
Lexmark Optra S series

Tektronix Phaser 340
Tektronix Phaser 350
Tektronix Phaser 360
Tektronix Phaser 380
Tektronix Phaser 550
Tektronix Phaser 560
Tektronix Phaser 740
Tektronix Phaser 840

Xerox Docucenter 230

Limited support

HP LaserJet 4 series
HP Color LaserJet 5
HP Color LaserJet
HP JetDirect External
HP LaserJet 3 series
HP DeskJet 1200C
HP DeskJet 1600C(M)
HP DeskJet 2000C
HP DesignJet 755CM

Known unsupported

Supported OSs

npadmin was written and debugged on Red Hat Linux 5.2 which means that it will probably always work with Linux with glibc.

0.7.2 I've heard that Version 0.7.2 is has worked without modification on Solaris, Irix, FreeBSD and HPUX. People also have gotten it to work with AIX, and SCO OpenServer 5 (believe it or not).

0.8.2 There were a lot of changes between 0.7.2 and 0.8.0 and so I expect quite a few problems with the ports. Specifically, I made use of the pthreads library and I expect some difficulty with how different OS's handle threads. If you are interested in getting it to work on other platforms please contact me ( I will be happy to work with you to attempt a port.

Future Plans

  • 0.9 - In 0.9 I expect to add many new options which will allow you to set many more variables on the printers.
  • 0.10 - The overall structure of npadmin is getting too big and monolithic. It should be broken into three pieces: the SNMP library, a library for accessing printer specific objects, and the scriptable interface npadmin.
  • 0.11 - There is a new version of the printer MIB. As far as I know it hasn't appeared on any printers. As it becomes available, I'll begin supporting it.
  • 1.0 - Will probably a debugged version of 0.10.

Help out

If you would like to help out, there are quite a few things that would be very helpful:
  • Ports to other OS's
  • Testing on a wider array of printers
  • Add support for setting more variables on the printer
  • I need some help with autoconf
  • Webify more of its features and package them in a format that is more accessible to end users
  • Suggest a new feature



The following people have helped me or contributed code:
  • Ambrose Li - Saved my hide big time by discovering the bug that crashes HP 5M and 5N printers just before I rolled out an application that had this functionality in it.
  • Igor Schein - Help with the inital Solaris port.
  • Damian Ivereigh - Minor bug fixes.
  • Petter Reinholdtsen - Minor bug fix. Port to Irix, HP/UX 10, and FreeBSD 3.0.

Last modified: Wednesday, 08-Mar-2000 02:14:43 UTC


npadmin Copyright © 1998 Cisco Systems.
Copyright © 1999, 2000 Ben Woodard.

npadmin is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Web site copyright © 2000 VA Linux Systems.
For mail regarding the web site: Don Marti
Hosted by Sourceforge