Changes between Version 16 and Version 17 of windows_backend
- Timestamp:
- 12/23/09 01:03:30 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
windows_backend
v16 v17 7 7 == Status == 8 8 9 The Windows backend is still in early alpha stages. As of 2009.12.12, it is lacking: 10 * I/O functions 11 * threading 12 * ... 9 The Windows backend is still in early alpha stages. As of 2009.12.22, it only supports control transfers (eg. strings) but is lacking: 10 * data I/O 11 * support for multiple threads 13 12 14 13 == Source == 15 14 16 The Windows backend is available in the [http://libusb.org/browser/?rev=winusb winusb git branch].15 The (initial) Windows backend is available in the [http://libusb.org/browser/?rev=winusb winusb git branch]. 17 16 18 17 For those not familiar with git, here are the git commands you can use to work on the winusb branch: … … 31 30 * For convenience reasons, the development toolchain used for the Windows backend is [http://www.mingw.org MinGW] and the target for the first stable release will be Vista and later Windows versions. 32 31 * The method of dealing with USB devices in the first release will be [http://msdn.microsoft.com/en-us/library/aa476426.aspx WinUSB] only, with some provisions for HID and kernel driver access to be included later. 33 * Windows' handling of multiple interfaces is currently done with a single WinUSB device, that replaces the usbccgp.sys driver (Composite Generic Parent) rather than through the MI parts of the latter (VID_####&PID_####&MI_##). We might use separate WinUS drivers for each interface along with usbccgp if we can figure an easy way to do so. For more info, see "2. How Windows handles a composite device" at [http://www.cygnal.org/ubb/Forum9/HTML/001050.html].32 * Windows' handling of composite devices will be done with multiple WinUSB drivers (VID_####&PID_####&MI_##), descendants of the usbccgp.sys driver (Composite Generic Parent). For more info, see "2. How Windows handles a composite device" at [http://www.cygnal.org/ubb/Forum9/HTML/001050.html]. 34 33 35 34 == Current Issues == 36 35 37 * IOCTL_USB_GET_NODE_CONNECTION_INFORMATION [http://sourceforge.net/tracker/index.php?func=detail&aid=2904747&group_id=202880&atid=983354 appears to be broken] in MinGW-w64 (x64 platforms) 38 * WinUSB does not support multiple concurrent applications (as per the [http://download.microsoft.com/download/9/C/5/9C5B2167-8017-4BAE-9FDE-D599BAC8184A/WinUsb_HowTo.docx WinUSB Howto whitepaper]) 39 * WinUSB does not support isochronous transfers 36 * IOCTL_USB_GET_NODE_CONNECTION_INFORMATION [http://sourceforge.net/tracker/index.php?func=detail&aid=2904747&group_id=202880&atid=983354 appears to be broken] in MinGW-w64 (x64 platforms). 37 * WinUSB does not support multiple concurrent applications (as per the [http://download.microsoft.com/download/9/C/5/9C5B2167-8017-4BAE-9FDE-D599BAC8184A/WinUsb_HowTo.docx WinUSB Howto whitepaper]). 38 * WinUSB does not support isochronous transfers. 40 39 41 40 == To Do == 42 41 43 * asynchronous I/O 42 * data transfers 43 * transfer cancellation 44 44 * threading 45 * Use [http://www.monkey.org/~provos/libevent/ libevent] (or something else) for poll(). Apply the MinGW patches from tor.46 45 * automated WinUSB driver installation? 46 47 == Done == 48 49 * device enumeration 50 * descriptors retrieval 51 * composite devices & interface selection 52 * poll and pipe 53 * control transfers 47 54 48 55 == Development's status log ==