Wykres commitów

65 Commity (ff534c16cb9ea5b51a0f89181a3c57d51bf7b7e3)

Autor SHA1 Wiadomość Data
Reinhold Kainhofer c0b26b4568 sanei_usb: Add function sanei_usb_get_endpoint, add range check in sanei_usb_set_endpoint
Since we now have the possibility to change the endpoint used for a particular USB communication type,
we also need a way to retrieve the current endpoint, so that one can e.g. reset the endpoint to the
old value after a single usb operation on a different endpoint.
2011-01-31 22:42:29 +01:00
Reinhold Kainhofer 6dc2a7d03a Add some sanity checks 2011-01-15 21:41:06 +01:00
Reinhold Kainhofer 039f21aaf8 Add function to set USB endpoints to use
Added
 void sanei_usb_set_endpoint (SANE_Int dn, SANE_Int ep_type, SANE_Int ep);

This function allows the user to set the endpoint to use on
the given device for the given endpoint type (e.g. bulk in).
Some scanners have multiple bulk in/out endpoints but use
only one for communication (not the one detected during auto-detection),
so one call to the new function will change the used endpoint.
Some scanners use two different endpoint for different purposes,
so in that case each read/write call needs to be preceeded
by a call to that function to set the proper endpoint.

ep_type is a bitmask and is usually of the form
    (USB_DIR_IN|USB_ENDPOINT_TYPE_BULK)
2011-01-15 21:40:55 +01:00
Stéphane Voltz a717c4658a add sanei_usb_reset function 2010-05-16 07:37:34 +02:00
m. allan noah dc6a1ef2b0 reset the libusb device handle after bus scan. patch from Hans Petter Selasky (FreeBSD) 2009-09-14 13:31:15 -04:00
Nicolas Martin 1e381db161 Adds debug verbosity to last sanei_usb.c patch.
This commit adds some debug verbosity to the last committed sanei_usb.c patch
id 5b69fa8c6d
for fixing the choice of usb endpoints, in the sanei_usb_open() seek for endpoints loop.
2009-05-25 22:01:43 +02:00
Nicolas Martin 5b69fa8c6d Fix for Pixma MP730 in pixma backend and sanei_usb
Updated following files for Pixma MP730 support:
- backend/pixma_mp730.c:
  Add width scan area fitting
  Fix end scan sequence protocol
- sanei/sanei_usb.c:
  In sanei_usb_open(), changed the "seek for endpoints" loop
  so that it first looks for those interfaces (in config 0)
  that have been detected as potential scanners in
  sanei_usb_init()
2009-05-22 10:29:37 +02:00
Julien BLACHE ad1a44d92a Add support for libusb-1.0. 2009-02-19 13:57:45 +00:00
m. allan noah 92261307ec * sanei/sanei_usb.c: rescan usb every time sanei_usb_init() is called
- remove missing devices, add new devices to global lists
- based on code from stef.dev@free.fr
2009-01-11 00:10:02 +00:00
Julien BLACHE e629a77f7e Fix assignment in if. 2008-12-01 10:11:54 +00:00
m. allan noah b57a64d79e * sanei/sanei_usb.c, include/sane/sanei_usb.h:
- shorten debug lines to fit in 80 chars
- add sanei_usb_clear_halt() required by upcoming canon_dr backend
2008-11-05 02:30:44 +00:00
m. allan noah deafc44600 sanei/sanei_usb.c: allow sanei_usb_init() to run once per second
backend/fujitsu.c: backend v1.0.60, relocate call to sanei_usb_init(),          free sane_devArray before calloc'ing a new one
2008-04-28 00:48:48 +00:00
Julien BLACHE 8ed0d66582 Do not blindly use ftok() in snapscani_mutex_open(). Compute an IPC key based
on the product ID, bus number and device number for libusb devices; fallback
to ftok() otherwise and check the return value.
2008-03-28 20:39:02 +00:00
m. allan noah 127c77c1e5 add class 6 to usb detection code, fix scsi detection bug 2008-03-28 14:13:23 +00:00
Gerhard Jaeger 66269b670e Added sanei_usb_get_descriptor() to retrieve more info about a
device descriptor
2007-11-16 08:46:32 +00:00
Wittawat Yamwong 2baa01effa Modified sanei_read_int(): call usb_clear_halt() if and only if the endpoint
is halted.
2006-05-26 07:58:15 +00:00
Henning Geinitz 92d177c049 Added USB support for DragonFlyBSD (bug #303183). 2006-03-11 12:56:34 +00:00
Henning Geinitz 1695dd4278 Workaround for compilation problem on Windows/cygwin. 2006-02-04 20:51:07 +00:00
Henning Geinitz 2b425ad61c Added checks for altsetting =! 0. 2006-01-22 16:52:13 +00:00
Henning Geinitz a157bd3f09 Added warning if libusb support is not built in and some more debug messages. 2006-01-07 18:04:17 +00:00
Oliver Schwartz 034f05523d Fixes for Benq 5000 2005-11-02 19:22:06 +00:00
Henning Geinitz f85bbc0a0b Added support for detecting vendor and product id with FreeBSD kernel scanner
driver (based on patch in FreeBSD ports).
2005-11-01 20:57:03 +00:00
Henning Geinitz b27183004c Ignore EBUSY from usb_set_configuration. This function fails, if a different
interface of the same device is claimed (e.g. by usblp).
2005-09-23 12:52:35 +00:00
Henning Geinitz 4b2d240870 Minor fixes for usbcalls interface (patch from Paul Smedley <paul@smedley.info>). 2005-08-09 16:28:38 +00:00
Henning Geinitz b29ea31da2 Fixed some compilation warnings. 2005-08-07 15:53:03 +00:00
Henning Geinitz 2d224c4a75 Added support for usb functionality on OS/2 using the usbcalls interface (patch
from Paul Smedley <paul@smedley.info>).
2005-08-07 14:26:33 +00:00
Henning Geinitz 6c3427c52d Changes to support SANE on ZETA. Not all
patches have been applied yet, but it's a start. The backends
	  are not installed as shared libs but as add-ons, which are shared libs
	  but in a specific folder in [/system|~]/config/add-ons/ named SANE/.
	  The install target has been changed to account for this,
	  Some files don't exist in BeOS/ZETA (ipc.h, ...).
	  Bbackend function names get a prefix, I suppose to avoid namespace clashes.
	  Though we do have a libdl to implement dl_open, the native way is prefered.
	  Added a --with-docdir= configure arg.
	  BeOS has a broken get[name|addr]info() from bind. This is fixed in ZETA R1.
	  libtool needs -no-undefined. Various VPATH fixes.
	  Check for <be/drivers/USB_scanner.h>, but not used yet.
	  No S_IFSOCK (sockets are fds to /dev/net/api). Stub pio code, untested.
	  Patch from Francois Revol <revol@free.fr>.
2005-07-15 21:59:25 +00:00
Henning Geinitz 2dd4b1822c Fixed comment (we still use 30 seconds USB timeout by default). 2005-07-15 18:16:35 +00:00
Rene Rebe e5193fdcae Added support to set the USB timeout. 2005-07-15 09:02:02 +00:00
Gerard Klaver 7e1d450ca9 -More debug info for control and isochronous mode
-Detects endpoints for different configurations, interface and
altsetting numbers > 0
- Routine added for changing configuration, interface or altsetting
number
   sanei_usb_set_configuration
   sanei_usb_claim_interface
   sanei_usb_release_interface
   sanei_usb_set_altinterface
2005-04-15 20:48:24 +00:00
Rene Rebe 2d579021a0 2004-11-19 Rene Rebe <rene@exactcode.de>
* sanei/sanei_usb.c configure.in: use usb_interrupt_read instead of
          usb_bulk_read for sanei_usb_read_int. Fixes bug #300878. Added a                missing DBG output in sanei_usb_read_int. Check for
          usb_interrupt_read to make sure, we have at least version 0.1.8.
2004-11-19 16:44:32 +00:00
Gerhard Jaeger 62e590d341 Removed "wrong" return... 2004-08-30 13:26:41 +00:00
Gerhard Jaeger d27a5ab9ce Fixed memory leak. 2004-08-30 11:52:15 +00:00
Gerhard Jaeger ab64285ff9 Added resource manager library support. 2004-07-26 15:15:39 +00:00
Henning Geinitz b79b8b4db3 Fixed inconsistent error message (patch from Mattias Ellert <mattias.ellert@tsl.uu.se>). 2004-02-04 20:27:58 +00:00
Henning Geinitz 895dc697d3 Check for /dev/uscanner* for NetBSD and OpenBSD. Patch from bug tracker
#300373.
2003-12-06 16:36:26 +00:00
Henning Geinitz 8007efa1a3 Enable close_on_exec in sanei_usb_open. 2003-07-17 15:05:14 +00:00
Henning Geinitz 74de40f1da Removed Frank's memleak fix. The memory is allocated only once in
sanei_usb_init, not in sanei_usb_open.  So releasing it in sanei_usb_close
breaks backends that open devices more than once.
2003-04-20 14:59:07 +00:00
Frank Zago bce2146bd0 Fixed memleak. 2003-04-19 03:57:06 +00:00
Henning Geinitz 90fa11913c Added a function to print the buffer contents for the read and write
functions. Fixed some DBGs. Fixed a wrong return value.
2003-04-02 18:05:01 +00:00
Rene Rebe a6858b5057 Support for interrupt endpoint reads:
/** Initiate a interrupt transfer read.
 *
 * Read up to size bytes from the interrupt endpoint from the device to
 * buffer. After the read, size contains the number of bytes actually read.
 *
 * @param dn device number
 * @param buffer buffer to store read data in
 * @param size size of the data
 *
 * @return
 * - SANE_STATUS_GOOD - on succes
 * - SANE_STATUS_EOF - if zero bytes have been read
 * - SANE_STATUS_IO_ERROR - if an error occured during the read
 * - SANE_STATUS_INVAL - on every other error
 *
 */
2003-03-24 01:36:27 +00:00
Henning Geinitz 08af36a2e8 Call sanei_usb_init only once. 2003-02-22 15:45:51 +00:00
Henning Geinitz 5d4e2220a0 Check all acceptable interfaces instead of using the first one. 2003-02-19 19:38:26 +00:00
Henning Geinitz b625db341a usb_clear_halt should only be called in libusb mode. 2003-02-18 20:14:08 +00:00
Henning Geinitz c03e019f1c Scanning for devices is now done in sanei_usb_init instead of every time when
sanei_usb_find_devices is called. Also only devices that really exist are
opened. These changes fixe the slow detection of devices on systems using
devfs or old scanner drivers.
2003-01-22 16:54:14 +00:00
Henning Geinitz 8ea589819e Don't call usb_clearhalt and usb_set_altinterface to avoid errors on Mac OS X. 2003-01-15 14:27:54 +00:00
Henning Geinitz d2d3aaf90d Comment out resetep at sane_close. This function sets th USB data toggle only
on the host side.
2003-01-10 16:44:53 +00:00
Henning Geinitz d9041acb54 Explicitely set first configuration. When claiming the interface, use the
interface number from bInterfaceNumber.  Explicitely set the alternative
setting. When closing, call clear_halt, and reset_ep, and release_interface
explicitley. On errors in write/read, call clear_halt.
2002-12-30 13:51:10 +00:00
Karl Heinz Kremer 574cea3bcb Use endpoint address with directional information instead of just the
endpoint reference. This caused problems on Darwin systems.
2002-11-03 23:43:03 +00:00
Henning Geinitz a99e4f1ecd Really check for bulk_out ep when writing. 2002-10-15 08:42:42 +00:00