Skip to content

Activity Log

pbatard edited this page Jul 12, 2012 · 1 revision
[MAIN]
o detect WinUSB during enum to prevent WinUSB calls on non WinUSB devices [DONE using driver string: 2009.12.13]
o detect driverless devices during enum for future automated WinUSB driver addon
  - conn_info.CurrentConfigurationValue false => priv->driver = "no_driver" [DONE: 2009.12.14]
  - check errorcode from SetupDi [DONE: 2010.02.06]
o actually read active configuration from conn_info [DONE: 2009.12.15]
o comment the inf with regards to CoInstallers' choice and add provision for Multiple Interfaces (MI_##) [DONE: 2010.01.08]
o xusb winusb test application
  - add string I/O to xusb [DONE: 2009.12.15]
  - full XBox controller support using control requests [DONE: 2010.01.03]
  - bulk I/O against USB key (Bulk-only Mass Storage) [DONE: 2010.01.04]
  - HID test support [DONE (for control): 2010.01.28]
o async (polled/overlapped) I/O
  - crude poll using OVERLAPPED pointers as fds + HasOverlappedIoCompleted [DONE: 2009.12.16]
  - control transfers [DONE: 2010.01.02]
  - retrieve actual length [DONE: 2009.12.16]
  - bulk/interrupt [DONE: 2010.01.04]
  - I/O cancellation [DONE: 2010.01.05]
  - handle async I/O that completed synchronously during request, in compat later and callback, and remove "chill out" error [DONE: 2010.01.20]
o device reset [DONE: 2010.01.05]
o the never ending multiple interfaces handling:
  - generic readout of registry keys and values [DONE: 2009.12.18]
  - retrieve full device path from HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\* [DONE: 2009.12.18]
  - WinUSB interface selection through MI_## [DONE: 2009.12.18]
  - new non-controversial interface enumeration through SetupDi [DONE: 2009.12.30]
  - WinUSB detection for interfaces [DONE: 2009.12.30]
  - better composite interfaces handling, with fully independent interface and composite device drivers [DONE: 2010.01.18]
  - HID composite interface handling [DONE? 2010.01.20]
o poll & pipe redesign
  - support for control fd ("fish in the pipe") [(actually) DONE: 2009.12.22]
  - overlapped support all the way [DONE: 2009.12.22]
  - mutex fd locking [DONE: 2009.12.23]
  - handling of synchronous completion of async requests [DONE: 2010.01.20]
  - use libusb functions for updated fd resubmission [DONE: 2010.03.02]
o better/multiple API handling (refer to libusb-win32-v1) [API_CALL macro - DONE: 2009.12.18]
o sanitize_path & windows_error_string improvements [DONE: 2009.12.18]
o test on WinXP [OK: 2009.12.30]
o test against openocd/libftdi [OK: 2010.01.08]
o cygwin support [DONE: 2010.01.14]
o MSVC full compilation (preferred) or MSVC compatible MinGW lib with MSVC test sample
  - MSVC6 compatibility for windows_usb.c & windows_usb.h only (Michael Plante) [DONE: 2010.01.11]
  - MSVC9 full compatibility (win32) [DONE: 2010.01.11]
  - MSVC9 full compatibility (x64) [DONE: 2010.01.15]
  - MSVC8 full compatibility [DROPPED]
  - MSVC6 full compatibility (Michael Plante) [DONE: 2010.01.21]
o DDK/sources compilation support (Orin Eman) [DONE: 2010.01.20]
o threading/concurrency
  - add concurrency protection in init/exit (Orin Eman) [DONE: 2010.01.27]
  - use a separate thread for the timer functions [DONE: 2010.01.27]
  - windows_compat update (apply Orin's spinlock + critical sections suggestion) [DONE: 2010.01.28]
  - remove pthread dependency and improve Windows files (Orin + Michael) [DONE: 2010.01.30]
o HID API backend [DONE: 2010.01.26]
o API transition for core integration (interface -> usb_interface) [DONE: 2010.01.28]
o provide /MT version of pthread-win32 precompiled binaries [DONE: 2010.02.02]
o official release completion work:
  - merge the concurrency branch back into master [DONE: 2010.01.30]
  - break down core patches and post them for review [DONE: 2010.01.31]
  - go over TODOs and address the ones that can be addressed for first release [DONE: 2010.02.07]
  - write a detailed guide for manual installation of the WinUSB driver [DONE (for Windows 7): 2010.02.whatever]
  - write some detailed notes for pthread-win32 integration on project page [DROPPED: no longer needed]
  - edit relevant text files from core [CHECKED - NOT NEEDED]
  - drop autotool requirement and provide a single configure file for source archives [DONE: 2010.03.03]
  - check/improve DLLs produced with MinGW/cygwin (remove -0 suffic/cyg prefix, add versioning info, etc.) [DONE: 2010.03.05]
  - figure out how to produce a release archive (hint: use cygwin's configure) [DONE: 2010.03.03]
  - prevent the use of libusb_pollfd() on Windows [DONE: 2010.03.18]
  - rename the 2005 project file and use them as base for release [DONE: 2010.03.19]
  - run another memory leaks test [PASSED: 2010.03.19]
  - check if the MinGW-w64 bug still occurs [FIXED!: 2010.03.19]
  - document the current Windows restrictions [DONE: 2010.04.15]
  - turn ENABLE_DEBUG_LOGGING off for release! [DONE]
  - remove the _2008 solution files for release! [DONE]
  - document attach/detach calls for Windows/OS-X [DONE (internal): 2010.04.16]
  - .rc file removal [DONE (Michael, Peter): 2010.04.18]
  - declspec dllexport and .def removal [DONE (Michael, Peter): 2010.04.19]
  - confusing DDK build instructions [DONE (Michael): 2010.04.20]
  - auto-release [DONE: 2010.05.24]
o revert to using a .def [DONE: 2010.08.02]
o use a hash table for session_id and redo enum [DONE: 2010.10.14]
o some people want ARRAY_SIZE()
o the stdint.h dependency from libusb.h is annoying for MSVC binary users [DONE: 2010.11.18]
o create the friggin' integration branch [DONE: 2011.03.09]
o so long HID [DONE: 2011.03.02]
o use USB_HUB_CYCLE_PORT to reset device (suggested by Alex Couvrard, 2011.03.02) [DROPPED - cannot apply]
o check the driverless GUID as per Tim's post and see if it can help with hotplug (2011.06.30)

[INITIAL POST RELEASE TASKS]
o Apply AM_MAINTAINER_MODE patch (Ludovic Rousseau) [DONE: 2010.06.11]
o return an error on memalloc in init instead of continuing to open (Daniel's issue)
o HID: allow Get Report request for an OUT report or a Set Report request for an IN report (Alan Stern) [DROPPED]
o HID: vendor requests [DROPPED]
o HID: Set/Clear device feature (Remote Wakeup), Get device status, Set/Get Idle, if achievable (Alan Stern) [DROPPED]
o Change the confusing LIBUSB_ERROR_NOT_FOUND returned when a valid interface has not been claimed to ERROR_ACCESS
o is it possible to set MSVC to use release rather than debug at startup? [APPARENTLY NOT]
o the whole c99 -> c89 switcheroo and configure.ac review [UNLIKELY]
o -with-pthread-win32 option
o improved ddk build scripts/reuse what libusb-win32 is doing [DROPPED (too low priority): 2010.09.17]
o vsnprintf review if needed [NOT USED: 2010.08.02]
o safe_strcpy not so safe if you use min() and don't check against negative values [FIXED: 2010.08.02]
o Microsoft's ANSI calls are CP473, not UTF-8. Talk about a let-down!

[EXTRAS - POST RELEASE TASKS]
o default calling convention for Windows [DONE: 2010.04.13]
o rename windows_compat to something better [DONE: 2010.03.02]
o includes cleanup [DONE: 2010.02.24]
o use threads_posix AM var to prevent compilation of dpfp_threaded on MinGW [DONE: 2010.02.24]
o fix the HID report sizes for xusb in Linux [DONE: 2010.03.01]
o put pre-built binaries online [DONE: 2010.03.18]
o test pk2cmd against libusb 1.0 win [DONE: 2010.02.16]
o compatibility layer for Windows [SEEMS TO WORK: 2010.03.06]
o move real-time timer API call out of timer thread [DONE (Michael Plante): 2010.02.11]
o remove pthread-win32 usage from core [DONE (Michael Plante, Peter Stuge): 2010.02.20]
o libusb0.sys backend mark 1 [DROPPED]
  - add libusb0.sys to the backend [DONE (Graeme Gill): 2010.03.09]
  - break down libusb transactions for the 64 KB limit
  - transaction cancellation issue in free_fd
  - support concurrent access to same endpoint from multiple threads
o libusb0/K.sys backend with a vengeance (libusbK)
  - setup a GetProcAddress table according to K/0/WinUSB [DONE in K (Travis Robinson)]
  - remove the need to go through the first interface on non WinUSB
  - iso, reset, etc.
o poll fd abstraction (rework of Vitali's patch)
o auto-claiming interface for control transfers if none available [DONE: 2010.01.08]
o drop the DDK requirement [DONE: 2010.01.20]
o trace the query for HID input reports on Linux [NO LONGER NEEDED: 2010.02.11]
o use CancelIoEx where available [DONE: 2010.02.03]
o partially emulate CancelIoEx for XP and earlier [DONE: 2010.03.15]
o use overlapped Event in pipe/read/write [DONE: 2010.03.17]
o toggable debug logging [DONE: 2010.04.06]
o split windows_usb.c into main + backend files?
o improved xusb 
  - less amateurish output [DONE: 2010.01.27]
  - vid/pid specification as args [DONE: 2010.01.28]
  - more generic HID [DONE: 2010.02.06]
  - default help and allow vid:pid single arg for strings only report [DONE: 2010.03.08]
  - debug option and improved arg handling [DONE: 2010.04.06]
  - dump HID descriptor to file [DONE: 2010.04.08]
  - add output report test to HID and allow endpoint selection [DROPPED - NO MORE HID]
  - read WCID [DONE: 2011.09.22]
  - multithreaded xusb and async access of mass storage device + .NET version (suggested by Xiaofan)
o hotplug (r2?)
o use usbi list functions for our hcd chained list [NOT WORTH IT: 2010.02.16]
o Win2k support? [DROPPED: 2011.10.03]
o HID collection selection? (re "the never ending multiple interfaces handling") [DROPPED: no more HID]
o handle rogue/ghost WinUSB drivers issue (set_device_paths vs hub enumeration) with a more explicit warning and advice
o CMake support [DONE (Vitali Lovich): 2011.09.06]
o add #pragma comment( lib, "setupapi.lib" ) etc in xusb, as suggested by Tim Roberts [DONE: 2010.04.16]
o remove dependency on ole32, setupapi, advapi32 libs [DONE: 2010.10.26]
o 2003 / XP64 testing [NAH: 2011.10.03]
o installer
o automatic binaries build scripts
o use abort pipe on XP for cancellation
o remove the unnecessary safe_free()

[NON-WINDOWS RELATED]
o log callback
o topology/geographical location [DONE (all platforms): 2011.09.23]
o spend time on a demo that highlight how going to root is not always required from a topology call [DONE]
o libusb-compat improvement (Michael's post) [DROPPED]
o timestamps / thread ID on log messages

[BUGFIXES]
o deviceless external hub random failure on descriptors. Is there anything we can do?
  => trace what's happening on the bus
o SetupDI### call enumerates composite devices at the root ("usbccgp") rather than the leaves ("WinUSB") 
  => trying to obtain the FULL path (i.e. path that works with CreateFile) of the WinUSB leaves of a composite device handled by usbccgp is an absolute nightmare! 
     For now, just replace the composite driver with a WinUSB one. Install is a pain (must force upgrade), but it works. ["FIXED": 2009.12.16]
o Well, above doesn't work for interface selection through WinUsb_GetAssociatedInterface (what the ???)
  => back to the (more versatile) separate MI_## for composite devices' interfaces ["RE-FIXED": 2009.12.17]
o poll says control fd overlapped IO complete [FIXED with a "poll we can believe in": 2009.12.22]
o bad composite device detection when device and hub have same port number [FIXED 2009.12.23: Don't use sizeof when you mean strlen!]
o use of ControlSet001 instead of CurrentControlSet[FIXED 2009.12.26]
o incorrect function on force_hcd_device_descriptor on XP [FIXED 2009.12.26: misplaced _EX]
o Location Information on XP does NOT return location information! [WORKAROUND: 2009.12.30]
o everlasting wait on devices that have gone to sleep? / timeouts don't work [FIXED: 2010.01.07]
o reset of Mass Storage devices sure doesn't seem to work as expected... [IT DOES when you don't forget the CSW query: 2010.01.07]
o crashes in pthreadGC2.dll when poll is unhappy about an fd [FIXED: 2010.01.07]
o doesn't use the default pthread-win32 library name on MinGW [FIXED: 2010.01.11]
o the infamous device with serial => no port# issue on XP [FIXED: 2010.01.12]
o 'CM_GETIDLIST_FILTER_BITS' macro redefinition error in cfgmgr32.h for Windows 7 and other DDK issues [FIXED: 2010.01.13]
o project doesn't open in VS 2005 [FIXED (with files created by Orin Eman): 2010.01.18]
o MinGW/cygwin produce a "warning: undefined symbols not allowed" [FIXED: 2010.01.18]
o dpfp warnings during autogen (MinGW/cygwin) [NO LONGER NEEDED]
o "WARNING: unrecognized options: --enable-maintainer-mode" during autogen (MinGW/cygwin) [FIXED]
o current warning set does not pick signed  unsigned conversions [FIXED (DDK build will pick 'em): 2010.01.20]
o SPDRP_SERVICE sure doesn't work for MI_## members of HID composite devices. And of course "DeviceInterfaceGUIDs" doesn't apply to HID composite either.
  [FIXED using HID IF GUID: 2010.01.20]
o Should "usbaudio" devices be picked as HID? How many more non-pickable GUIDs should we add? [pointless, since we can't handle audio as HID => DROPPED: 2010.01.21]
o libusb-win32's _hid_get_string_descriptor is missing the 2 byte header [FIXED: 2010.01.20]
o Xiaofan's "linker path does not have real file for library" error on MinGW - was a [http://lists.cairographics.org/archives/cairo/2009-July/017686.html libtool issue] [FIXED: 2010.01.24]
o cancelling transfers after a timeout leads to an infinite wait on the remaining fds (is this an issue in core?) [yup. FIXED: 2010.01.22]
o repeated "[libusb_get_next_timeout] first timeout already expired" messages on timeout cancellation [FIXED (Michael Plante): 2010.01.24]
o broken Linux version due to missing handle_timeouts_locked [FIXED: 2010.01.24]
o Mass Storage test in xusb is broken in many places [FIXED (Alan Stern): 2010.01.30]
o the compatibility layer's poll() conflicts with cygwin's poll() [FIXED: 2010.01.28]
o _beginthreadex is not available on cygiwn [FIXED (fallback to CreateThread): 2010.01.30]
o  0 for non composite devices [FIXED (Dave C.): 2010.01.06]
o 2 bytes control transfers fail when using HidD_GetInputReport ("a device attached to the system is not functioning") [DROPPED: 2010.02.11]
  likely to be due to http://msdn.microsoft.com/en-us/library/ms789883.aspx: 
  "In addition, some devices might not support HidD_GetInputReport, and will become unresponsive if this routine is used." 
o HID overflows on first control report [FIXED: 2010.02.10]
o Xiaofan and others issues with HID (PICKit2, etc.) [FIXED: 2010.02.16]
o memory leaks in poll and set_composite (Francesco Montorsi) [FIXED: 2010.02.09]
o claim_interface crashes libusb w/ MinGW (Jere Knaappila) [DROPPED (was a pthread-win32 install issue): 2010.02.11]
o cancel_transfer, free_transfer and mutexes (Jere Knaappila) [FIXED: 2010.02.17]
o is HID getfeature really working? No it wasn't, and still isn't! [NOW FIXED: 2010.02.23]
o parent of a reused device might change during re-enumeration. [FIXED: 2010.02.18]
o backend will crash when trying to open an uninitialized device. [FIXED: 2010.02.19]
o error and warning messages don't seem to pop out when debug is disabled [FIXED (toggable logging): 2010.04.06]
o cygwin shouldn't use threads_windows.c [FIXED: 2010.02.24]
o libusb .NET reports an issue with threads [FIXED (C# and C use different calling conventions - Travis Robinson): 2010.02.25]
o fallout from the above: DDK and MSVC use different calling conventions ["FIXED" (forced stdcall conv for DLL in MSVC): 2010.03.08]
o libusb_handle_events_timeout does not poll new transactions (Jere Knaappila) [FIXED: 2010.03.02]
o "[_hid_get_feature] error Windows error code 4294967291" error with the new getfeature code for HID devices without feature reports [FIXED: 2010.02.25]
o these "program assertion failed - WinUSB interface 0 found at position 1" messages (Jere, Xiaofan) [FIXED 2010.05.21]
o Xiaofan's issue with libtool [PROPERLY FIXED (force locale to C always in libtool): 2010.03.08]
o cached devices shouldn't be unref'd in enumerate (Travis Robinson) [FIXED: 2010.03.04]
o resource.h is bothersome - can we remove it? [YES WE CAN: 2010.03.06]
o overwhelming timeout polling with multiple threads (Graeme Gill) [FIXED (Graeme Gill): 2010.03.11]
o driver installer double warning [FIXED: 2010.03.11]
o despite driver installation success, device is still listed driverless [FIXED: 2010.03.12]
o ERROR_OPERATION_ABORTED when thread is cancelled before control pipe is read (Graeme Gill) [FIXED: 2010.03.17]
o cancel_io "Unable to cancel I/O that was started from another thread" on XP when running xusb [FIXED: 2010.03.19]
o MSVC debug mode and CloseHandle() for the pipe overlapped event. [FIXED: 2010.03.19]
o the new fake pipe event appears to be creating a race condition in usbi_fd_notification (Travis Robinson) [FIXED: 2010.03.21]
o "could not duplicate handle for CancelIo - using original one" in multithreaded app on XP (Travis Robinson) [FIXED: 2010.03.22]
o double removal of wfd can result in newely allocated wfd being freed (Travis Robinson) [FIXED: 2010.03.22]
o init returns -99 if WinUSB.dll is not present (Kenichi Cui) [FIXED: 2010.04.01]
o HID and Feature Reports (Axel Rohde) - cannot use DEVICE [FIXED: 2010.04.06]
o HID and Feature Reports (Axel Rohde) - bad report lengths in xusb [FIXED: 2010.04.07]
o HID and Feature Reports (Axel Rohde) - first byte eaten when report IDs are in use [FIXED: 2010.04.15]
o HID and Feature reports (Axel Rohde) - Windows backend reports different size from Linux [NOT A BUG: 2010.04.15]
o libusb still uses the old descriptors after a firmware upload changed said descriptors (Uwe) [will be handled with hotplug: 2010.04.20]
o assign_endpoints should return proper error code and provide debug (Uwe) [DONE: 2010.04.18]
o cannot issue control requests to a composite device with HID keyboard in #0 and WinUSB in #1 (Jason Kotzin) [FIXED: 2010.04.27]
o these "could not duplicate handle for CancelIo - using original one" again (Samuel Thibault and others) [WinUSB handles are NOT duplicable - changed to debug message: 2010.05.21]
o 20 ms control request seems to be ignored with WinUSB (Samuel Thibault) [CANNOT REPRODUCE]
o spurious extra data with WinUSB (Samuel Thibault) [NOT A BUG (came from FTDI handling): 2010.05.25]
o do we have an issue with early control requests (set_configuration) when autoclaim is disabled? [FIXED: 2010.05.24]
o device address is zero program assertion failure [FIXED (driverless devices use devaddr 0): 2010.05.21]
o HID does not honour the string index for serial (Axel Rohde) [FIXED: 2010.06.14]
o DDK builds doesn't seem to use the expected config.h when another one is available [FIXED: 2010.08.17]
o WinUSB should work as a replacement of usbccgp (Benjamin Dobell et al.) [FIXED: 2010.08.10]
o configuration numbers do not necessarily occur in any specific order (Benjamin Dobell + Tim Roberts) [FIXED: 2010.08.10]
o attempting to read input reports through a control transfer seems to render my USB headset device non responsive in WinUSB as usbccgp mode. Interrupt is fine
  [DROPPED (same thing occurs on Linux): 2010.08.10]
o missing WINAPI qualifier for 32 bit InterlockedExchange/Increment for results in undefined symbols [WORKAROUND: 2010.08.15 - FIXED in MinGW-w64]
o 64 bit MinGW-w64 lib calling convention changed sometime since Dec. 2009 => WPG-System64 binaries are now broken [FIXED: use newer MinGW-w64]
o libusb doesn't support filter drivers [FIXED: 2010.08.19]
o WinUSB_ReadPipe / bCSWStatus issue with WinUSB as Mass Storage (reported by Max Teo) [FIXED: 2010.08.27]
o HID get Feature Reports not returning the actual read size (reported by Axel Rohde) [FIXED: 2010.09.06]
o MinGW & cygwin can no longer build the DLL (no-undefined) [FIXED: 2010.10.06]
o trac #68 - HID reports without report IDs are being truncated [FIXED: 2010.10.13]
o fatal error C1001: An internal error has occurred in the compiler. (compiler file 'f:\dd\vctools\compiler\utc\src\p2\p2symtab.c', line 1823)
  when using DDK lib with VS2008 [FIXED: 2010.10.27]
o _close() doesn't relinquish the fds obtained with _open_osfhandle() (reported by Stephano Antonelli) [FIXED: 2010.11.12]
o WinUSB's 5 sec control timeout default (reported by Graeme Gil)
o repeat replugs of USB mouse while looping on init/open/exit for a different device results in "Unknown Device" being reported in device manager (reported by Stephano Antonelli)
o PyUSB can't use an stdcall libusb [FIXED: 2011.01.17]
o invalid handle errors on cygwin and MinGW due to non C99 compliant OVERLAPPED (reported by Xiaofan) [FIXED: 2011.01.18 / FIXED (MinGW winapi): 2011.03.06]
o LVR test program for WinUSB test device times out on second run (reported by Xiaofan - see mails from 2011.01.20)
o calling init twice with different context returns -99 (reported by Konrad Rosenbaum) [FIXED: 2011.01.20]
o official/stuge doesn't have pbr313/trac68 [FIXED: 2011.01.27]
o sending on OUT EP cancels IN EP transfers (reported by Konrad Rosenbaum, 2011.01.27) [HID => dropped: 2011.01.03]
o pipe error after bootloader restart/fw upgrade on Win64 (reported by D Sigma, 2011.01.27) [DROPPED: lack of additional info]
o sending a set config from WinUSB is a bad idea after all, even for default config (reported by Xiaofan, 2011.01.20) [FIXED: 2011.02.21]
o latest MinGW32 doesn't build a libusb that works. Also some issues on some Win64 machines (reported by Dave Camarillo) [FIXED: 2011.03.03]
o libusb-1.0 interface numberindex issue (reported 2011.03.08)
o there may be a race condition with libusb_lock_events/libusb_unlock_events when 2 threads are being used (reported by Phong Truong, 2011.03.28)
o [xusb] a recent change seems to remove the the 1 second delay when testing the XBox controller actuators (MinGW only)
o [xusb] mass storage test no longer works on Linux [FIXED: 2011.06.28]
o [xusb] doesn't check for bulk endpoints and uses [reported and FIXED by Alan Stern: 2011.07.06]
o [enum] htab_hash() still does not return a unique value [FIXED: 2010.10.14]
o [enum] warning messages during GEN might attempt to reference the device interface path [FIXED: 2010.10.27]
o [enum] failure to add previously opened driver to the list [FIXED: 2010.10.27]
o [enum] hub driver API is still being used even after the hub driver has been replaced by WinUSB or libusb0.sys [FIXED: 2010.10.28]
o [enum] we're getting too many collisions with the Nokia suggested hash algorithm
o [enum] it is not possible to read the descriptors from a hub, even though they are cached during enum [FIXED: 2010.10.28]
o [enum] we shouldn't bail out in case we get a newly plugged in device listed in later passes [FIXED: 2010.11.01]
o [enum] devices that are listed after their hub in GEN pass get assigned a bus number of 0 [FIXED: 2010.11.01]
o [enum] is it advisable to just set refcount to 0 after a new dev has been created, so that we avoid manual unref?
o [enum] additional HID collections device interface path are ignored but never freed (reported by Stephano Antonelli) [FIXED: 2010.11.18]
o [enum] HID interfaces might have more than 2 parents to get to an ancestor we can recognize (reported by Phong Truong) [FIXED: 2010.12.01]
o [enum] memory leaks when create device list is called again while a device is open [FIXED: 2011.03.02]
o [enum] some hubs are not being listed and other devices get wrong bus:address [FIXED: 2011.03.08]
o [enum] priv->usb_interface[] seem to be misinitialized with MinGW/Unicode (trac #105, reported by sirreal) [NOT A BUG (was using old version): 2011.04.16]
o [enum] devices on USB 3.0 hubs (driven by Nec's NUSB3HUB.SYS) can't be accessed (reported by Dave Camarillo) [MOSTLY A RENESAS DRIVER BUG: 2011.06.28]
o [enum] 3.0 Renesas root hubs do not appear in our list [WORKAROUND: 2011.07.06]
o [enum] Windows 8 USB 3.0 support [DONE: 2011.09.19]
o [topo] USB key doesn't get proper topology data when plugged on Dell hub
o [hp] libusb_exit crashes after free device list (reported by Phong Truong 2011.01.27) [USER CODE ISSUE: 2011.02.02]
o [hp] double alloc of ctx during init (from investigating issue above) [FIXED: 2011.02.02]
o [hp] control transfer taking too long (reported by Phong Truong 2011.03.19) [CORE RACE CONDITION ALREADY REPORTED]
o [wdi] "Warning: .stabs: description field too big, try a different debug format" on MinGW-32 [FIXED (disable -g): 2010.03.24]
o [wdi] pipe communications between installer and lib don't seem to work with MinGW [FIXED (DON'T PICK EXE from dir, use the one in .libs!!!): 2010.03.23]
o [wdi] "(3) System does not work under WOW64 and requires 64-bit version." when running 32 bit installer [NOTHING WE CAN DO: MUST HAVE 64 BIT EXE EMBEDDED!]
o [wdi] "sh: Bad file number" [FIXED (more UAC disputable choices): 2010.03.24]
o [wdi] "gcc.exe: -lusb-1.0: linker input file unused because linking not done" [FIXED: 2010.03.24]
o [wdi] DifXAPI.dll must be provided on XP [DROPPED: 2010.03.28]
o [wdi] ShellExecuteEx w/ runas is not very XP friendly [FIXED (Use CreateProcess): 2010.03.25]
o [wdi] default proposed user for XP does not seem to have sufficient privileges for install [NAH, see below]
o [wdi] if XP user chooses "protect my computer and data from unauthorized program activity" on the installer, ShellExecuteEx never returns! [FIXED (CreateProcess): 2010.03.25]
o [wdi] "Unable to get the OEM Inf for device ROOT\LEGACY_######" info messages from DifX on XP [FIXED (don't use DifX): 2010.03.28]
o [wdi] final installation does not seem to launch if cached oem already exists for device on XP. Can DifX be more forceful about that? [FIXED (don't use DifX): 2010.03.28]
o [wdi] cygwin with -mno-cygwin produces a "warning: passing arg 2 of `execv' from incompatible pointer type" with the embedder [FIXED: 2010.03.26]
o [wdi] test app compiled in a Win7 Free DDK build environment doesn't run on XP [FIXED (added warning): 2010.03.30]
o [wdi] Windows fails to find the driver file when device is plugged in after SetupCopyOEMInf is used [FIXED (don't use SPOST_NONE!): 2010.03.29]
o [wdi] Is the above going to be a problem if the files are removed before the device is plugged back in.
        Should we add DriverPackagePreinstall (and DifXAPI) back again or just warn the user? [WILL SEE ON USER REPORTS]
o [wdi] IsUserAnAdmin is unknown on MinGW (hook into the DLL) [DONE: 2010.04.20]
o [wdi] Why doesn't UAC auto elevation work when I rename setdrv to setup any more? [Installer detection only applies to 32 bit apps!!:
        see http://msdn.microsoft.com/en-us/library/bb530410.aspx#vistauac_topic3]
o [wdi] cygwin build is broken [FIXED: 2010.05.02]
o [wdi] the "setdrv" "setdrv_gui" names suck [FIXED: 2010.04.28]
o [wdi] MinGW's installer_x64 is currently broken - syslog thread issue [FIXED (what a nightmare!!): 2010.06.01]
o [wdi] wdi_create_list fails to include most driverless devices in non driverless_only [FIXED: 2010.06.02]
o [wdi] blank spaces at the end of a device name are not removed (eg: "iPod          ") [FIXED: 2010.06.04]
o [wdi] when building for 64 bit, the libusb0.sys x86 files are missing [FIXED: 2010.07.08]
o [wdi] WinUSB driver is no longer selectable when built from DDK [FIXED: 2010.06.25]
o [wdi] subdirectories are not automatically created if missing [FIXED: 2010.07.08]
o [wdi] typo in libusb0.sys installation for x86 (spotted by Travis) [FIXED: 2010.07.12]
o [wdi] inf and cat are still created as admin [FIXED: 2010.07.13]
o [wdi] embedder crashes when using custom and not providing any files [FIXED: 2010.07.13]
o [wdi] UTF-8 is pretty bad (inf file will remove extended chars, etc) [FIXED: 2010.07.28]
o [wdi] wdi_read_logger: error Input/output error on win2k [AUTOFIXED: 2010.08.19]
o [wdi] unlike advertised, multilib MinGW-w64 doesn't build 64 bit compat 32 bit binaries [FIXED: 2010.07.15]
o [wdi] "[wdi_install_driver] program assertion failed: message overflow" (reported by Travis Robinson) [FIXED: 2010.07.15]
o [wdi] "successfully extracted xyz.cat" - should be .inf [FIXED: 2010.07.26]
o [wdi] inf are not CRLF'd (reported by Xiaofan) [FIXED? 2010.07.19]
o [wdi] cannot extract files when compiled with cygwin [FIXED (what a nasty bug!): 2010.07.25]
o [wdi] security prompt can persist after a failed install notification [FIXED: 2010.07.26]
o [wdi] progress bar looks bad on XP [FIXED: 2010.08.22]
o [wdi] "not a valid assembly or a COM component." when trying to use it in C#/.NET (reported by Ken Abryl Eleazar Salanio) [NOT A BUG: 2010.08.25]
o [wdi] display of debug setupapi.log on is mixed up, since the log is current locale and we expect UTF-8 [FIXED: 2010.08.20]
o [wdi] syslog truncation on win2k [FIXED: 2010.08.21]
o [wdi] app can flash after the progress bar dialog is closed [FIXED (pfffew!): 2010.08.25]
o [wdi] MSVC 64 bit compilation on 32 bit platform fails because of 64 bit embedder (reported by Xiaofan) [FIXED: 2010.08.26]
o [wdi] embedder is compiled a 64 bit app on 32 bit platform when using MinGW-w64 to cross compile (reported by Xiaofan) [FIXED: 2010.08.27]
o [wdi] AC_CHECK_FILES does not work when cross compiling [FIXED: 2010.08.30]
o [wdi] device needs replug if device_id is not provided but device is present [FIXED: 2010.09.10]
o [wdi] MS produced inf file contains a full copy of the inf template at the end [FIXED: 2010.09.13]
o [wdi] progress dialog text background appears white in Inno Setup [FIXED: 2010.09.15]
o [wdi] progress dialog static text is not erased properly [FIXED: 2010.09.18]
o [wdi] the elusive name change for existing device after same type driver install eg. composite with one IF WinUSB then non compo WinUSB => prev IF gets new dev's name
o [wdi] embedder's non-modified file detection doesn't seem to be where it's at [CAN'T SEE IT ANY MORE: 2010.11.29]
o [wdi] replacing a hub driver with libusb0.sys doesn't seem to set the expected additional DeviceInterfaceGUIDs in the registry, 
  resulting in libusb enum driver detection issues
o [wdi] extraction dir + inf name limited to 128 chars - make sure we raise that limit and return an error on truncation
        (trac #76 - reported by fxiii. Might also be linked to Raymond Wang's issue in libusb-win32) [FIXED: 2010.11.29]
o [wdi] driver preinstallation doesn't seem to work on XP? (reported by Myles Che)
o [wdi] the "Installing Driver" title sometimes appear with Chinese characters [FIXED: 2010.11.29]
o [wdi] the "Installing Driver" title only displays "I" on Windows 7 (alright, alright, I'll use the friggin' TEXT() macro! Sheesh...) [FIXED: 2011.01.21]
o [wdi] why does embedded.h gets rebuilt on wdi changes? [FIXED (use modification, not creation time): 2011.01.21]
o [wdi] K integration [DONE: 2011.03.21]
o [wdi] it may be possible to self sign a driver outside of test mode [DONE: 2011.03.30]
o [wdi] the certificate still states "You have a private key that corresponds to this certificate" which may scare users [FIXED: 2011.04.01]
o [wdi] friendly name is no longer set? [FIXED: 2011.04.07]
o [wdi] the disabling of restore points seems to fail on occasion - happens on Win7 32 when launching wdi-simple from elevated prompt vs regular
o [wdi] VS 2010 creates a static library that is 4x larger than the DLL (23 MB vs 5.7 MB)!!! WTF?!?!
o [wdi] __wgetmainargs should be cdelc [FIXED (Vitali Lovich): 2011.07.21]
o [wdi] is it possible to get better ranking of libwdi driver package over HID on XP (issue reported by Vitali Lovich)? [UNLIKELY WITHOUT TAMPERING WINDOWS DRIVERS]
o [wdi] wdi-simple seems to leave files open when installing a chain with a bad cert [Reported by Bob Paddock, 2012.02.04]
o [zadig] why do these all these control look SO UGLY compared to what MSVC promises? [FIXED ("ooh, shiny!!"): 2010.05.28]
o [zadig] the font in device selection still looks 3.1ish... [FIXED: 2010.05.31]
o [zadig] bad placement of controls wrt device dropdown [FIXED: 2010.05.03]
o [zadig] application goes away on UAC [FIXED: 2010.04.24]
o [zadig] oh yeah? well then application loses icon after successful driver install. Ha! [FIXED: 2010.05.26]
o [zadig] application becomes unresponsive for a while during driver installation. Is there anything we can do to prevent that? [FIXED: 2010.05.26]
o [zadig] I've seen the application crash when playing with the checkboxes (before Windows decided to force compatibility mode) [seems to be FIXED: 2010.05.03]
o [zadig] that "make[2]: Circular setdrv_gui.rc  Manufacturer String resolution into libwdi [DONE: 2010.07.12]
o use a script to generate the VID -> Manufacturer sources according to the latest web data [DONE: 2010.07.13]
o use proper manufacturer in generated inf + allow the provision of custom manufacturer in options [DONE: 2010.07.14]
o add IA64 libusb0.sys/dll [DONE: 2010.07.14]
o switch to using tokenizer [DONE: 2010.07.17]
o automate versioning for .rc files from the git tags [DONE: 2010.07.26]
o why oh why didn't Microsoft provide UTF-8 as well in A vs W?!? [ADDRESSED (pfew!): 2010.07.28]
o win2k support [OK: 2010.07.28]
o can we hook into the OS driver installation dialogs, instead of using our own (or reuse dpinst)? [v2]
o revert back to using a def + def autogeneration for MS/MinGW compatibility, like libusb does
  [DROPPED (interchangeability of libwdi.dll not a major requirement): 2010.08.30]
o -Wshadow on cygwin, and all the problems that come with it [DROPPED (would need libconfig patch): 2010.08.30]
o follow libusb's calling convention changes... [OR NOT]
o fix the bugs and get a 1.0 release already!! [DONE!: 2010.09.01]
o zadig (GUI app)
  - DDK/MinGW/MSVC compat [DONE: 2010.03.30]
  - Editable description [DONE: 2010.03.31]
  - hotplug detection & reenumeration [DONE: 2010.04.01]
  - create new [UNTESTED: 2010.04.01]
  - log output to dropdown [DONE: 2010.04.02]
  - browser control for folder selection (this IS going to be a massive pain!) [DONE: 2010.04.19]
  - using C is becoming a pain, switch to C++ 
   [actually, it's not. MFC and GDI+ are, and they're out of bound for MinGW, so no good reason to switch... yet: 2010.04.23]
  - application icon/about/info/etc [DONE: 2010.04.28]
  - clickable URL on "About" box [DONE: 2010.04.30]
  - move standard dialog handling (About, browse for folder) to separate file [DONE: 2010.04.30]
  - add log clearout control [DONE: 2010.05.03]
  - only use drivers that are actually embedded in libwdi [DONE: 2010.05.25]
  - display busy pointer during installation [DONE: 2010.05.26]
  - provide an option for generation of driver files only, for signing (suggested by Xiaofan) [DONE: 2010.05.27]
  - hide MI when unavail/unneeded [DONE: 2010.05.27]
  - basic/advanced mode [DONE: 2010.05.27]
  - ungray the fields [DONE... but is it really better?: 2010.05.31]
  - add a status line for basic mode [DONE: 2010.05.28]
  - move checkboxes to option menu [DONE: 2010.05.28]
  - add log save [DONE: 2010.05.31]
  - background driver colour according to type [DONE: 2010.06.02]
  - keep the current device selected in the dropdown list [DONE: 2010.06.02]
  - include libconfig for cfg/ini parser [DONE (would have been faster to write my own parser!): 2010.06.03]
  - add progress bar during installation [DONE: 2010.06.07]
  - add notifications for install success/failure/cancel [DONE: 2010.06.08]
  - clarify the code by using WindowsX macros [DONE: 2010.06.08]
  - custom driver extraction [DONE: 2010.06.11]
  - use ini to set default options [DONE: 2010.06.17]
  - improve UI by following MS's UI guidelines [SHOULD BE OK: 2010.08.26]
  - setting of the log level [DONE: 2010.07.26]
  - allow the provision of an external inf/conf file / custom driver fixed inf file? [NO LONGER NEEDED (can be done in libwdi itself)]
  - use description for inf name [DONE: 2010.07.02]
  - add mouseover for vendor over VID [DONE: 2010.07.02]
  - allow the generation of an inf file only for existing driver [NO LONGER NEEDED (Extract Only will do): 2010.06.04]
  - warn when overwriting a system driver (keyboard, mouse, mass storage) [DONE: 2010.06.02]
  - use double click for edit rather than a checkbox [NAH: 2010.05.28]
  - colours in log dropdown according to level? [NOT WORTH IT: 2010.06.24]
  - use default temp folder in basic mode [NAH: 2010.05.28]
  - maybe we should tone down notifications a notch between log, status and dialogs [AT USER REQUEST: 2010.08.26]
  - change the progress text to warn about the super long MS induced delays [DONE: 2010.06.30]
  - prevent the entering of non hex chars for VID/PID (will need subclassing) [v2 or never]
  - add testlibusb-win.exe support for libusb0.sys [NOT FOR NOW: 2010.08.26]
  - provide a win2k compatible Zadig binary [DONE: 2010.07.15]
  - display driver version [DONE: 2010.08.27]
  - feedback our cygwin/DDK/64 bit changes to the makers of libconfig [NO LONGER NEEDED: 2011.03.21]
  - when the Vendor Name is not found, provide a link to the USB ID DB in Zadig to allow users to report it [DONE: 2011.10.05]
  - redesigned UI [DONE: 2011.10.03]
  - read .sys version from existing driver (=> upgrade vs replace) [DONE: 2011.10.04]
  - allow the installation of libusb0 as filter driver [DONE: 2011.10.06]
  - WCID's clickable area for '?' link is too small (suggested by Xiaofan) [DONE: 2011.10.10]
  - add tooltips to describe what each of WinUSB/libusb0 and libusbK is or do something with 'THIS_SPACE_FOR_RENT' [DONE: 2011.10.10]
  - a set of coloured arrows would play nicely to replace the coloured backgrounds [DONE: 2011.10.07]
  - move to GPLv3 and display the license in app [DONE: 2011.10.10]
  - set WCID, filter and other new options from ini [ON REQUEST]
  - update center dialog and use it for the app
  - it's actually possible to drop the afxres.h requirement from wdk build
o add the inf-wizard from libusb-win32 in samples [DONE: 2010.08.17]
o can we automate the minor version number in libwdi.rc from git tags? [DONE: 2010.07.26]
o allow the provision of signed inf/cat, and other files in the embedder [DONE: 2010.04.29]
o add custom driver to the list of driver types [DONE: 2010.06.11]
o allow the removal of WinUSB [DONE: 2010.06.12]
o add checking of libusb0.sys files (suggested by Xiaofan) [DONE: 2010.06.11]
o add option to overwrite usbccgp & usbhub [DONE: 2010.07.02]
o either send something with the installer log or remove it [REMOVED: 2010.05.03]
o hook into %WINDIR%\SetupAPI/setupact.log to provide real-time update of the installation process? [DONE: 2010.05.26]
o add checks for pipe full + option to provide pipe size [DONE (pipe full not needed): 2010.06.09]
o documentation
  - API [DONE: 2010.05.25]
  - install/conf [DONE: 2010.06.16]
  - zadig [DONE: 2010.08.28]
  - FAQ [SEEDED: 2010.08.31]
  - reuse [DONE: 2010.08.26]
  - WCID
o libusb0.sys driver embedding & installation [DONE: 2010.05.18]
o add an option to select whether the device should be included in the "Safely remove hardware" list or not (HKR,,SurpriseRemovalOK...)
  [DROPPED on libusb-win32 advice]
o add DLL info [DONE: 2010.04.30]
o remove context in logging facility / alternative to context? [DONE: 2010.04.16]
o add MS redist license [DONE: 2010.04.29]
o allow the removal of WinUSB for DDK builds? [DONE: 2010.07.18]
o test anticipated driver installation [PASS: 2010.06.24]
o create all files as a the user that launched the process [DONE: 2010.06.30]
o run another memory leak test [DONE: 2010.09.01]
o newdev.h is a bother. Can we get rid of it? [DONE: 2010.09.02]
o allow the provision of relative path for extraction dir [DONE: 2010.09.09]
o single device driver installer for use in app setup scripts [DONE: 2010.09.09]
o provide INNO setup script sample [DONE (thanks to Travis): 2010.09.14]
o cross-compilation support [DONE: 2010.09.17]
o 7z improved embedder 
o driver uninstallation (v2)
o allow the setting of IgnoreHWSerNumVVVVPPPP so that devices with different serials don't prompt for driver reinstall (v2)
o (optional) post install cleanup [TOO RISKY, DROPPED: 2010.06.21]
o existing driver removal/replacement? [SEEMS TO WORK: 2010.04.19]
o provide DDK redist binaries for those who don't want to download the whole lot [TOO GREY AN AREA - SKIPPED: 2010.04.29]
o should read_logger return the severity level? [ON REQUEST: 2010.07.25]
o move progress bar into libwdi, and allow its optional use [DONE: 2010.07.22]
o move notifications into libwdi too? [NAH: 2010.07.26]
o integrate libusb0.sys driver building into libwdi? [NAH: 2010.07.25]
o API call to install a certificate, for no prompt static inf installation [DONE: 2011.01.20]
o document the above, and provide a detailed guide on how to use libwdi for no-prompt install of an external driver package [DONE: 2001.04.08]
o disable restore point creation during install [DONE: 2011.03.22]
o update and self sign of a .cat to disable that last prompt [DONE: 2011.03.30]
o setup the "issuer statement" in the certificates we generate [DONE: 2011.03.30]
o allow disabling of cat creation/ cat signing and launch certmgr from Zadig [DONE: 2011.04.04]
o update Zadig guide according to new UI [DONE: 2011.04.07]
o add the machine name as OU= in the self signed cert, to demonstrate further that the cert is autogenerated (could this be an issue if users rename their machine?)
o setup a CPS page [DONE: 2011.03.31]
o provide our pki Signtool/MakeCert/MakeCat/CertMgr equivalent as a standalone redistributable tool
o retrieve and add the name of the libwdi-based application that installs the cert into the cert itself [NAH... 2011.09.22]
o remove USB 3.0 root hubs being listed [DONE: 2011.09.20]
o use the new class GUID and class name from Windows 8 in winsub.inf.in, to match what happens on Windows 8 [DONE: 2011.09.25]
o create a sample LUFA WCID device and feed it back to the LUFA library
o reuse existing Device Interface GUID if the VID/PID/MI/Driver combination is the same (suggested by Travis)
o that DDK batch script from libusbK sure looks nice...
o enable the use of installer.exe as a standalone with args from cmdline instead of pipe (v2?)
o enable the use of MS's dpinst.exe in lieu of the installer (v2)
Something went wrong with that request. Please try again.