Third attempt, trying to work my way around alioth's ridiculous
anti-spam measures...

My trusty Epson GT-7000 died today. Annoying, but not the end of the
world, given that I also have an Epson Stylus Office BX300F all-in-one.
However, I can't get it working with sane:

        riva:~# scanimage -L
        device `epson:libusb:001:003' is a Epson NX300 flatbed scanner
        device `net:localhost:epson:libusb:001:003' is a Epson NX300 flatbed 
scanner
        riva:~# scanimage
        scanimage: sane_start: Operation not supported

Running with extra debugging gave a clue:

        USB error: could not set config 1: Device or resource busy

Removing the usblp module fixed that, but it still gave me the
"Operation not supported" error. The debugging output is now:

        riva:~# SANE_DEBUG_SANEI_USB=128 scanimage
        [sanei_debug] Setting debug level of sanei_usb to 128.
        [sanei_usb] sanei_usb_init: Looking for kernel scanner devices
        [sanei_usb] sanei_usb_init: can't stat /dev/usb/: No such file or 
directory
        [sanei_usb] sanei_usb_init: Looking for libusb devices
        usb_set_debug: Setting debugging level to 255 (on)
        usb_os_find_busses: Found 002
        usb_os_find_busses: Found 003
        usb_os_find_busses: Found 005
        usb_os_find_busses: Found 001
        usb_os_find_busses: Found 004
        usb_os_find_devices: Found 001 on 002
        usb_os_find_devices: Found 001 on 003
        usb_os_find_devices: Found 001 on 005
        usb_os_find_devices: Found 093 on 001
        usb_os_find_devices: Found 001 on 001
        usb_os_find_devices: Found 003 on 001
        error obtaining child information: Inappropriate ioctl for device
        error obtaining child information: Inappropriate ioctl for device
        usb_os_find_devices: Found 001 on 004
        [sanei_usb] sanei_usb_init: device 0x0000/0x0000 looks like a root hub
        [sanei_usb] sanei_usb_init: device 0x0000/0x0000 looks like a root hub
        [sanei_usb] sanei_usb_init: device 0x0000/0x0000 looks like a root hub
        [sanei_usb] sanei_usb_init: device 0x0421/0x01c7, interface 0 doesn't 
look like a scanner (0/8)
        [sanei_usb] sanei_usb_init: device 0x0421/0x01c7: no suitable interfaces
        [sanei_usb] sanei_usb_init: device 0x0000/0x0000 looks like a root hub
        [sanei_usb] sanei_usb_init: found libusb device (0x04b8/0x0848) 
interface 0  at libusb:001:003
        [sanei_usb] sanei_usb_init: device 0x0000/0x0000 looks like a root hub
        [sanei_usb] sanei_usb_init: found 1 devices
        [sanei_usb] sanei_usb_find_devices: vendor=0x04b8, product=0x0848
        [sanei_usb] sanei_usb_open: trying to open device `libusb:001:003'
        [sanei_usb] sanei_usb_open: configuration nr: 0
        [sanei_usb] sanei_usb_open:     interface nr: 0
        [sanei_usb] sanei_usb_open:   alt_setting nr: 0
        [sanei_usb] sanei_usb_open: endpoint nr: 0
        [sanei_usb] sanei_usb_open: direction: 0
        [sanei_usb] sanei_usb_open: address: 1 transfertype: 2
        [sanei_usb] sanei_usb_open: found bulk-out endpoint (address 0x01)
        [sanei_usb] sanei_usb_open: endpoint nr: 1
        [sanei_usb] sanei_usb_open: direction: 128
        [sanei_usb] sanei_usb_open: address: 2 transfertype: 2
        [sanei_usb] sanei_usb_open: found bulk-in endpoint (address 0x02)
        [sanei_usb] sanei_usb_open: configuration nr: 0
        [sanei_usb] sanei_usb_open:     interface nr: 1
        [sanei_usb] sanei_usb_open:   alt_setting nr: 0
        [sanei_usb] sanei_usb_open: endpoint nr: 0
        [sanei_usb] sanei_usb_open: direction: 0
        [sanei_usb] sanei_usb_open: address: 4 transfertype: 2
        [sanei_usb] sanei_usb_open: found bulk-out endpoint (address 0x04)
        [sanei_usb] sanei_usb_open: we already have a bulk-out endpoint 
(address: 0x01), ignoring the new one
        [sanei_usb] sanei_usb_open: endpoint nr: 1
        [sanei_usb] sanei_usb_open: direction: 128
        [sanei_usb] sanei_usb_open: address: 5 transfertype: 2
        [sanei_usb] sanei_usb_open: found bulk-in endpoint (address 0x05)
        [sanei_usb] sanei_usb_open: we already have a bulk-in endpoint 
(address: 0x82), ignoring the new one
        [sanei_usb] sanei_usb_open: opened usb device `libusb:001:003' (*dn=0)
        [sanei_usb] sanei_usb_get_vendor_product: device 0: vendorID: 0x04b8, 
productID: 0x0848
        [sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
        [sanei_usb] 0000: 1B 40                                           . at 
..............
        [sanei_usb] sanei_usb_write_bulk: wanted 2 bytes, wrote 2 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 1 bytes
        [sanei_usb] 0000: 06                                              
................
        [sanei_usb] sanei_usb_read_bulk: wanted 1 bytes, got 1 bytes
        [sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
        [sanei_usb] 0000: 1B 49                                           
.I..............
        [sanei_usb] sanei_usb_write_bulk: wanted 2 bytes, wrote 2 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 4 bytes
        [sanei_usb] 0000: 02 12 13 00                                     
................
        [sanei_usb] sanei_usb_read_bulk: wanted 4 bytes, got 4 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 19 bytes
        [sanei_usb] 0000: 44 37 52 4B 00 52 2C 01 52 58 02 52 B0 04 41 D8 
D7RK.R,.RX.R..A.
        [sanei_usb] 0010: 27 D8 36                                        
'.6.............
        [sanei_usb] sanei_usb_read_bulk: wanted 19 bytes, got 19 bytes
        [sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
        [sanei_usb] 0000: 1B 66                                           
.f..............
        [sanei_usb] sanei_usb_write_bulk: wanted 2 bytes, wrote 2 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 4 bytes
        [sanei_usb] 0000: 02 12 2A 00                                     
..*.............
        [sanei_usb] sanei_usb_read_bulk: wanted 4 bytes, got 4 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 42 bytes
        [sanei_usb] 0000: 00 80 D8 27 A0 41 00 00 00 00 00 C0 D8 27 D8 36 
...'.A.......'.6
        [sanei_usb] 0010: 00 00 00 00 00 00 00 00 00 00 4E 58 33 30 30 20 
..........NX300 
        [sanei_usb] 0020: 20 20 20 20 20 20 20 20 20 20                         
    ......
        [sanei_usb] sanei_usb_read_bulk: wanted 42 bytes, got 42 bytes
        [sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
        [sanei_usb] 0000: 1B 44                                           
.D..............
        [sanei_usb] sanei_usb_write_bulk: wanted 2 bytes, wrote 2 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 1 bytes
        [sanei_usb] 0000: 06                                              
................
        [sanei_usb] sanei_usb_read_bulk: wanted 1 bytes, got 1 bytes
        [sanei_usb] sanei_usb_write_bulk: trying to write 1 bytes
        [sanei_usb] 0000: 10                                              
................
        [sanei_usb] sanei_usb_write_bulk: wanted 1 bytes, wrote 1 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 1 bytes
        [sanei_usb] 0000: 15                                              
................
        [sanei_usb] sanei_usb_read_bulk: wanted 1 bytes, got 1 bytes
        [sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
        [sanei_usb] 0000: 1B 44                                           
.D..............
        [sanei_usb] sanei_usb_write_bulk: wanted 2 bytes, wrote 2 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 1 bytes
        [sanei_usb] 0000: 06                                              
................
        [sanei_usb] sanei_usb_read_bulk: wanted 1 bytes, got 1 bytes
        [sanei_usb] sanei_usb_write_bulk: trying to write 1 bytes
        [sanei_usb] 0000: 0E                                              
................
        [sanei_usb] sanei_usb_write_bulk: wanted 1 bytes, wrote 1 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 1 bytes
        [sanei_usb] 0000: 15                                              
................
        [sanei_usb] sanei_usb_read_bulk: wanted 1 bytes, got 1 bytes
        [sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
        [sanei_usb] 0000: 1B 44                                           
.D..............
        [sanei_usb] sanei_usb_write_bulk: wanted 2 bytes, wrote 2 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 1 bytes
        [sanei_usb] 0000: 06                                              
................
        [sanei_usb] sanei_usb_read_bulk: wanted 1 bytes, got 1 bytes
        [sanei_usb] sanei_usb_write_bulk: trying to write 1 bytes
        [sanei_usb] 0000: 0C                                              
................
        [sanei_usb] sanei_usb_write_bulk: wanted 1 bytes, wrote 1 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 1 bytes
        [sanei_usb] 0000: 15                                              
................
        [sanei_usb] sanei_usb_read_bulk: wanted 1 bytes, got 1 bytes
        [sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
        [sanei_usb] 0000: 1B 66                                           
.f..............
        [sanei_usb] sanei_usb_write_bulk: wanted 2 bytes, wrote 2 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 4 bytes
        [sanei_usb] 0000: 02 12 2A 00                                     
..*.............
        [sanei_usb] sanei_usb_read_bulk: wanted 4 bytes, got 4 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 42 bytes
        [sanei_usb] 0000: 00 80 D8 27 A0 41 00 00 00 00 00 C0 D8 27 D8 36 
...'.A.......'.6
        [sanei_usb] 0010: 00 00 00 00 00 00 00 00 00 00 4E 58 33 30 30 20 
..........NX300 
        [sanei_usb] 0020: 20 20 20 20 20 20 20 20 20 20                         
    ......
        [sanei_usb] sanei_usb_read_bulk: wanted 42 bytes, got 42 bytes
        [sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
        [sanei_usb] 0000: 1B 46                                           
.F..............
        [sanei_usb] sanei_usb_write_bulk: wanted 2 bytes, wrote 2 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 4 bytes
        [sanei_usb] 0000: 02 12 00 00                                     
................
        [sanei_usb] sanei_usb_read_bulk: wanted 4 bytes, got 4 bytes
        [sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
        [sanei_usb] 0000: 1B 66                                           
.f..............
        [sanei_usb] sanei_usb_write_bulk: wanted 2 bytes, wrote 2 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 4 bytes
        [sanei_usb] 0000: 02 12 2A 00                                     
..*.............
        [sanei_usb] sanei_usb_read_bulk: wanted 4 bytes, got 4 bytes
        [sanei_usb] sanei_usb_read_bulk: trying to read 42 bytes
        [sanei_usb] 0000: 00 80 D8 27 A0 41 00 00 00 00 00 C0 D8 27 D8 36 
...'.A.......'.6
        [sanei_usb] 0010: 00 00 00 00 00 00 00 00 00 00 4E 58 33 30 30 20 
..........NX300 
        [sanei_usb] 0020: 20 20 20 20 20 20 20 20 20 20                         
    ......
        [sanei_usb] sanei_usb_read_bulk: wanted 42 bytes, got 42 bytes
        [sanei_usb] sanei_usb_close: closing device 0
        [sanei_usb] sanei_usb_open: trying to open device `libusb:001:003'
        [sanei_usb] sanei_usb_open: configuration nr: 0
        [sanei_usb] sanei_usb_open:     interface nr: 0
        [sanei_usb] sanei_usb_open:   alt_setting nr: 0
        [sanei_usb] sanei_usb_open: endpoint nr: 0
        [sanei_usb] sanei_usb_open: direction: 0
        [sanei_usb] sanei_usb_open: address: 1 transfertype: 2
        [sanei_usb] sanei_usb_open: found bulk-out endpoint (address 0x01)
        [sanei_usb] sanei_usb_open: we already have a bulk-out endpoint 
(address: 0x01), ignoring the new one
        [sanei_usb] sanei_usb_open: endpoint nr: 1
        [sanei_usb] sanei_usb_open: direction: 128
        [sanei_usb] sanei_usb_open: address: 2 transfertype: 2
        [sanei_usb] sanei_usb_open: found bulk-in endpoint (address 0x02)
        [sanei_usb] sanei_usb_open: we already have a bulk-in endpoint 
(address: 0x82), ignoring the new one
        [sanei_usb] sanei_usb_open: configuration nr: 0
        [sanei_usb] sanei_usb_open:     interface nr: 1
        [sanei_usb] sanei_usb_open:   alt_setting nr: 0
        [sanei_usb] sanei_usb_open: endpoint nr: 0
        [sanei_usb] sanei_usb_open: direction: 0
        [sanei_usb] sanei_usb_open: address: 4 transfertype: 2
        [sanei_usb] sanei_usb_open: found bulk-out endpoint (address 0x04)
        [sanei_usb] sanei_usb_open: we already have a bulk-out endpoint 
(address: 0x01), ignoring the new one
        [sanei_usb] sanei_usb_open: endpoint nr: 1
        [sanei_usb] sanei_usb_open: direction: 128
        [sanei_usb] sanei_usb_open: address: 5 transfertype: 2
        [sanei_usb] sanei_usb_open: found bulk-in endpoint (address 0x05)
        [sanei_usb] sanei_usb_open: we already have a bulk-in endpoint 
(address: 0x82), ignoring the new one
        [sanei_usb] sanei_usb_open: opened usb device `libusb:001:003' (*dn=0)
        [sanei_usb] sanei_usb_close: closing device 0
        scanimage: sane_start: Operation not supported

I tried running it under strace to see if I could find out *which*
operation wasn't supported, but without success. The end of the
output looks like:

        write(3, "\0\0\0\0\1\0\0\3\0\0\0\4tet\0", 16) = 16
        read(3, "\0\0\0\0\1\0\0\3", 8192)       = 8
        write(3, "\0\0\0\1", 4)                 = 4
        read(3, "\0\0\0\0\0\0\0\2\0\0\0\0\0\0\0\25epson:libusb:001"..., 8192) = 
81
        open("/dev/bus/usb/001/003", O_RDWR)    = 4
        ioctl(4, USBDEVFS_SETCONFIGURATION, 0xbff00f34) = -1 EBUSY (Device or 
resource busy)
        ioctl(4, USBDEVFS_CLAIMINTERFACE, 0xbff00f34) = 0
        rt_sigaction(SIGHUP, {0x804ada0, [HUP], SA_RESTART}, {SIG_DFL}, 8) = 0
        rt_sigaction(SIGINT, {0x804ada0, [INT], SA_RESTART}, {SIG_DFL}, 8) = 0
        rt_sigaction(SIGPIPE, {0x804ada0, [PIPE], SA_RESTART}, {SIG_DFL}, 8) = 0
        rt_sigaction(SIGTERM, {0x804ada0, [TERM], SA_RESTART}, {SIG_DFL}, 8) = 0
        ioctl(4, USBDEVFS_RELEASEINTERFACE, 0xbff00dd4) = 0
        close(4)                                = 0
        write(2, "scanimage: sane_start: Operation"..., 47scanimage: 
sane_start: Operation not supported
        ) = 47

I can't see any obvious failures there apart from the initial
USBDEVFS_SETCONFIGURATION ioctl. Is that the problem here? If
so, I wouldn't have expected it to go on to claim and release
the interface. What can I do about it? I'm not sure what to
try next. Any ideas?

Thanks,

Tet

Reply via email to