6 hours of trying to configure my printer - solved
bsdnooby
bsdnooby at optonline.net
Fri Mar 4 05:01:06 GMT 2005
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!
More information about the freebsd-newbies
mailing list