Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 May 2020 10:50:20 -0700
From:      "Russell L. Carter" <rcarter@pinyon.org>
To:        freebsd-questions@freebsd.org
Subject:   Re: Brother HL-L2340D printer and lpd?
Message-ID:  <ec10816a-15d1-e947-e032-9ad024c044d6@pinyon.org>
In-Reply-To: <20200503192444.2d700440.freebsd@edvax.de>
References:  <20200503171259.GA48627@admin.sibptus.ru> <20200503192444.2d700440.freebsd@edvax.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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:\ 
>> :rm=192.168.1.74:sd=/var/spool/output/lpd1:lf=/var/log/lpd-errs:
>> 
>> 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
>> 
https://support.brother.com/g/b/spec.aspx?c=us&lang=en&prod=hll2340dw_us_eu_as
>> 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:
> 
> Laserjet|ljet4d;r=600x600;q=high;c=full;p=a4;m=auto:\ 
> :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:
> 
> http://www.wonkity.com/~wblock/docs/html/lpdprinting.html
> 
> 
> 

I print to an HL-L2340DW by using CUPS to remotely print to
a Debian CUPS that has it configured as a "driverless" printer:

https://wiki.debian.org/CUPSDriverlessPrinting

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
somewhere.

Anyway, options all seem to work, eg two sided printing.

Russell



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ec10816a-15d1-e947-e032-9ad024c044d6>