Skip to content

Releases: vadimgrn/usbip-win2

usbip-win2 UDE 0.9.5.4

09 Jul 07:51

Choose a tag to compare

Pre-release
  • Fixed find endpoint by USBD_PIPE_INFORMATION
  • Fixed uninstall issue on systems older than Windows 11 version 21H2. A device node of Emulated USB Controller cannot be removed using "pnputil /remove-device" because the "/deviceid" flag for this command was introduced in Windows 11 version 21H2. As a result, after uninstalling USBip, unknown devices with Hardware ID "ROOT\USBIP_WIN2\UDE" might remain in Device Manager.
  • Complete IRPs with priority boost accordingly to USB device class/subclass. For example, priority boost will be set to IO_SOUND_INCREMENT for USB_DEVICE_CLASS_AUDIO device (see IoCompleteRequest).
  • Improved UNICODE <-> UTF8 tranformation
  • Additional component "Program DataBase files" added to the installer. Files will be installed into USBip installation folder.
  • Debug build is no longer part of a release because it requires VC++ multi-threaded debug libraries that are not redistributable

usbip-win2 UDE 0.9.5.3

31 May 12:39

Choose a tag to compare

Pre-release

This is a bug fix release. It is highly recommended to upgrade from a previous version to this one.

usbip2_filter driver fixes

  • BSOD: wrong error handling for IoCallDriver in IRP_MJ_INTERNAL_DEVICE_CONTROL
  • BSOD: improper usage of IO_REMOVE_LOCK in IRP_MJ_INTERNAL_DEVICE_CONTROL
  • BSOD: using USBD_HANDLE after USBD_CloseHandle

usbip2_ude driver

  • Use a list of egress requests in addition to the queue
  • Refactoring wsk::SOCKET
  • Reliable auto detach on an error or if USB device has been plugged out
  • "usbip detach" fixes
    • Always disconnect from a server
    • Always release root hub port
    • BSOD: IRQL_NOT_LESS_OR_EQUAL in arbitrary third-party drivers (Arg1: 0000000000000008, memory referenced)
    • BSOD: WDF_VIOLATION for udecx!Endpoint_UcxEndpointCleanup ( A NULL parameter was passed to a function that required a non-NULL value)
    • BSOD: using TCP/IP socket after closing it
    • BSOD: several race conditions during USB device plugout and delete

usbip-win2 UDE 0.9.5.2

21 Apr 06:15

Choose a tag to compare

Pre-release
  • Fixed the issue when you attach to a flash drive/use it/detach, but for all subsequent attaches the drive is no longer working. The workaround is to unbind/bind the device on server side. Now it is not necessary.
  • Some USB audio devices can work now, for example audio card. Headsets\speakers still do not work.
  • Program database files are installed into "C:\Program Files\USBip\pdb"
  • Misc. improvements

usbip-win2 WDM 0.9.3.4

20 Apr 08:42

Choose a tag to compare

Pre-release
  • Fixed order of URB functions set_feature_to_other/clear_feature_to_other, they were swapped
  • InnoSetup 6.2.2

usbip-win2 UDE 0.9.5.1

02 Apr 10:45

Choose a tag to compare

Pre-release
  • libusbip is shipped as DLL
  • The installer has option to install VC++ runtime libraries
  • usbip detach --all must be used to detach all devices, detach -p 0 or detach -p -1 are no longer valid commands
  • New feature - attach remote devices each time the driver is loaded or on demand
    • usbip port --stash saves listed devices as multi-string value of key "PersistentDevices" in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbip2_ude\Parameters
    • Only devices listed by the command will be saved, for example
      • usbip port --stash saves all currently attached devices
      • usbip port --stash 1 2 saves attached devices on the given ports, if any
      • If the output is empty, empty list will be saved
    • usbip list --stashed shows devices saved by usbip port --stash
    • usbip attach --stashed will attach to devices saved by usbip port --stash
    • Devices saved by usbip port --stash will be attached each time the driver is loaded
      • The driver will try to attach a device indefinitely if a connection with a server cannot be established
      • Maximum delay between attempts is 30 minutes
      • The driver stops attempts to attach the device if it is removed from "PersistentDevices"
      • The driver will not try to reattach the device if the connection was established but closed later (the server was rebooted, etc.)

usbip-win2 UDE 0.9.5.0

04 Mar 10:35

Choose a tag to compare

Pre-release

Brand new UDE driver

  • The first beta release
  • Will supersede WDM driver when become fully functional
  • Is stable but has known issues for some kind of devices. For example, audio devices do not work.
  • If it works with your devices, this is the better alternative for WDM driver and should be used instead of it
  • WDM driver releases are 0.9.3.X or 0.9.4.X
  • UDE driver releases are 0.9.5.X and later

UDE driver usbip2_ude

  • Written from scratch, has nothing common with cezanne driver except the same UDE framework is used
  • KMDF is used
  • Virtual USB 3.0 Root Hub has 30 USB 2.0 ports and 30 USB 3.0 ports
  • System requirements remain the same as for WDM driver

Upper class filter driver usbip2_filter

  • Used as companion for usbip2_ude
  • Written from scratch
  • WDM is used due to limitations of KMDF

usbip library

  • The first public release
  • Shipped as static library
  • Isolates developers from the driver's low-level interface
  • Requires C++ 17 to compile
  • Pick "USBIP Software Development Kit" during an installation. C++ headers will be installed into "C:\Program Files\USBip\include\usbip", libusbip.lib and libusbip.pdb into USBip/lib.
  • API may be changed in future versions if necessary
  • Could be used for writing GUI app or custom software that does not use usbip utility

usbip command line utility

  • Completely rewritten
  • Native 64-bit app
  • Legacy code from Linux implementation is not used anymore
  • CLI11 C++ library is used instead of getopt
  • libusbip is used to interact with the driver

usbip-win2 WDM 0.9.3.3

26 Feb 11:18

Choose a tag to compare

Pre-release
  • This release contains the single bug fix that was backported from UDE driver
  • Sources of WDM driver moved from "master" to "wdm" branch
  • "master" and "develop" branches now contain UDE driver
  • WDM driver will be maintained until UDE driver will become fully functional
  • All development efforts are focused on the UDE driver

usbip-win2 0.9.3.2

04 Nov 09:10

Choose a tag to compare

usbip-win2 0.9.3.2 Pre-release
Pre-release
  • NT_ASSERT fixed when a device is removing
  • Fixed possible SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION for partial MDL. This issue was detected and fixed for UDE driver, WDM worked well using the same code
  • Removed creation of Parameters/VerboseOn=1 for the driver during its installation, INF file has this directive now
  • Set cmd_submit.number_of_packets=-1 for strict compatibility with USBIP protocol
  • Driver's uninstallation utility devnode.exe can prompt for the system reboot

usbip-win2 0.9.3.1

07 Oct 12:58

Choose a tag to compare

usbip-win2 0.9.3.1 Pre-release
Pre-release
  • Fixed compatibility issue with dorssel/usbipd-win server
  • You can skip this release if you don't use usbip-win2 with usbipd-win

SAINT JAVELIN

usbip-win2 0.9.3.0

08 Sep 09:51

Choose a tag to compare

usbip-win2 0.9.3.0 Pre-release
Pre-release
  • Driver creates two host controller interfaces
  • Each of them has USB Root Hub with 30 ports
  • USB 2.X devices appear on the first hub, USB 3.X on the second hub
  • The second hub should be USB 3.0, but this work is incomplete
  • Driver can be installed and used alongside with cezanne/usbip-win, now they are completely independent
  • Uninstaller removes usbip root device node using its hardware id rather than hardcoded instance id
  • Installer checks for minimum required Windows version
  • 'usbip port' command syntax now is 'usbip port [number...]'

Stand and fight for Ukraine!