[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