Alright, I figured out how to make this printer work finally, and I thought I
would summarize the work I did for the list in hopes that it will help anyone
else who is having similar problems:
Printer: Brother HL-2070N connected over static IP on an ethernet line.
Problem: When sending jobs to the printer, the text is read as plain text,
instead of PostScript/PCL and is printed in a stair-cased manner, with many
blank pages following.
Diagnosis: The 2070n needs to be send the data in a binary PCL format, for
best results. Doing this can be annoying if you have to set up the stuff on
your own. There is a closed source binary linux driver for the brother that is
distributed by Brother, but this is not going to work here. However, there are
a few drivers that do create the proper output, including hl1250 and pxlmono.
Solution: APSFilter with a workaround.
When I initially tried to use APSFilter to send data to the printer, I chose
as my device, network, and configured it accordingly, thinking that this was
the right way to do it. While this is the `right' way, it does not work. The
problem comes from the fact that APSFilter needs to process the file through
its own filter first to be able to convert any given input into the correct
pxlmono PCL6 output. It does this by adding an if entry to the printcap entry
for your printer. However, when a remote printer is added, APSFilter uses rm
and rp to configure it. The unfortunate problem is that `if' is not used at
all when rm != localhost of the lpd daemon. This means that the file was not
being processed by APSFilter. To fix this, there is an alternative format for
the normal printer entry that one can use.
When setting up the printer, select the APSFilter option 1 (Parallel/USB)
instead of 3 (Network). Then, instead of entering the path to a device file,
enter locator for the printer instead. By default on the 2070n, the printer
listens on port 9100. So, I entered firstname.lastname@example.org as the filename. ...