[sf-lug] Xsane can't see an HP Laserjet 1536dnf MFP scanner / printer

Rick Moen rick at linuxmafia.com
Tue Jul 31 14:30:50 PDT 2018


Quoting Alex Kleider (akleider at sonic.net):

> Why do we never see "Easily usable on a Linux system" on any
> consumer product such as a printer?  Is it simply because there
> aren't enough of us?

There are a few things going on.

1.  Microsoft Corp. and Apple, Inc. arrange to collect from hardware
manufacturers binary-only drivers under NDA arrangements to bundle into
OSes.  For their part, hardware manufacturers often outsource the
actual coding to offshore contractors, and in many cases don't end up
even receiving the matching source code.  (The OS companies rarely write
hardware drivers.  They just provide software interface specs and
development tools.)

On available evidence, such proprietary drivers are _generally_ really
terrible code, buggy and brittle.  (This has also been true of
most proprietary drivers released for Linux.)

2.  Distro publishers are seldom set up to make arrangements under NDA,
with rare exceptions, in part because, y'know, open source.

3.  With rare exceptions, quality, maintainable, desirable hardware
drivers for Linux and the BSDs are coded _not_ by the hardware companies
but rather by community open source coders.  What the open source
community does best with, in such cases, and requests, is NOT drivers
but rather detailed hardware specifications so that the community can
craft quality drivers without the headache of needing to
reverse-engineer the hardware on a black-box basis.

4.  One of the tricks usable for bringing to market a printer (or
printer/scanner 'multifunction printer' like the HP LaserJet Pro
M1536dnf) is to _omit completely_ the image-processing CPU and firmware
normally required in a printer and emulate the missing circuitry in
proprietary 'print engine' software required to be run on an attached
workstation.  Basically, sell a cut-rate incomplete printer, and require
the owner to run an emulation of the missing computing components on an
attached printer.

In those cases, you can often tell through one dead giveaway:  ultra-low 
device RAM, _because_ the printer doesn't need to even hold so much as a
single page's worth of raster information, and instead the pages get
imaged by chewing up RAM and CPU on the attached workstation and then
dribbled out to the printer.  Look here:
https://www.cnet.com/products/hp-laserjet-pro-m1536dnf/specs/  The HP
LaserJet Pro M1536dnf comes with has 128 MB of RAM installed, and maxes
out at 128 MB of RAM installed.  Bingo!  It's a software-dependent,
incomplete printer.

And, you guessed it:  The proprietary, binary-only 'print engine'
software is something HP regards as a trade secret, and that's what you
must retrofit into HPLIP as a 'plugin' to make the thing work.

How do you avoid being in this situation?  General rule:  Eschew cruddy
low-end printers.  (Christian was asking about the scanner functions of
his HP 'multifunction printer', so we've slightly changed the subject.)



> Is there a printer company that does routinely provide open source
> drivers for CUPS/linux?

Problem:  Every printer company likes to have a full product line to 
hit many price points.  This thus by implication requires inclusion
of cruddy low-end printers.  If I give advice like 'Look at
decent-quality Brother-brand printers, for starters', some number of
readers would gravitate towards the worst models because, having no
understanding of how to distinguish decent-quality hardware from
schlock, they shop solely on the basis of price, hence end up with
schlock, e.g., an HP LaserJet Pro M1536dnf.  I documented this
unfortunate market dynamic in November 1995 as 'Moen's Law of Bicycles'.
http://linuxmafia.com/~rick/lexicon.html#moenslaw-bicycles


> (I've certainly had my frustrations with Canon and with Xerox
> printers- trying to get what I needed downloaded and then installed
> to work properly.)

How to do it right:

Step 1:  Shop around in stores or online, and make a list of printers
you think are promising.

Step 2:  Look up each such model at the http://openprinting.org/
database.  Sadly, this is no longer Grant Taylor's project, but got
taken over by the Borg -- er, by Linux Foundation.  So, among other
Linux Foundation-related damage, that URL is now a redirect to wherever
Linux Foundation stuffs it, this week.

If you fumble around, you can eventually get somewhere useful, such as 
(after being redirected _back_):  http://www.openprinting.org/printers

Step 3:  While examining Openprinting entries, look for printers that
are said to work 'perfectly' on Linux as opposed to 'partially' or
'paperweight' (not at all).  Look for at least 1GB of built-in RAM.
Look for printers that do _not_ require you to download supplemental
software or 'drivers' from the hardware manufacturer's Web site, as
those will almost always be buggy, brittle proprietary crud (if it were
otherwise, why wouldn't they have been merged into foomatic, etc.?).
Look for native support for PostScript and/or PCL6.  And, last, look 
for the printer to include a network port, which is a marker for it 
probably not being cheap junk.

Brother International doesn't have, by any means, a monopoly on suitable
models -- but does make them.


How to do it wrong:

Step 1:  Buy the printer, and intend to figure out Linux support later.




More information about the sf-lug mailing list