Hi!
Henning Meier-Geinitz wrote:
> Hi,
>
> On Tue, Jul 19, 2005 at 06:51:04PM +0930, Paul Smedley wrote:
>> Updated patch, along with patch for configure.in attached:
>
> Your code is in CVS now.
Thanks - some small changes in attached patch.
Cheers,
Paul.
-------------- next part --------------
--- sanei_usb-cvs.c Mon Aug 8 01:36:04 2005
+++ sanei_usb.c Mon Aug 8 01:51:12 2005
@@ -70,7 +70,7 @@
#define MAX_RW 64000
static int usbcalls_timeout = 30 * 1000; /* 30 seconds */
USBHANDLE dh;
-HEV UsbIrqStartHev;
+PHEV pUsbIrqStartHev=NULL;
static
struct usb_descriptor_header *GetNextDescriptor( struct usb_descriptor_header
*currHead, UCHAR *lastBytePtr)
@@ -1066,11 +1066,11 @@
case USB_DT_INTERFACE:
interface = (struct usb_interface_descriptor *) pDescHead;
DBG (5, "Found %d endpoints\n",interface->bNumEndpoints);
+ DBG (5, "bAlternateSetting = %d\n",interface->bAlternateSetting);
break;
case USB_DT_ENDPOINT:
endpoint = (struct usb_endpoint_descriptor*)pDescHead;
address = endpoint->bEndpointAddress;
- //address = endpoint->bEndpointAddress &
USB_ENDPOINT_ADDRESS_MASK;
direction = endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK;
transfer_type = endpoint->bmAttributes & USB_ENDPOINT_TYPE_MASK;
/* save the endpoints we need later */
@@ -1208,7 +1208,7 @@
#ifdef HAVE_LIBUSB
libusb_timeout = timeout;
#else
- DBG (1, "sanei_usb_close: libusb support missing\n");
+ DBG (1, "sanei_usb_set_timeout: libusb support missing\n");
#endif /* HAVE_LIBUSB */
}
@@ -1593,15 +1593,15 @@
#ifdef HAVE_USBCALLS
int rc;
USHORT usNumBytes=*size;
- DBG (5, "Entered usbcalls UsbBulkWrite with dn = %d\n",dn);
- DBG (5, "Entered usbcalls UsbBulkWrite with dh = %p\n",dh);
- DBG (5, "Entered usbcalls UsbBulkWrite with int_in_ep =
0x%02x\n",devices[dn].int_in_ep);
- DBG (5, "Entered usbcalls UsbBulkWrite with interface_nr =
%d\n",devices[dn].interface_nr);
- DBG (5, "Entered usbcalls UsbBulkWrite with bytes to read =
%u\n",usNumBytes);
+ DBG (5, "Entered usbcalls UsbIrqStart with dn = %d\n",dn);
+ DBG (5, "Entered usbcalls UsbIrqStart with dh = %p\n",dh);
+ DBG (5, "Entered usbcalls UsbIrqStart with int_in_ep =
0x%02x\n",devices[dn].int_in_ep);
+ DBG (5, "Entered usbcalls UsbIrqStart with interface_nr =
%d\n",devices[dn].interface_nr);
+ DBG (5, "Entered usbcalls UsbIrqStart with bytes to read =
%u\n",usNumBytes);
if (devices[dn].int_in_ep){
rc = UsbIrqStart (dh,devices[dn].int_in_ep,devices[dn].interface_nr,
- usNumBytes, (char *) buffer, (HEV *) UsbIrqStartHev);
+ usNumBytes, (char *) buffer, pUsbIrqStartHev);
DBG (5, "rc of UsbIrqStart = %d\n",rc);
}
else
From [email protected] Sun Aug 7 22:20:19 2005
From: [email protected] (Simon Munton)
Date: Sun Aug 7 22:20:30 2005
Subject: [sane-devel] Epson Perfection 2480 Photo: firmware loading
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<[email protected]>
Message-ID: <[email protected]>
On Sunday 07 August 2005 12:46 pm, Julien BLACHE wrote:
> While speaking of the 2480, I used it with the epkowa backend
> (requires evil non-free binary-only libraries), and did not have to
> suffer the waiting time after the firmware loading. Would it be
> possible to do something similar in the snapscan backend ?
>
> (something like a SANE daemon to automatically load firmwares into
> scanners which need it, triggered by hotplug, would be a really nice
> thing to have... shouldn't be too hard to do, but requires a snippet
> of code for the firmware loading for each and every scanner...)
>
Here's something I use for this very purpose (attached):
The shell script epson2480 and firmware.usermap go in /etc/hotplug/usb.
Compile epson_loader.c with the following command:
gcc -o epson_loader epson_loader.c -lusb
(needs libusb) and put the executable in /usr/bin (or whereever, adjust path
in epson2480 to suit) You may need to change the path to the firmware file in
epson_loader.c.
The result of this is the firmware is downloaded when the scanner is switched
on.
There is also epson_buttons.c which will tell you which button has been
pressed most recently. Could be worked up to poll the buttons regularly and
launch scanimage etc automatically.
All of it should probably be made more robust, but it works for me.
Simon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: epson2480
Type: application/x-shellscript
Size: 894 bytes
Desc: not available
Url :
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20050807/60f641ff/epson2480-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: epson_buttons.c
Type: text/x-csrc
Size: 1560 bytes
Desc: not available
Url :
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20050807/60f641ff/epson_buttons-0001.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: epson_loader.c
Type: text/x-csrc
Size: 2354 bytes
Desc: not available
Url :
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20050807/60f641ff/epson_loader-0001.c
-------------- next part --------------
# This file is part of sane-backends.
#
# The entries below are used to detect a USB scanner when it's plugged in
# and then run the libusbscanner script to change the ownership and
# permissions on the "device node" used by libusb.
#
# The 0x0003 match flag means the device is matched by its vendor and
# product IDs.
#
# Sample entry (replace 0xVVVV and 0xPPPP with vendor ID and product ID
respectively) :
# libusbscanner 0x0003 0xVVVV 0xPPPP 0x0000 0x0000
0x00 0x00 0x00 0x00 0x00
0x00 0x00000000
#
# usb module match_flags idVendor idProduct bcdDevice_lo bcdDevice_hi
bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass
bInterfaceProtocol driver_info
#
#
# The following list already contains a lot of scanners. If your scanner
# isn't mentioned there, add it as explained above and mail the entry to
# the sane-devel mailing list.
#
# Epson Corp.|Perfection 2480
epson2480 0x0003 0x04b8 0x0121 0x0000 0x0000
0x00 0x00 0x00 0x00 0x00
0x00 0x00000000
From [email protected] Mon Aug 8 05:34:00 2005
From: [email protected] (Ken Ramey)
Date: Mon Aug 8 05:34:32 2005
Subject: [sane-devel] Epson 2480 Transparency Unit
Message-ID: <[email protected]>
In an attempt to solve the problem I reported earlier - getting
transparency scans with colored vertical bands - I installed the
latest version of sane-backends (1.0.1.16). This seems to have
aggravated my problems. The vertical bands are still present and in
addition, I am no longer able to get reasonable preview scans.
Instead, the preview now has only the first slide slot and a very
small portion of the second slot.
Any suggestions?
Thanks.
ken