[Foomatic] Using usb IDs for autodetection

Joe Shaw joe at ximian.com
Wed Apr 7 10:56:49 PDT 2004


Hi,

I've spent the last couple of days familiarizing myself with foomatic
and thinking about how to integrate it into Ximian's big picture of
"Project Utopia"[1].

My plan ultimately is to get things into a state similar to the user
experience on Mac OS X, whereby the user plugs in a printer and it is
automatically configured to some sane defaults and is ready to use.

I noticed that the foomatic printer XML files have an <autodetect> flag,
but virtually none of the printers have anything in it.  Most existing
tools which deal with foomatic try to guess the printer by doing hacky
string comparisons of the <make> and <model> tags with whatever the USB
or IEEE-1284 interfaces gave back.  It works some of the time, but is
pretty unreliable generally.

I'm not aware of an existing database which contains the IEEE-1284 data
for a large number of the printers, so it's not really feasible to fill
in the <autodetect> sections for most printers without having the
hardware itself.  We do, however, have a database of the USB vendor and
product IDs for virtually every USB printer in the usb.ids file that
every Linux distro ships.

I'm proposing that we add <vendor_id> and <product_id> tags to the <usb>
section of <autodetect>, and populate the printer database with those
IDs.  This will make autodetecting a lot more reliable, at least for USB
printers.  I'd also ask that this information (and probably also the
IEEE-1284 data) be required for any new additions to the database, so
that we can keep autodetection reliable.

What do you think?

Thanks,
Joe

[1] There's no formal web page for Project Utopia, but I give a brief
description of it on my blog[2] and Robert Love goes into a little more
detail on his[3].

[2] http://joeshaw.org/#20040308

[3] http://primates.ximian.com/~rml/blog/archives/000395.html





More information about the Printing-foomatic mailing list