[sane-devel] scanimage: sane_start: Operation not supported

Tethys sta551 at astradyne.co.uk
Tue Apr 17 08:59:52 UTC 2012


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



More information about the sane-devel mailing list