It seems that there is another change on 6.7 perhaps among packages
which broke printing for me. I am using built in LPD to print onto the
network connected Brother HL-5250DN. I am getting row PostScript output
on the printer instead of the document.

This is the relevant printcap entry

rp|HL-5250DN:\
        :[email protected]:\
        :if=/etc/foomatic-rip/script_brother.sh:\
        :sh:sd=/var/spool/output/brother:\
        :lf=/var/log/lpd-errs:

Note that I am using jetdirect protocol since foomatic-rip doesn't speak
LPD.

This is my magic input filter (if) script which was needed after the
support for LPD was removed from foomatic-rip

#!/bin/sh

/usr/local/bin/a2ps -BRq --columns=1 -o - | \
        /usr/local/bin/foomatic-rip -P HL-5250DN --ppd \
/etc/foomatic-rip/direct/brother-hl-5250dn-postscript-brother.ppd

and this is the relevant /usr/local/share/doc/pkg-readmes/cups-filters
paragraph

Input filter script
-------------------
Non-postscript files must be converted before being sent to
foomatic-rip(1). Several packages can be used for that, a2ps being the
most complete.
Note that a2ps(1) requires external helper tools for converting files.
They can be configured under /etc/a2ps{,-site}.cfg. By default,
converting images requires the ImageMagick package.

Here's a sample converter script:

---8<-------------------------------------------------------------------
#!/bin/sh

/usr/local/bin/a2ps -BRq --columns=1 -o - | \
        /usr/local/bin/foomatic-rip -P samsung-ml2850d
---8<-------------------------------------------------------------------

Additional options can be passed to foomatic-rip(1).
e.g.
- to print in duplex mode: -o duplex
- to set the page size to letter: -o pagesize=letter

Default options can be set by editing the PPD file.

To use the above script as an input filter for lpd(8), see the next
sections (make sure the script is executable).

lpd(8): USB printer printcap(5) example
---------------------------------------
lp|samsung|Samsung-ML-2850D:\
        :lp=/dev/ulpt0:\
        :if=/path/to/script.sh:\
        :sd=/var/spool/output:\
        :lf=/var/log/lpd-errs:\
        :sh:

lpd(8): network printer printcap(5) example
-------------------------------------------
rp|samsung|Samsung-ML-2850D:\
        :[email protected]:\
        :if=/path/to/script.sh:\
        :sd=/var/spool/output:\
        :lf=/var/log/lpd-errs:\
        :sh:
(where 1.2.3.4 is the printer IP address and 9100 the printer stream
port)

foomatic-rip(1) does *not* speak LPD (port 515).
If the printer does not support raw printing over port 9100, it must be
setup locally on a print server (see above for an example using USB)
then accessed over LPD by the clients (there is no need to setup any
print filter on the clients since it will run on the print server).


What am I missing?

Predrag

Reply via email to