MFC 7840W under CUPS

Da Rock freebsd-questions at
Sun Feb 12 14:29:48 UTC 2012

On 02/12/12 23:33, Jerry wrote:
> On Sat, 11 Feb 2012 23:17:29 +0100
> Polytropon articulated:
>> On Sun, 05 Feb 2012 21:21:59 +0100, Ouyang Xueyu wrote:
>>> Hello,
>>> I have Freebsd 8.2 and CUPS installed and try to print on my
>>> Brother MFC 7840W printer. The printer is accessible by a static IP
>>> address, is configured in CUPS but everytime I only get blank pages
>>> when I'm trying to print.
>>> Does anybody know a solution for this behaviour?
>> The technical specification of the printer at
>> indicates that it does understand PCL. Just for testing,
>> you could try to _not_ use CUPS and send PCL to the printer
>> directly, either by the system's spooling mechanism (which
>> seems to be considered "depricated" now as the big desktop
>> environments and some "stand-alonge" applications consider
>> CUPS the only printing interface, which they seem to hardcode
>> into the programs) or by the direct way, using its network
>> connection (which is a good thing, better than USB in my
>> opinion).
>> Really - if the specifications say the printer can do PCL
>> and has some kind of PS, why should it be complicated to get
>> that "excellent" capabilities working with CUPS?
>> Here is a simple test that you can use:
>> First print something from an application (web browser,
>> text processing program, image manipulator etc.), but send
>> the output to a file. Most print dialogs offer a "print to
>> file" choice. Save the result to /tmp/ - I'll use
>> this name for demonstration, you can use any other name.
>> Then verify what you've printed to be a PostScript file.
>> 	% file /tmp/
>> 	/tmp/ PostScript document text conforming DSC level
>> 3.
>> You can verify the content to be printed using any PS viewer,
>> e. g. gv or gs, or whatever comes with your desktop environment.
>> If it is a valid PS file, you can do two things:
>> a) Test if the printer's BR-Script3 is PS-compatible:
>> 	% nc 9100<  /tmp/
>> Let's assume that is the IP of the printer. :-)
>> Let's also assume that port 9100 is the port where the printer
>> accepts jobs. Some printers use different ports for their
>> different "personalities". See the documentation which port
>> to use. If unsure, leave it blank.
>> b) Test if the printer does understand PCL.
>> Same assumptions apply.
>> 	% printf "\033&k2G" | nc 9100
>> 		-sDEVICE=ljet4 -sPAPERSIZE=a4 -r600x600 \
>> 		-sOutputFile=- /tmp/ | nc 9100
>> You can see that this test specifies a "ljet4" printer driver.
>> This refers to the HP Laserjet 4 and 4000 families, but it does
>> produce PCL, so it should be fine.
>> Report back if this works (i. e. _which_ of them, and if not,
>> with which unexpected results). If it does work, my suggestion
>> would be to dump CUPS and use the system's default mechanism
>> with a "man made" printer filter. It's very easy. Easier than
>> dealing with the CUPS "blackbox" in my opinion...
> I can accomplish this on my Brother MFC-9560CDW saving in either "PS" or
> "PDF" format. In fact, it appears that the industry is moving away from
> the "ps" format and towards the "pdf" format. However, none of this
> explains why CUPS has so thoroughly screwed up the printing process,
> nor why it should demand so much user intervention to set up a printer
> that on most modern operating systems is trivial at best.
By most modern OS you mean Winblow$? You realise of course that aside 
from Windows and MS' other colossal clusterfuns they all use lpr and/or 
cups - I know of quite a few windows installations that use cups as 
well. I could be ignorant of a couple of OS', but I doubt it (excepting 

In the earlier versions (NT based) Windows used to use lpr as well I 
believe, and I don't think that has changed since. So the differences in 
setup and installation are minimal and very similar unless I'm very much 
mistaken and the fairies have come and are installing printers for 
windows now. Local printers are a slightly different case, but you still 
need to make some selections and input.

Most would call cups trivial as well, and then would put the blame on 
the manufacturers in errant implementations. But the foomatic project 
has really done a wonderful job putting together a system that works for 
some many different models, and a lot of printers have now got offerings 
of drivers to the linux and open source community.

The biggest problem comes with using many interpreters of a single 
language. Thankfully pcl works on the majority of printers (network), 
and is practically a standard in the enterprise world, so you're still 
not marooned with a paper weight :) Unless you're a printshop and/or 
into graphic arts pcl will be more than sufficient for use. If you are 
working in graphic arts then I doubt you'd be using a brother or 
something that doesn't use pure ps anyway.

More information about the freebsd-questions mailing list