trouble printing

Roland Smith rsmith at
Mon Feb 14 17:41:37 GMT 2005

On Mon, Feb 14, 2005 at 11:06:06AM -0600, Brian John wrote:
> Hello,
> I tried this question on the newbies list first but didn't get a response
> so I'm trying here.

This is the right list for questions.

> I am having trouble printing from my HP Deskjet 710C printer.  It
> is hooked up via parallel port and I can print fine with it from
> Windows.  However, I can't get it to work in FreeBSD.  I followed the
> instructions here:

Arg. The Deskjet 710C is one of those stupid printers without it's own
processor. You need a special program to convert print data into ppa
format, which is the only format it understands. See:

> Everything seems to be fine.  But when I try to test the printer using a
> command similar to this:
> # cat file > /dev/lptN

Don't do this. Always work via the spooler. See below.
> or this:
> lptest > /dev/lpt0

lptest just prints plain text. Your printer doesn't understand that. It
uses the host CPU for processing the print data:


     PPA (Printing Performance Architecture) is a closed, proprietary
     protocol developed by Hewlett Packard for a short-lived series of
     DeskJet printers. In essence, the PPA protocol moves the low-level
     processing of the data to the host computer rather than the
     printer. This allows for a low-cost (to produce) printer with a
     small amount of memory and computing power. However, in practice
     the printer was often as expensive as more capable printers and HP has
     since discontinued the use of PPA in favour of returning to PCL3e in
     their latest USB-based printers.

> nothing happens.  Does anyone have a clue what I might have done wrong?

You need a special driver to talk to this printer. It is called pnm2ppa
and you can find it in ports.

More info on adriver for this printer can be found at:

If you want the printer to handle different file formats transparently,
you should install a print filter like apsfilter. You should program
apsfilter to output stuff in pnm format, which should then be piped
through pnm2ppa and then to the spooler.

I know this sounds complicated, and that's because these printers
suck. You have to jump through a lot of hoops to get them working.

In short, what has to happen for each print job is:

1) Convert the file format to pnm. This is where apsfilter comes in,
   unless you want to do it by hand every time.
2) The output from apsfilter should be fed to pnm2ppa, using the unix
   mechanism called a pipe. The apsfilter manual has info on how to set
   this up. I haven't used apsfilter in a loooong time.
3) The output from pnm2ppa is fed to the spooler, which sends it to the

By installing apsfilter and pnm2ppa you can make this process automatic.

Hope this helps.

R.F. Smith                           /"\    ASCII Ribbon Campaign
r s m i t h @ x s 4 a l l . n l      \ /    No HTML/RTF in e-mail         X     No Word docs in e-mail
public key: / \    Respect for open standards
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url :

More information about the freebsd-questions mailing list