Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 04 Mar 2005 00:01:22 -0500
From:      bsdnooby <bsdnooby@optonline.net>
To:        freebsd-questions@freebsd.org
Cc:        FreeBSD Newbies <freebsd-newbies@freebsd.org>
Subject:   Re: 6 hours of trying to configure my printer - solved
Message-ID:  <4227EBA2.2090402@optonline.net>
In-Reply-To: <20050301173923.S26737@wonkity.com>
References:  <4223F97E.2090401@optonline.net> <20050301173923.S26737@wonkity.com>

next in thread | previous in thread | raw e-mail | index | archive | help

I got my printing working by installing "apsfilter" and by following 
some of the instructions in the (printed) "The FreeBSD Handbook 2ed".  I 
am using FreeBSD 5.3, an HP940c Deskjet, parallel port connection, and 
the "lpr" method of printing (rather than the "CUPS" method).

Initially I followed the instructions in the book, and was able to get 
some garbled output to come out of my printer.  Then I installed 
apsfilter, which enabled some perfect printouts from Firefox.  The 
apsfilter install created a new print queue that I had to tweak to make 
them compatible with the methodology I learned from the book.  I never 
got the "text" and "postscript" filters documented in the book to work, 
but apsfilter works fine - so I'm using that.  The sequence I followed 
is probably not ideal, but this is roughly what I did:

1. Make sure FreeBSD can see my printer:

dmesg | grep lp

  lpt0: <Printer> on ppbus0
  lpt0: Interrupt-driven port
  lpt0: switched to polled standard mode

2. Enable printer in with:

  lptcontrol -p -d /dev/lpt0

3. Make sure printer is able to print:

  lptest > /dev/lpt0

4. Add enable command to /etc/rc.local

  (
    I had to create /etc/rc.local, so I guessed I need to make it 
executable with:

    chmod 550 /etc/rc.local
  )

5. Create printer spool directory

  mkdir /var/spool/lpd

6. Build apsfilter:

  cd /usr/ports/print/apsfilter
  make install clean
  rehash
 
7. Configure apsfilter:

  cd /usr/local/apsfilter
  ./SETUP

8. Make spool directory accessible by daemon group:

  chown daemon:daemon /var/spool/lpd/hp940
  chmod 770 /var/spool/lpd/hp940

9. Add "ps" and "lp" aliases to the apsfilter-created entry in 
/etc/printcap:

  # APS1_BEGIN:printer1
  # - don't delete start label for apsfilter printer1
  # - no other printer defines between BEGIN and END LABEL
  ps|lp|hp940|ijs/DESKJET_940;r=300x300;q=medium;c=full;p=letter;m=auto:\
      :lp=/dev/lpt0:\
      :if=/usr/local/etc/apsfilter/basedir/bin/apsfilter:\
      :sd=/var/spool/lpd/hp940:\
      :lf=/var/spool/lpd/hp940/log:\
      :af=/var/spool/lpd/hp940/acct:\
      :mx#0:\
      :sh:
  # APS1_END - don't delete this

10. Enable lpd daemon in /etc/rc.conf by adding:

  lpd_enable="YES"

11. Reboot

12. Manage print jobs

  list print job = "lpq -P hp940"
  remove print job = "lprm #" (#=jobnumber)
  cancel all jobs = "lprm -"


I have tested Firefox and Abiword, the two programs I will be printing 
from - and they both seem to work when I print to the "default 
postscript" printer.  Any suggestions or fixes to these instructions are 
encouraged.  I am really new to Unix and FreeBSD, so please forgive any 
bad advice contained above.

Some useful links:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/printing-intro-setup.html
http://www.defcon1.org/html/Networking_Articles/natdhowto-whisky/aps-filter/aps-filter.html
http://www.defcon1.org/html/Networking_Articles/apsfilter/apsfilter.html
http://www.freebsddiary.org/apsfilter.php


thx!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4227EBA2.2090402>