Fwd: [linux-usb-devel] driver for HP 5300C scanjet scanner

From: Oliver Neukum (Oliver.Neukum@lrz.uni-muenchen.de)
Date: Thu Oct 12 2000 - 06:06:30 PDT

  • Next message: Douglas Gilbert: "Re: Rescan SCSI Bus"

    ---------- Weitergeleitete Nachricht ----------
    Subject: [linux-usb-devel] driver for HP 5300C scanjet scanner
    Date: Thu, 12 Oct 2000 07:11:25 -0400 (EDT)
    From: jhall@uu.net (Jeremy Hall)

    Hello,

    In the recent week, I've been working on the microtek driver to rewrite it
    to support the HP Scanjet 5300. Rumours have it this driver will also
    work for the HP 3100 and a minulta scanner. The HP has two bulk endpoints
    and one interrupt endpoint. You send a command out the out endpoint, if
    data is needing to be transferred, it transfers that, reads the results of
    the command from the image endpoint, and a status byte is sent to the
    interrupt endpoint when a sequence is finished.

    known issues with this driver:

    We can miss a status interrupt somehow and therefore hang the driver,
    making it impossible to recover without rebooting the computer. A
    scheduler should be envoked to work around this.

    If ctrl-c is pressed while sane is scanning an image, the driver doesn't
    properly deal with this. There is probably some minor thig I am missing.

    When scanning a LARGE document, like a 24bit colour image, the driver may
    hang at the end of the transfer.

    the driver for some reason has difficulty unloading, in fact it isn't
    possible to unload the driver without a system hang. It seems to be
    somewhere in when the driver tries to abort the command urb.

    notes:

    Use Sane's avision driver and edit the source to recognize the HP
    5300. Currently, it won't recognize it because the vendor string doesn't
    include the word avision. Use the SCSI sg driver to talk to the scanner.

    Since both the command handler and status handler can update the srb, race
    conditions can be seen. Efforts have been made to minimize this, however.

    This is my first kernel anything, and although not all the work is
    original, my thought processes are not yet accustomed to kernel
    thinking...but I'm getting there.

    * * * W A R N I N G * * *

    It is STRONGLY recommended to mount your filesystems in read-only mode
    before experimenting with the driver. Since the sysrq refuses to work
    despite playing with the keycodes junk, I must remount my filesystems ro
    to avoid data loss. I have found that

    cat /proc/kmsg|nc -l -p <portnum>

    is most helpful in retrieving data concerning a freeze. (kill klogd) You
    may find this information elementary, if so, please just disregard it.

    The driver is attached. reports welcome.

    -------------------------------------------------------

    --
    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 : Thu Oct 12 2000 - 06:04:21 PDT