Skip to content

Releases: vadimgrn/usbip-win2

usbip-win2 0.9.6.4

06 Jun 11:43
Compare
Choose a tag to compare
usbip-win2 0.9.6.4 Pre-release
Pre-release
  • This is a bug fix release, it is highly recommended to install it if you are using 0.9.6.3
  • Driver: fixed possible deadlock in the receive thread during the detach
  • SDK/WDK 10.0.26100.0 are used for the solution
  • wxFormBuilder project upgraded to version 4.2.1

usbip-win2 0.9.6.3

18 May 07:57
Compare
Choose a tag to compare
usbip-win2 0.9.6.3 Pre-release
Pre-release
  • Driver
    • Use fake IN control transfer instead of OUT to pass data from the filter driver to UDE
    • Use USBD_ParseDescriptors instead of libdrv::find_next
    • A dedicated receive thread is created for each attached device, which greatly simplifies the implementation
  • GUI

usbip-win2 0.9.6.2

04 May 06:25
Compare
Choose a tag to compare
usbip-win2 0.9.6.2 Pre-release
Pre-release
  • Fixed audio devices such as microphones, soundbars, speakers, headsets, sound cards, etc.
  • WDM driver is retired, the source code remains in the branch, the final release was 0.9.3.4
  • Requests cancelation overhauled due to inability to move a request from the list to WDFQUEUE atomically
  • GUI: correct sorting of devices by bus-id or speed

usbip-win2 UDE 0.9.6.1

20 Apr 08:41
Compare
Choose a tag to compare
Pre-release
  • Driver
    • PLUGIN_HARDWARE I/O control call can be canceled
    • GET_IMPORTED_DEVICES / GET_PERSISTENT / SET_PERSISTENT I/O control calls can run concurrently
  • Library
    • New function const output_func_type& get_debug_output() noexcept
    • vhci::attach() call can be canceled by CancelSynchronousIo
    • New function Socket connect(_In_ const char *hostname, _In_ const char *service, _In_ unsigned long options)
  • GUI
    • Font size can be changed for USB devices tree using Ctrl+Wheel or Ctrl++/Ctrl+-
    • The app can be closed to the system tray or appear in the system tray at startup
    • The app will show balloon notifications while it is in the system tray
    • New menu item Log/Library added
    • Attach and Add devices commands can be canceled if they run longer than a second
    • Fixed GUI freeze due to blocking calls

usbip-win2 UDE 0.9.6.0

15 Mar 13:07
Compare
Choose a tag to compare
Pre-release
  • The USB ID vid/pid database has updated
  • libusbip: fixed bugs in parsing usb.ids
  • libusbip: fixed bug in get_persistent() that can allocate memory buffer with uninitialized size
  • Catch exceptions in usbip main()
  • Brand new GUI app
  • It is the native Windows application written in C++, wxWidgets library is used
  • 'Auto' column for a device exposes the same feature as 'usbip port --stash' and 'usbip list --stashed'. Auto devices will be attached each time the driver is loaded.
  • Notes can be attached to devices
  • The GUI app updates statuses of devices by reading events from the driver. Launch the GUI, run a few commands with usbip.exe and see what happens.
  • You can reorder/hide/sort columns of the tree
  • Rows can be copied to a clipboard
  • The app saves its state during the termination and restores it during the startup
  • If save all/selected devices, they will be loaded during the app startup. You do not need to add them each time.
  • There is a Log Window for debugging possible issues
  • The font size of the Log Window can be changed

usbip-win2 UDE 0.9.5.8

21 Jan 13:07
Compare
Choose a tag to compare
Pre-release
  • Fix unhandled exception when "usbip" is called instead of "usbip.exe"
  • Allocate WDFREQUEST context if it is NULL
  • WDM driver's source tree has removed from "master" branch, WDM has its own branch
  • API changed
    • vhci::open(_In_ bool overlapped) takes a boolean parameter to open a device file for overlapped I/O

usbip-win2 UDE 0.9.5.7

10 Nov 10:40
Compare
Choose a tag to compare
Pre-release
  • New API added to libusbip
  • <usbip/vhci.h> has four new functions
const char* get_state_str(_In_ state state) noexcept;
DWORD get_device_state_size() noexcept;
bool get_device_state(_Out_ device_state &result, _In_ const void *data, _In_ DWORD length);
bool read_device_state(_In_ HANDLE dev, _Out_ device_state &result);
  • Applications can read the statuses of virtual USB devices using driver's device handle. The UDE driver issues these statuses as soon as they change.
  • Statuses are
    • unplugged (USB port is free now)
    • connecting (to remove USBIP server)
    • connected (connection established)
    • plugged (new virtual device appeared on USBIP hub's port)
    • disconnected (connection closed)
    • unplugging (virtual USB device is removing)
  • This let you avoid polling virtual USB devices and complex logic to find out differences between previous and current device states.
  • Improved driver uninstallation
    • IRP_MN_QUERY_REMOVE_DEVICE handler is used to unplug virtual USB devices and cancel IRP_MJ_READ requests
    • EVT_WDF_DEVICE_D0_EXIT(WdfPowerDeviceD3Final) event was used to do this, but it does not happen if there are open driver handles
    • "usbip.exe detach --all" command is no longer executed by the uninstaller

usbip-win2 UDE 0.9.5.6

29 Aug 06:40
Compare
Choose a tag to compare
Pre-release
  • Reworked installation/uninstallation usbip2_filter driver
    • Device installation application USBip\classfilter.exe is used to install/remove the filter
    • RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection ... commands are no longer used for that due to possible issues
    • The driver package is no longer copied to the Driver Store
  • Do not install libusbip headers that are not required by the public API
    • hkey.h, hdevinfo.h are no longer installed
    • hmodule.h content moved to win_handle.h

usbip-win2 UDE 0.9.5.5

25 Jul 07:42
Compare
Choose a tag to compare
Pre-release

usbip-win2 UDE 0.9.5.4

09 Jul 07:51
Compare
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