---------- 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