I have a HP DeskJet 560c printer, which resets after every page printed.
This makes for very slow printing of anything over one page long.
It resets no matter if I use lpr or cat (filename) > /dev/lp1.
(I'm using kernel 2.0.7).
I strongly recommend the printer filter program 'apsfilter'
Download it (212K) and untar it in an apropriate dir...
cp spa-491.tgz /usr/local/apsfilter
tar -zxvf aps491.tgz
Read the README and install docs.
Then run the SETUP script and the questions as best you can.
It's done the trick for me on several printers, dot-matrix to