Hello, I am very interested in doing some developpment on the genesys driver. So I tried the genesys driver from the cvs html tree with a lide50 scanner. But it doesn't work on my system because it ends in an usb IO-error.
e.g. if I try scanimage with SANE_DEBUG_SANEI_USB=128 and SANE_DEBUG_GENESYS=255, I get: amd2800:/home/philipp# scanimage [sanei_debug] Setting debug level of genesys to 255. [genesys] SANE Genesys backend version 1.0 build 2 from sane-backends 1.0.15 [genesys] sane_init: authorize != null [sanei_debug] Setting debug level of sanei_usb to 128. [sanei_usb] sanei_usb_init: couldn't open /dev/usb/scanner0: No such device [sanei_usb] sanei_usb_init: couldn't open /dev/usb/scanner1: No such device ... [genesys] sane_init: config file line 22: trying to attach `usb 0x0461 0x0377' [sanei_usb] sanei_usb_find_devices: vendor=0x0461, product=0x0377 [genesys] sane_init: exit [genesys] sane_get_devices: start: local_only = false sane_get_devices: num_devices = 1 [genesys] sane_get_devices: exit [genesys] sane_open: start (devicename = `libusb:003:002') [genesys] sane_open: found `canon-lide-50' in devlist [genesys] WARNING: Your scanner is not fully supported or at least [genesys] had only limited testing. Please be careful and [genesys] report any failure/success to [genesys] henn...@meier-geinitz.de. Please provide as many [genesys] details as possible, e.g. the exact name of your [genesys] scanner and what does (not) work. [sanei_usb] sanei_usb_open: trying to open device `libusb:003:002' [sanei_usb] sanei_usb_open: found bulk-in endpoint (address 1) [sanei_usb] sanei_usb_open: we already have a bulk-in endpoint (address: 129), ignoring the new one [sanei_usb] sanei_usb_open: found bulk-out endpoint (address 2) [sanei_usb] sanei_usb_open: we already have a bulk-out endpoint (address: 2), ignoring the new one [sanei_usb] sanei_usb_open: found interupt-in endpoint (address 3) [sanei_usb] sanei_usb_open: we already have a int-in endpoint (address: 131), ignoring the new one [sanei_usb] sanei_usb_open: opened usb device `libusb:003:002' (*dn=0) [genesys] init_options: start [genesys] init_options: exit [genesys] genesys_init [genesys] genesys_init_registers [genesys] genesys_create_slope_table: 8 steps, step_type = 0, exposure_time = 250, same_speed =0 [genesys] genesys_create_slope_table: yres = 600.00 [genesys] slope_table[0] = 1 [genesys] slope_table[1] = 1 [genesys] slope_table[2] = 1 [genesys] slope_table[3] = 1 [genesys] slope_table[4] = 55 [genesys] slope_table[5] = 82 [genesys] slope_table[6] = 105 [genesys] slope_table[7] = 125 [genesys] genesys_create_slope_table: returns sum_time=371, completed [genesys] genesys_create_slope_table: 255 steps, step_type = 1, exposure_time = 250, same_speed =0 [genesys] genesys_create_slope_table: yres = 600.00 [genesys] slope_table[0] = 0 ... [genesys] slope_table[254] = 62 [genesys] genesys_create_slope_table: returns sum_time=9767, completed [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 12, value = 135, index = 0, len = 1 [sanei_usb] 0000: 04 ................ [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 12, value = 131, index = 0, len = 1 [sanei_usb] 0000: 0E ................ [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 12, value = 133, index = 0, len = 1 [sanei_usb] 0000: 00 ................ [genesys] genesys_write_register (0x0e, 0x00) completed [genesys] genesys_bulk_write_register (size = 162) [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 130, index = 0, len = 8 [sanei_usb] 0000: 01 11 00 00 A2 00 00 00 ................ [sanei_usb] sanei_usb_write_bulk: trying to write 162 bytes [sanei_usb] 0000: 01 20 02 30 03 1F 04 13 05 40 06 18 07 00 08 01 . .0.....@...... [sanei_usb] 0010: 09 03 0A 05 0B 07 10 00 11 00 12 00 13 00 14 00 ................ [sanei_usb] 0020: 15 00 16 33 17 05 18 31 19 2A 1A 00 1B 00 1C 00 ...3...1.*...... [sanei_usb] 0030: 1D 02 1E F0 1F 01 20 10 21 08 22 10 23 10 24 08 ...... .!.".#.$. [sanei_usb] 0040: 25 00 26 00 27 D4 28 01 29 FF 2C 02 2D 58 2E 6E %.&.'.(.).,.-X.n [sanei_usb] 0050: 2F 6E 30 00 31 40 32 2A 33 F8 34 40 35 01 36 00 /n0.1@2*3.4@5.6. [sanei_usb] 0060: 37 00 38 2A 39 F8 3D 00 3E 00 3F 01 52 13 53 17 7.8*9.=.>.?.R.S. [sanei_usb] 0070: 54 03 55 07 56 0B 57 0F 58 23 59 00 5A C1 5B 00 T.U.V.W.X#Y.Z.[. [sanei_usb] 0080: 5C 00 5D 00 5E 00 60 00 61 00 62 00 63 00 64 00 \.].^.`.a.b.c.d. [sanei_usb] 0090: 65 00 66 11 67 00 68 51 69 20 6A 40 6B FF 6C 00 e.f.g.hQi j@k.l. [sanei_usb] 00A0: 6D 01 m............... [sanei_usb] sanei_usb_write_bulk: wanted 162 bytes, wrote 162 bytes [genesys] reg[0x01] = 0x20 [genesys] reg[0x02] = 0x30 ... [genesys] reg[0x6a] = 0x40 [genesys] reg[0x6b] = 0xff [genesys] reg[0x6c] = 0x00 [genesys] reg[0x6d] = 0x01 [genesys] genesys_bulk_write_register: wrote 162 bytes [genesys] genesys_set_fe (init) [genesys] genesys_set_fe(): setting DAC 0 [genesys] genesys_fe_write_data (0x04, 0x0080) [genesys] genesys_bulk_write_register (size = 6) [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 130, index = 0, len = 8 [sanei_usb] 0000: 01 11 00 00 06 00 00 00 ................ [sanei_usb] sanei_usb_write_bulk: trying to write 6 bytes [sanei_usb] 0000: 51 04 3A 00 3B 80 Q.:.;........... [sanei_usb] sanei_usb_write_bulk: wanted 6 bytes, wrote 6 bytes [genesys] reg[0x51] = 0x04 [genesys] reg[0x3a] = 0x00 [genesys] reg[0x3b] = 0x80 [genesys] genesys_bulk_write_register: wrote 6 bytes [genesys] genesys_fe_write_data: completed [genesys] genesys_fe_write_data (0x00, 0x0000) [genesys] genesys_bulk_write_register (size = 6) [sanei_usb] sanei_usb_control_msg: rtype = 0x40, req = 4, value = 130, index = 0, len = 8 [sanei_usb] 0000: 01 11 00 00 06 00 00 00 ................ [sanei_usb] sanei_usb_write_bulk: trying to write 6 bytes [sanei_usb] 0000: 51 00 3A 00 3B 00 Q.:.;........... USB error: error writing to bulk endpoint 2: Connection timed out [sanei_usb] sanei_usb_write_bulk: write failed: Connection timed out [genesys] genesys_bulk_write_register: failed while writing bulk data: Error during device I/O [genesys] genesys_fe_write_data: Failed while bulk writing registers: Error during device I/O [genesys] genesys_set_fe: writing reg0 failed: Error during device I/O scanimage: open of device genesys:libusb:003:002 failed: Error during device I/O [genesys] sane_exit: start [genesys] sane_exit: exit amd2800:/home/philipp# After scanimage I've got an entry in /var/log/messages: Apr 8 08:41:05 localhost kernel: usb 3-4: bulk timeout on ep2out Apr 8 08:41:05 localhost kernel: usb 3-4: usbfs: USBDEVFS_BULK failed ep 0x2 len 162 ret -110 I think the second message is from drivers/usb/core/devio.c in the linux kernel source tree (I am using version 2.6.9): kfree(tbuf); if (i < 0) { dev_warn(&dev->dev, "usbfs: USBDEVFS_BULK failed " "ep 0x%x len %u ret %d\n", bulk.ep, bulk.len, i); return i; } return len2; I don't know what to do to prevent this IO-error. Thanks for helping Philipp