Re: Unstable development version moving to test phase

From: Henning Meier-Geinitz (hmg-ml@gmx.de)
Date: Sun Jan 23 2000 - 07:56:37 PST

  • Next message: Oliver Rauch: "xsane-0.51 and hp backend"

    Hello all,

    > Try to compile it on as many
    > platforms and compilers as possible. Test it on as many scanners as
    > possible. If you find any problems, report them to the list or send a
    > message to the maintainer.

    OK, lets go. I downloaded sane-devel-20000110.tar.gz and had no trouble
    compiling and installing it using this hard- and software:

    Intel Celeron 366, 128 MB RAM
    Linux 2.2.14
    gcc 2.7.2.3 and egcs-1.1.2
    glibc 2.0.7
    gtk+ 1.2.1
    gimp 1.1.3
    XFree86 3.3.4

    If I do a make; make install and after that make distclean; configure; make
    I wil get:

    [...]
    sed -e 's|@DATADIR@|/usr/local/share|g' \
        -e 's|@CONFIGDIR@|/usr/local/etc/sane.d|g' \
        -e 's|@LIBDIR@|/usr/local/lib|g' \
        -e 's|@BINDIR@|/usr/local/bin|g' \
        -e 's|@SBINDIR@|/usr/local/sbin|g' sane-scsi.man >sane-scsi.5
    make[1]: *** No rule to make target sane-artec.5', needed by all'. Stop.
    make[1]: Leaving directory /usr/src/sane-devel-20000110/doc'
    make: *** [all-recursive] Error 1

    My scanner is a Mustek Paragon 600 II N. It's this
    parallel-port-like-but-with-its-own-card thing. I don't know who is
    maintaining the Mustek backend at the moment. I've noticed the following
    points (possibly bugs), most of them have been in SANE 1.0.1 also. I will
    try to put together a patch for all of this later.

    1) backend/mustek.desc
    My scanner isn't listed. Is this list only for SCSI-Scanners? If it isn't,
    this would be the entry:

    :model "600 II N"
    :comment "1 pass; (f/w 1.01 and 2.0); non-scsi; ID MFC-06000CZ)"

    600 II N is the name on the scanner. MFC-0600CZ is returned by the debug log.

    2) tools/mustek600iin-off.c
    This nice tool isn't compiled by default (but find-scanner). I don't think
    that this is necessary but a hint how to compile in the README would be
    nice, something like:

    [...]
     mustek600iin-off:
            Allows you to turn off a Mustek 600 II N scanner.
            Use "make mustek600iin-off" to compile.

    3) frontend/xscanimage.c
    Using Linux 2.2.X xscanimage freezes at the end of the scan each time I want
    to scan an image. Scanimage works, both work with Linux 2.0.X. It's the same
    problem I mentioned earlier concerning xsane. The filedescriptor ist closed
    by the mustek driver but xscanimage doesn't check this and is waiting for a
    readable file descriptor forever. I think changing line 1733 of xscanimage.c
    from

        scan_win.input_tag = gdk_input_add (fd, GDK_INPUT_READ,
                                            input_available, 0);
    to

        scan_win.input_tag = gdk_input_add (fd,
                                            GDK_INPUT_READ|GDK_INPUT_EXCEPTION,
                                            input_available, 0);

    and line 793 of preview.c to

        p->input_tag = gdk_input_add (fd, GDK_INPUT_READ|GDK_INPUT_EXCEPTION,
                                      input_available, p);
     
    does the trick. Scanimage doesn't use non blocking mode so there is no
    problem.

    4) /dev/port access doesn't work
    The scanner is accessed via inb/outb or /dev/port. The frontend needs to be
    suid root (or run by root) to do inb/outb access. If it isn't it tries to
    use /dev/port and fails:

    [mustek] dev_open: Error during device I/O: can't open 0x3ab as a parallel-port device

    /dev/port is:
    crw-rw-rw- 1 root kmem 1, 4 Jan 18 22:21 /dev/port

    /dev/port access *does* work with Linux 2.0.X.
    I don't have any solution yet.

    5) sane_cancel
    If I press the "Cancel" button in an frontend, nothing seems to happen. The
    message is:

    [mustek] do_stop: waiting for scanner to become ready

    But after 60 s the scan does get cancelled. dev_wait_ready () doesn't seem
    to work for this scanner at this point. In mustek.c line 1455

          if (status == SANE_STATUS_CANCELLED)
            {
              DBG(4, "do_stop: waiting for scanner to become ready\n");
              dev_wait_ready (s);
            }

    should be

          if ((status == SANE_STATUS_CANCELLED) &&
              !(s->hw->flags & MUSTEK_FLAG_PP))
            {
              DBG(4, "do_stop: waiting for scanner to become ready\n");
              dev_wait_ready (s);
            }

    6) Color stripes
    Color scanning produces crazy colored lines and stripes. My firmware version
    (1.01) provides the correct values for the linedistance correction code so
    the "option linedistance-fix" isn't needed. The color sequence isn't the
    same as in firmware 2.0 which the author of this part of the backend is
    using. So I had to change the line distance code a bit, a patch is in the
    mailinglist archive and at http://www.robin.de/~hmg/sane/

    The drawback of this patch is that it breaks color scanning for firmware 2.0
    so I will try to achieve a solution which checks the version number and
    tries to do "the right thing". Another drawback is that the scanner returns
    too few lines at the end so the last few lines of a color image are garbage.
    I don't have an easy solution. If anybody has a patch or idea I would be
    very interested to hear about that.

    More to come later ...

    Bye,
      Henning

    --
    Source code, list archive, and docs: http://www.mostang.com/sane/
    To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com
    



    This archive was generated by hypermail 2b29 : Sun Jan 23 2000 - 09:11:48 PST