Brother HL-L2340D printer and lpd?
Russell L. Carter
rcarter at pinyon.org
Sun May 3 17:50:28 UTC 2020
On 2020-05-03 10:24, Polytropon wrote:
> On Mon, 4 May 2020 00:12:59 +0700, Victor Sudakov wrote:
>> Dear Colleagues,
>> I'm trying to use a Brother HL-L2340D printer as a simple
>> networked line printer with lpd. I've successfully used HP and
>> Canon printers like that with a simple printcap like this:
>> # by VAS lp|Brother HL-L2340D series:\ :sh:\ :rp=TEXT_P1:\
>> but the story with Brother HL-L2340D is different. When fed some
>> input with "lptest |lpr", it just spits out 3 empty pages. I've
>> never seen anything like that before.
> It's possible that your previous printers could understand regular
> (unformatted) ASCII text, but the new one doesn't.
>> I'm wondering if someone has this printer and made it work as a
>> line printer.
>> From the specification at
>> it should support LPD.
> It's not a matter of supporting LPD - it's the question which printer
> language the printer can process. The default output format for
> programs is PS. According to the above specification, the printer
> does not understand PS. However, it supports PCL, and tools like gs
> (GhostScript) should be able to convert PS to PCL. This is what you
> need to send to the printer.
> I assume you're not using CUPS? In this case, a PPD file for this
> printer would probably be the easiest thing, but you can get around
> using CUPS of course.
> Maybe this example can help:
> First verify that the printer really understands PCL. You can use nc
> (netcat) to send it some data directly. If it works, instantiate a
> simple printer filter in /etc/printcap, for example:
> :rm=192.168.100.100:\ :rp=raw:\ :lp=:\
> :if=/opt/libexec/ps2pcl-dup.sh:\ :sd=/var/spool/lpd/Laserjet:\
> :lf=/var/spool/lpd/Laserjet/log:\ :af=/var/spool/lpd/Laserjet/acct:\
> :mx#0:\ :sh:
> Then rebuild printcap.db. Make sure the required directories do
> exist. Here is the printer filter, /opt/libexec/ps2pcl-dup.sh:
> #!/bin/sh /usr/bin/printf "\033&k2G" || exit 2 /usr/local/bin/gs -q
> -dBATCH -dNOPAUSE -dPARANOIDSAFER -dSAFER \ -sDEVICE=ljet4d
> -sPAPERSIZE=a4 -r600x600 \ -dDuplex=true \ -sOutputFile=- - && exit
> 0 exit 2
> I use that one with a HP Laserjet 4000 DN. There is also a filter
> (and printer) for non-duplex, it's simply missing the -dDuplex=true
> entry. ;-)
> Adjust parameters you need, for example if you don't have standard A4
> paper or need a different resolution.
> It might even be possible that you can use this example 1:1, if the
> Brother HL-L2340D speaks PCL in a similar way to the HP Laserjet 4000
> DN - see the "ljet4d" device format, which works both for a Laserjet
> 4 and a Laserjet 4000 (I have both). Sidenote: That Laserjet printer
> can understand PS, PCL, and ASCII text (including escape sequences
> for formatting etc., or real plain text without any preprocessing).
> For more inspiration, check:
I print to an HL-L2340DW by using CUPS to remotely print to
a Debian CUPS that has it configured as a "driverless" printer:
I mention this because otherwise it seems like a real hassle to
install using the Brother drivers. There are entries in the lists
where we went through what it would take... a real maintenance
PITA, no thanks.
And I don't believe there should be any problem doing what works
in Debian on FreeBSD. I tried very hard to get driverless working
on FreeBSD but failed, and I think it's because of the versions:
Debian: 2.3.1, FreeBSD: 2.2.13 <- up-to-date
However, I am no expert, so I might have done something stupid
Anyway, options all seem to work, eg two sided printing.
More information about the freebsd-questions