Problems with XSane and Mustek backend

From: Henning Meier-Geinitz (hmg-ml@gmx.de)
Date: Mon Jan 17 2000 - 15:40:42 PST

  • Next message: Petter Reinholdtsen: "Re: Test"

    Hello!

    I am using the following configuration:

    SANE 1.0.1
    XSane 0.51
    GTK 1.2.1
    (everything compiled with gcc 2.7.2.3)
    glibc-2.0.7pre6
    Linux 2.2.14pre18 (also tested with 2.2.10)
    Mustek Paragon 600 II N (scanner with its own quasi parallel port io card,
                             it is supported by sane)

    I have the following problems:

    1)

    Everytime I want to scan something the frontend hangs just before the end of
    the scan. The scanner lamp goes back to the start of the scan (and is turned
    off after some minutes). The frontend thinks the scan isn't over yet, e.g.
    xsane shows its progressbar at nearly 100% and every widget but the "cancel"
    button is gray. I tried to change color/gray, resolution and scan window; it
    doesn't help. If I push the "Cancel" button nothing happens (the sane_cancel
    function *is* called, however). CPU usage is 100%. The problem exists with
    both xsane and xscanimage but not with scanimage. Here is a debug log:

    hmg@hmg1:~ > xsane
    [sanei_init_debug]: Setting debug level of mustek to 255.
    [mustek] attach: opening 0x32b as scsi device
    [mustek] dev_open: Invalid argument: can't open 0x32b as a SCSI device
    [mustek] attach: sending INQUIRY
    [mustek] attach: firmware revision 1.01
    [mustek] attach: cover open
    [mustek] attach: found Mustek scanner model MFC-06000CZ (flatbed scanner), 1-pass
    [mustek] dev_open: Invalid argument: can't open 0x32b as a SCSI device
    [mustek] do_inquiry: sending INQUIRY
    [mustek] line_distance: got factor=65535, (r/g/b)=(0/0/0)
    [mustek] get_image_status: bytes_per_line=40, lines=38
    [mustek] lines_per_buffer=819, bytes_per_line=40
    [mustek] reader: about to read 1520 bytes
    [mustek] reader_process: line=38 (num_lines=38), num_reqs=1
    [mustek] reader_process: 1520 bytes read.
    [mustek] mustek.output_data: data=0x813dca8, lpb=38, bpl=40, extra=0x8145ca8
    [mustek] read 1520 bytes
    [mustek] read -1 bytes

    The interesting thing is that this all works with Linux kernels in the 2.0
    series. I tried 2.0.36 without any problems.

    I'm not very good at reading C source, so the following could be quite
    wrong: I looked into the source (mustek.c) and I think the problem is related
    to sane_read and especially sane_read returning SANE_STATUS_GOOD with a len
    of 0. That shouldn't happen in the blocking case (if I understand the SANE
    standard correctly) but it does. XSane tries to use nonblocking mode but the
    problem does exist there, too. After the first return of sane_read with
    SANE_STATUS_GOOD and len=0 sane_read doesn't seem to get called again.
    Instead the frontend seems to get stuck somewhere.

    2)

    /dev/port access doesn't work anymore (with any frontend). It did work with
    Linux 2.0.36. The permissions should be set correctly. I'm using inb/outb
    now but I need to be root for that and don't like that :-)

    debug log as normal user:

    hmg@hmg1:~ > xsane
    [sanei_init_debug]: Setting debug level of mustek to 255.
    [mustek] attach: opening 0x32b as scsi device
    [mustek] dev_open: Invalid argument: can't open 0x32b as a SCSI device
    [sanei_init_debug]: Setting debug level of sanei_ab306 to 255.
    [sanei_ab306] sanei_ab306_ioport: using /dev/port access
    [mustek] dev_open: Error during device I/O: can't open 0x32b as a parallel-port device

    Any ideas about that? Has anything been changed at /dev/port in the Linux
    2.2 series?

    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 : Mon Jan 17 2000 - 15:46:44 PST