| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
implementation and other compatibility fixes
|
| |
|
|
|
|
| |
compatibility)
|
|
|
|
|
|
| |
- fixed configure.ac for libusb handled timeouts
- fixed crash on invalid fds in windows_compat.c
- xusb improvements for mass storage test
|
|
|
|
|
|
| |
- code cleanup
- device reset improvement (tentative)
- inquiry request for Mass Storage in xusb.c
|
|
|
|
|
|
|
| |
- feature complete!
- added transfer cancellation
- added device reset
- additional code cleanup
|
|
|
|
|
|
| |
- bulk/interrupt I/O at last!
- endpoint handling
- minor code improvements
|
|
|
|
|
|
|
| |
- windows_set_interface_altsetting (untested)
- windows_set_configuration (untested)
- updated xusb.c test program, with comprehensive XBox Controller test and
preparation for bulk transfers test on Mass Storage device
|
|
|
|
|
|
|
|
|
|
|
| |
- new non-controversial composite device interface enumeration
- full XP support with port number detection workaround trade-off
- dropped read_registry_key
- dropped get_composite_interface_path
- factorized interface details enumeration
- dropped requirement -lws2_32 from configure.ac and added -lole32 (for string
to GUID conversion)
- removed debug mode from windows_compat.c
|
|
|
|
|
| |
- ControlSet001 vs CurrentControlSet fix
- IOCTL_USB_GET_HUB_CAPABILITIES vs IOCTL_USB_GET_HUB_CAPABILITIES_EX fix
|
|
|
|
|
| |
- poll improvements (fd mutex locks, ...)
- minor improvements and bugfixes
|
|
|
|
|
| |
- "poll we can believe in" (requires superficial modifications to core files)
- move the "interface" fix into windows_compat.h
|
|
|
|
|
| |
- redesigned posix compatibility layer (poll & pipe)
- library control pipe support (WIP)
|
|
|
|
|
|
| |
- WinUSB composite device support (with DeviceClasses registry lookup)
- better interface handling
- other minor improvements
|
|
|
|
| |
pointers as fds. Should read device strings. Also some provisions for composite devices.
|
|
|
|
| |
and driverless devices (priv->driver)
|
| |
|
| |
|
|
|
|
| |
test program
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
lsusb.c:26: warning: no previous prototype for ‘print_devs’
|
|
|
|
|
| |
os/darwin_usb.c:63: warning: return discards qualifiers from pointer
target type
|
|
|
|
|
|
|
| |
Allows libusb applications to access multiple interfaces of the same
device in the same application.
Also fixes a set alt interface bug.
|
|
|
|
|
| |
The internal timing seems to be working, this will be a better test of
it before we make this timeout unlimited.
|
|
|
|
| |
Require glibc-2.9 for the working timerfd support.
|
| |
|
| |
|
|
|
|
| |
core.c:777: warning: no previous prototype for 'libusb_get_max_iso_packet_size'
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use a new file descriptor from the timerfd system calls to handle
timeouts. On supported systems, this means that there is less hassle
figuring out when the poll() timeout should be, since
libusb_get_next_timeout() will always return 0 and the timeout events will
be triggered as regular activity on the file descriptor set.
Add API function libusb_pollfds_handle_timeouts() to detect whether
you're on a platform with the timing headache, and flesh out the
surrounding documentation.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for the new USBDEVFS_URB_BULK_CONTINUATION flag to libusb.
This flag, which is expected to be available in usbfs starting with
kernel 2.6.32, allows the kernel to cancel multiple URBs upon receipt
of a short packet. This capability allows libusb to preserve data
integrity of large bulk transfers that are split into multiple URBs.
Without this support, these URBs must be canceled in userspace upon
receipt of a short packet, a race condition against future transfers
which might partially fill these canceled URBs.
This patch automatically detects whether a supported kernel is present
and enables the use of the flag when possible.
[dsd: tweaks to supported kernel detection, and some inline
documentation of this mechanism]
|
|
|
|
|
|
|
|
|
|
|
|
| |
At least on Linux, there were some possible races that could occur if
a transfer is cancelled from one thread while another thread is handling
an event for that transfer, or for if a transfer completes while it is
still being submitted from another thread, etc.
On the global level, transfers could be submitted and cancelled at the
same time.
Fix those issues with transfer-level locks.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some users have reported that CLOCK_MONOTONIC does not work on their
systems - I suspect it is available on x86 but perhaps not some
of the more uncommon architectures. We should fall back on
CLOCK_REALTIME in these cases.
Also, CLOCK_MONOTONIC_RAW seems even more monotonic, so we should use
that if it is available.
We now test different clock IDs during initialization to find the
best one that works.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Fix a crash which occurs if the user does the following sequence on a
device: open, close, get_configuration_descriptor.
|
|
|
|
|
| |
Protection needed: http://www.libusb.org/ticket/4
Losing data: fixed in previous commit
|
|
|
|
|
| |
We would previously lose any data that was present on a cancelled URB.
Work harder to make sure this doesn't happen.
|