[sane-devel] Device IDs for Epson MF devices
Karl Heinz Kremer
Mon, 20 Dec 2004 07:40:45 -0500 (EST)
You don't have to recompile the backend just because you want to add
a new product ID to the EPSON backend.
To recognize a new scanner, the system has to do two things:
1. The hotplug system needs to know what to do with the new device. This
is the reasy why you need to add a new line to the sane specific file
2. The EPSON backend needs to know that a certain USB vendor/product ID
is an EPSON scanner. This can only be done by giving the backend
access to a list of all known vendor/product IDs. This is the list that's
hardcoded in epson_usb.c. There is however also a mechanism to add
a new ID at runtime. This is done by adding a line like this to
the epson.conf file:
usb 0x4b8 0x80e
Once the scanner is recognized, the backend will talk to the scanner and
find out it's capabilities automatically. This does not work correctly in
all cases, but it should give you at least access to the basic scanning
features. Some scanners have bugs that need to be corrected in software
(e.g. one device does not report it's max. scan area correctly, so I'm
checking for the device name that the scanner reports, and I'm then
chaning the scan area to the correct values).
So, at least for the EPSON backend, what you're asking for is already
implemented (and documented in the man page).
Johannes Meixner said:
> On Dec 17 20:20 Karl Heinz Kremer wrote (shortened):
>> Thanks, I'll add the CX-3650, the 6400 is already supported.
>> On Dec 17, 2004, at 9:11 PM, Till Kamppeter wrote:
>> > here are some device IDs, both are MF devices which work with the
>> > backend:
>> > epson cx 6400: 0x04b8 0x0805
>> > epson cx 3650: 0x04b8 0x080e
> This leads to a general question:
> In case of printers in many cases a new printer model is simply
> set up by using the driver of a compatible older model.
> I.e. the user can select the compatible older model and this works
> because printing system doesn't care which model is actually connected.
> I.e. in case of printers using so called "compatibility classes"
> is the standard. Otherwise it wouldn't be possible to set up
> most newer printer models.
> In case of scanners it seems this is not possible at all.
> Assume the CX-6400 and the CX-3650 are compatible in such a way
> that the CX-3650 works if it is accessed as a CX-6400.
> In this case it should help if the user could add an entry
> for example to epson.conf like
> 0x04b8 0x080e -> 0x04b8 0x0805
> to tell the backend if it finds a "0x04b8 0x080e"
> then it can access it as if it was a "0x04b8 0x0805".
> Are there internal issues why this is not possible?
> At the moment it seems one has to re-compile the backend
> even if only a compatible model is added.
> Johannes Meixner
> SUSE LINUX Products GmbH, Maxfeldstrasse 5 Mail: email@example.com
> 90409 Nuernberg, Germany WWW: http://www.suse.de/
> sane-devel mailing list: firstname.lastname@example.org
> Unsubscribe: Send mail with subject "unsubscribe your_password"
> to email@example.com