[sane-devel] HP 3500c -- Error during device I/O
David Liontooth
liontooth at cogweb.net
Sun Apr 29 05:27:19 UTC 2007
I'm trying to get an HP 3500c scanner working on a friend's computer,
where I only have ssh access. He's running Ubuntu Dapper, which uses the
1.0.17 libraries; a friendly soul patched in the rts8801-sane code and
posted the debs at
http://ubuntuforums.org/showthread.php?p=1030523#post1030523
The scanner is now correctly detected with lsusb:
Bus 002 Device 002: ID 03f0:2205 Hewlett-Packard ScanJet 3500c
Or in detail below. The scanner starts, but then fails to produce a
scan, exiting with "scanimage: sane_read: Error during device I/O". We
plugged the scanner straight into the usb port, with no intervening hubs.
The scanimage test looks promising, but then just sits there:
# scanimage -T -v
scanimage: rounded value of br-x from 215.9 to 215.893
scanimage: rounded value of br-y from 298.45 to 298.454
scanimage: scanning image of size 5099x7050 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 15297 bytes...
What's likely the problem? Is it just a matter of getting the new
driver, or could there be a problem with some other subsystem? Any other
tests we could run?
Dave
More details:
If I run strace, I get this sort of thing:
#strace scanimage -d hp_rts88xx:libusb:002:002 >image.pnm
<snip>
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbff3de58) = -1 EAGAIN (Resource
temporarily unavailable)
select(4, NULL, [], NULL, {0, 1000}) = 0 (Timeout)
gettimeofday({1177791050, 891210}, NULL) = 0
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbff3de58) = 0
gettimeofday({1177791050, 891849}, NULL) = 0
ioctl(3, USBDEVFS_SUBMITURB, 0xbff3de24) = 0
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbff3de68) = -1 EAGAIN (Resource
temporarily unavailable)
select(4, NULL, [3], NULL, {0, 1000}) = 1 (out [3], left {0, 1000})
gettimeofday({1177791050, 892424}, NULL) = 0
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbff3de68) = 0
gettimeofday({1177791050, 892509}, NULL) = 0
ioctl(3, USBDEVFS_SUBMITURB, 0xbff3de04) = 0
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbff3de48) = -1 EAGAIN (Resource
temporarily unavailable)
select(4, NULL, [3], NULL, {0, 1000}) = 0 (Timeout)
gettimeofday({1177791050, 893218}, NULL) = 0
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbff3de48) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0})
<snip>
write(2, "scanimage: sane_read: Error duri"..., 46scanimage:
sane_read: Error during device I/O
) = 46
<snip>
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbff3ef98) = -1 EAGAIN (Resource
temporarily unavailable)
select(4, NULL, [3], NULL, {0, 1000}) = 1 (out [3], left {0, 1000})
gettimeofday({1177791092, 724348}, NULL) = 0
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbff3ef98) = 0
ioctl(3, USBDEVFS_RELEASEINTERFACE, 0xbff3f044) = 0
close(3) = 0
munmap(0xb7db7000, 266240) = 0
munmap(0xb7d76000, 266240) = 0
munmap(0xb7d35000, 266240) = 0
munmap(0xb7df8000, 97164) = 0
write(1,
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 455) = 455
munmap(0xb7fc3000, 4096) = 0
exit_group(9)
# lsusb -s 2:2 -v
Bus 002 Device 002: ID 03f0:2205 Hewlett-Packard ScanJet 3500c
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x03f0 Hewlett-Packard
idProduct 0x2205 ScanJet 3500c
bcdDevice 1.00
iManufacturer 1 Hewlett-Packard
iProduct 2 hp scanjet 3500c series
iSerial 8 SCN2A8N31DP1P
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 6 USB SCANNER
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 255
iInterface 7
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 250
Device Status: 0x0001
Self Powered
More information about the sane-devel
mailing list