Commit graph

16 commits

Author SHA1 Message Date
drochner
3c2c0ffdd8 Make usb_control_msg() return the number of bytes actually transferred
rather than the requested transfer length (USBD_SHORT_XFER_OK is
set, so this may happen). This is the documented behaviour, and it is
appearently what the Linux version does. Bump PKGREVISION. From
Erik Berls per PR pkg/37053.
2007-10-11 18:25:19 +00:00
joerg
5eed2d6e5f Fix path names to USB devices on DragonFly. Bump revision.
Based on patch from Joe Talbott.
2006-05-26 10:06:13 +00:00
adam
44efee0a9e Changes 0.1.12:
Fix structure padding issues on some architectures
Fix compile warnings with newer versions of gcc
Fix memory leak when continuously rescanning for devices
Check for device nodes in /dev/usb under Linux
Fix compile problem with Darwin/Mac OS X port
Add support for Darwin/Mac OS X 10.4
Fix error when transactions are aborted
Requery endpoints when switching alternate settings
Support more BSD based distributions
Fix problem with short control messages in BSD port
Various other minor fixes
2006-03-11 08:34:12 +00:00
reed
b786344c23 Add DragonFly support. (Okayed by drochner@.)
This needs testing under DragonFly.
2005-08-22 17:15:23 +00:00
adam
97f3544536 Changes 0.1.10:
* Fix various compile warnings
* Require newer autotools
* Switch from QT to STL for C++ extensions
* Linux:
  * Speed up small bulk and interrupt transfers to previous speeds
  * Fix case where bulk and interrupt transfers could block forever
  * Fix tree heirarchy building code (undocumented)
2005-02-14 09:50:18 +00:00
mycroft
39660dcfaf Make usb_bulk_read() terminate short transfers correctly. This mimics the
Linux code, and is critical for making PTP work.
2004-06-23 08:42:57 +00:00
adam
87d9d5e8fa Changes 1.0.8:
New Features:
* Synchronous Interrupt read support.
* Added new usb_get_descriptor_by_endpoint() function. Properly prototyped
  existing usb_get_descriptor() function.
* (Linux) Check for usbdevfs in /sys/bus/usb (2.6 kernel).
* (Linux) Added usb_get_driver_np() function to get driver bound to interface.
* (Linux) Added usb_detach_kernel_driver_np() function to detach kernel driver
  from interface.

Bug Fixes:
* Many return values are starting to become normalized (consistent across ports)
* Various bug fixes in Darwin port.
* Fix usb_string() to fetch language index correctly.
* More documentation updates and fixes.
2004-05-03 08:45:44 +00:00
schmonz
39b20fc8a4 The USB API found in FreeBSD originated in NetBSD. Correct the
publicity statement in the configure script.
2002-11-18 07:05:06 +00:00
jlam
efb93b17bd Merge changes in packages from the buildlink2 branch that have
buildlink2.mk files back into the main trunk.
2002-08-25 19:21:43 +00:00
mycroft
cddd6cc3cd Update to 0.1.6a. There is no documentation included on the changes, but a
cursory inspection suggests that they are mostly build related, and some minor
bug fixes to the platform-dependent code.
2002-08-19 19:07:19 +00:00
veego
8904212a03 Patch to build it on -current systems after the renaming in usb.h.
Use the same logic as in usbutil.
2002-03-03 15:22:28 +00:00
veego
c33c399381 Patch from sourceforge (revision 1.12 of bsd.c):
Patch from seagull at aracnet.com:

Some time ago, I identified a problem with libusb under FreeBSD.  The issue
is that the current implementation of bsd.c assumes that a particular
endpoint is unidirectional.  If you write, for example, to endpoint 2,
you can't later on read from that same endpoint and visa-versa.  Although
USB pipes are unidrectional, they can be "stacked" on the same endpoint.
Endpoint 2, for example, has two pipes: 0x02 and 0x82, with the high bit
representing the transfer direction of the pipe.

Since the BSD USB stack does not let you open two descriptors for the same
endpoint, and it does not let you close and reopen an endpoint in the middle
of a "session", I had originally proposed that the endpoint always be opened
O_RDWR so that bidirectional communication would be supported.

However, it was later pointed out that a device which really did only have a
unidrectional pipe on an endpoint would fail on ENXIO if you tried to open
it O_RDWR, so I went back to the drawing board and came up with a patch
for bsd.c which should solve the issue for both cases.  What it does is
first attempt to open the endpoint O_RDWR.  If that fails on ENXIO, then it
attempts to open the pipe in the direction appropriate for the operation
that you were committing.
2002-03-03 15:20:10 +00:00
martti
372298fd92 Updated to 0.1.4. List of changes is unknown (ChangeLog was not updated). 2002-01-03 10:42:49 +00:00
drochner
64abe2546e patch from Havard Eidnes: correct handling of "mode" argument to
ensure_ep_open()
2001-06-15 16:36:51 +00:00
drochner
7267f98c11 one more control endpoint hack 2001-03-28 16:43:56 +00:00
drochner
3bce6f5e39 user level USB access library, used by Linux apps mostly 2001-03-28 10:11:41 +00:00