[sane-devel] Intend to write driver(s)
rbrijder at gmail.com
Sun Aug 5 16:53:26 UTC 2007
2007/8/5, Stéphane VOLTZ <stef.dev at free.fr>:
> Le samedi 4 août 2007, Robert Brijder a écrit:
> > Hi Leandro,
> > Sorry for the very late reaction. I do have some information for you
> > which may help.
> > Look at the site http://zub.fei.tuke.sk/primax/ of Peter Popovec.
> > It contains a sane backend for the E3 ASIC, which our scanners have.
> > The only thing lacking in this backend is that it is for parallel port
> > scanners and not for USB. Luckily, the chip which does the bridging of
> > parallel port over USB is well known, it is the GeneSys Logic GL640.
> > There are many duplicate implementations of this USB bridge already in
> > the SANE backends, it appears to reside in at least 3 backends:
> > genesys, canon630u, and u12. So I guess it wouldn't be hard to
> > implement this in your sane backend. BTW: Does anybody know, Is there
> > a good reason for implementing this chip this many times?
> Where is there an USB bridge in the genesys backend ? For the 2 others, I
> don't know. But you have two implementation where you can choose the best
> one. And may be separate it into a library to use for your future backend,
> and that maybe would let refactor the two other.
Well to be more precise, canon630u and u12 explicitly implements the
GL640 chip, while the genesys backend implements the GL646 chip which
includes a USB 1.1 controller (see e.g. page 5 of the official
datasheet). As far as I can see, this controller is functionally
equivalent to the GL640.
And yes, I also think it would be a good idea to factor out this chip
into a separate library. In this way possibly more backends can profit
from it. And of course maintenance would be easier.
> > It seems the modifications are mostly necessary in the port.c file (of
> > the sane backend of Peter Popovec) to get it working. I guess there
> > should be a USB version for the following functions.
> > epp_off();
> > epp_read();
> > epp_read_one();
> > epp_write();
> > epp_write_one();
> > switcher_online ();
> > switcher_offline ();
> > The first five are not that hard I think, but I do not really have a
> > clue yet how to do the last two functions.
> > If we can get USB support working, at least 6 new devices would be
> > supported. This would be nice. I contacted Peter Popovec, but since he
> > does not have such a USB scanner he would rather not implemented this
> > himself.
> > I guess I answered your first question: we should edit the backend of
> > Peter Popovec. The second question: I don't know if it is possible to
> > damage the scanner. The third question: the backend of Peter Popovec
> > does not seem to have any licencing issues, this in contrast to the
> > viceo backend.
> > All the best,
> > Robert
More information about the sane-devel