[sane-devel] Epson Perfection 2400 Photo scanner problems
Olaf Meeuwissen
olaf@epkowa.co.jp
Tue, 25 May 2004 09:23:11 +0900
<brook@biology.nmsu.edu> writes:
> > The epson backend recognized your scanner OK, reset it (ESC-@) and
> > then queries the scanner for its ID (ESC-I). Looks like it isn't
> > getting an answer, so I'd suggest you look what is happening in the
> > USB layer.
> >
> > You can see what's going on by setting the SANE_DEBUG_SANEI_USB
> > environment variable to something sensible. IIRC, a value of 5 to 10
> > should be more or less sensible.
>
> Thanks for the tip. It seems there are problems with the USB
> communications (see I/O and timeout errors below). Does anyone here
> know how to set up USB correctly on a NetBSD box? Note that the
> machine has a USB mouse that works fine.
>From your debugging output it looks like there is nothing wrong with
your USB setup but I'm not very familiar with BSD. The logs show one
error message though that I find particularly "alarming".
> Here is the output from 'scanimage -L':
>
[snip]
> [epson] sane_init, >usb libusb:/dev/usb1:/dev/ugen0<
> [epson] attach_one_usb(libusb:/dev/usb1:/dev/ugen0)
> [epson] SANE Epson Backend v0.2.36 - 2003-03-26
> [epson] attach(libusb:/dev/usb1:/dev/ugen0, 3)
> [epson] attach: opening libusb:/dev/usb1:/dev/ugen0
> [sanei_usb] sanei_usb_open: trying to open device `libusb:/dev/usb1:/dev/ugen0'
> [sanei_usb] sanei_usb_open: found bulk-in endpoint (address 1)
> [sanei_usb] sanei_usb_open: found bulk-out endpoint (address 2)
> [sanei_usb] sanei_usb_open: opened usb device `libusb:/dev/usb1:/dev/ugen0' (*dn=0)
> [sanei_usb] sanei_usb_get_vendor_product: device 0: vendorID: 0x04b8, productID: 0x011b
> [epson] Found valid EPSON scanner: 0x4b8/0x11b (vendorID/productID)
> [epson] send buf, size = 2
> [epson] buf[0] 1b .
> [epson] buf[1] 40 @
> [sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
> [sanei_usb] 0000: 1B 40 .@..............
> [sanei_usb] sanei_usb_write_bulk: wanted 2 bytes, wrote 2 bytes
> [sanei_usb] sanei_usb_read_bulk: trying to read 1 bytes
> USB error: error reading from bulk endpoint /dev/ugen0.01: Connection timed out
> [sanei_usb] sanei_usb_read_bulk: read failed: Connection timed out
> USB error: usb_clear_halt called, unimplemented on BSD
Er, not implemented on BSD? That could be a problem. From a quick
look at sanei_usb.c, it seems that your libusb implementation is at
fault.
> [epson] receive buf, expected = 1, got = 0
> [epson] get_identity_information()
> [epson] send buf, size = 2
> [epson] buf[0] 1b .
> [epson] buf[1] 49 I
> [sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
> [sanei_usb] 0000: 1B 49 .I..............
Does the debugging output just stop here or did you get time out
messages like with the ESC-@ command?
HTH,
--
Olaf Meeuwissen EPSON KOWA Corporation, PF1
FSF Associate Member #1962 sign up at http://member.fsf.org/
GnuPG key: 6BE37D90/AB6B 0D1F 99E7 1BF5 EB97 976A 16C7 F27D 6BE3 7D90
Penguin's lib! -- I hack, therefore I am -- LPIC-2