Coder Social home page Coder Social logo

daynix / usbdk Goto Github PK

View Code? Open in Web Editor NEW
499.0 33.0 138.0 868 KB

Usb Drivers Development Kit for Windows

License: Apache License 2.0

C 8.66% C++ 90.19% Batchfile 0.99% VBScript 0.16%
usb usb-devices usb-driver usbdk c-plus-plus windows-driver windows-driver-kit winusb libusb windows

usbdk's People

Contributors

blochl avatar ezzze avatar yanvugenfirer avatar ybendito avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

usbdk's Issues

Redirect of USB device failed

I have installed USBDK, but I excute the command“UsbDkController.exe -r ID SN”in cmd on windows7(32 bit), the error "Driver file operation error. DeviceIoControl failed (The system cannot find thefile specified. Error code = 2)" will appear. How to solve this problem?
thank you!

    The cmd screenshot is following:

C:\Program Files\UsbDk Runtime Library>UsbDkController.exe -i
Installing UsbDk driver
UsbDk driver installation succeeded

C:\Program Files\UsbDk Runtime Library>UsbDkController.exe -n
Enumerate USB devices
Found 5 USB devices:
0. FilterID: 1, Port: 1, ID: 8087:0024, Configs: 1, Speed: 3
USB\VID_8087&PID_0024 1
Descriptor for configuration #0: size 25

  1. FilterID: 3, Port: 1, ID: 8087:0024, Configs: 1, Speed: 3
    USB\VID_8087&PID_0024 1
    Descriptor for configuration #0: size 25
  2. FilterID: 4, Port: 2, ID: 413c:2107, Configs: 1, Speed: 2
    USB\VID_413C&PID_2107 2
    Descriptor for configuration #0: size 34
  3. FilterID: 4, Port: 4, ID: 17ef:6019, Configs: 1, Speed: 2
    USB\VID_17EF&PID_6019 4
    Descriptor for configuration #0: size 34
  4. FilterID: 5, Port: 1, ID: 0951:1665, Configs: 1, Speed: 3
    USB\VID_0951&PID_1665 60A44C413C4EFEC1798423E8
    Descriptor for configuration #0: size 32

C:\Program Files\UsbDk Runtime Library>UsbDkController.exe -r 0951:1665 60A44C413C4EFEC1798423E8
Redirect USB device 0951:1665, 60A44C413C4EFEC1798423E8
Driver file operation error. DeviceIoControl failed (The system cannot find thefile specified. Error code = 2)
Redirect of USB device failed

C:\Program Files\UsbDk Runtime Library>UsbDkController.exe -r 0951:1665 60A44C413C4EFEC1798423E8
Redirect USB device 0951:1665, 60A44C413C4EFEC1798423E8
Driver file operation error. DeviceIoControl failed (The system cannot find thefile specified. Error code = 2)
Redirect of USB device failed

ControlTransfer and device descriptor

What is the flow when doing control transfers, and is it possible to fetch interface/endpoint descriptors (tacking on to my previous issue #48)?

If this is in fact possible (at least it should be given the USB spec), let's analyze a simpler example, and assume that I'm trying to fetch the device descriptor (let's also assume that UsbDk_GetDevicesList doesn't exist).

Per spec, this should be done by doing a control transfer read to endpoint zero (0), and sending an 8 byte request that should look like this 80 06 00 01 00 00 12 00 (values are hexadecimal).

0x80 indicates a device to host direction and device as recepient
0x06 GET_DESCRIPTOR request
0x01 indicates that we'd like a device descriptor
0x12 indicates that 18 bytes of data should be retrieved (size of device descriptor)

The code used to issue a control read request looks like this:

PUSB_DK_TRANSFER_REQUEST transferRequest = (PUSB_DK_TRANSFER_REQUEST)malloc(sizeof(tag_USB_DK_TRANSFER_REQUEST));
LPOVERLAPPED overlapped = NULL;
DWORD error; 

transferRequest->TransferType = ControlTransferType;
transferRequest->EndpointAddress = 0x00;
transferRequest->Buffer = (PVOID64)malloc(8);
*(LONG64*)transferRequest->Buffer = 0x0012000001000680;
transferRequest->BufferLength = 8;
transferRequest->IsochronousPacketsArraySize = 0;
transferRequest->IsochronousPacketsArray = NULL;

TransferResult result = Device::api.ReadPipe()(deviceHandle_, transferRequest, overlapped);

When I issue this request, it completes successfully, i.e. result variable indicates a TransferSuccess, as does UsbdStatus in GenResult. However, BytesTransferred in GenResult is 0, indicating that no bytes were transferred in the request.

Is this this proper flow? Should I execute more reads after this? All in all, the questions is as previously mentioned - is it possible to fetch the device descriptor (and analogously configuration/interface/endpoint) descriptors by doing control transfer, instead of using the API functions? Thanks for having patience.

UsbDk driver installation failed

Just compiled UsbDk and tried to install.

C:\Users\Administrator\Downloads\UsbDk-master\Install\x64\Win7Release>UsbDkContr
oller.exe  -i
Installing UsbDk driver
WdfCoinstaller exception: WdfPreDeviceInstallEx() failed (Failed to get error de
scription for error code: 0xd)
UsbDk driver installation failed

How can i integrate backend UsbDk (replace WinUSB) on Usb-redirection features of spice-gtk

My steps is follow,but doesn‘t work.
1、Download and install USBDK from http://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.8_x86.msi on my laptop and test with USBDKcontroller.exe -r,it works well
2、Clone https://github.com/dmitryfleytman/libusb/tree/usbdk-backend-v5 and compile
mingw32-configure –enable-usbdk –enable-debug-log
make
make install
3、compile spice-gtk-0.29
mingw32-configure –with-gtk=2.0 –enable-usbredir=yes –with-sasl=no –enable-vala
make
make install
cd spice-common/spice-protocol
make install
4、 compile virt-viewer-1.0
mingw32-configure –with-gtk=2.0 –with-spice-gtk
make
make install
5、Package and install remote-viewer on my laptop
6、Copy UsbDkHelper.dll to the same dir of remoteviewer.exe
7、open remote-viewer and connect to my vm,click the redirect checkbox, raise the error "-12" .

Is there any step by step document?

BSOD on Windows 10

We're using UsbDk to talk to a DFU device on Windows.

Some of our users encounter a BSOD whenever they plug our device to their machine.

The screen says

Stop Code: DRIVER IRQL NOT LESS OR EQUAL
What failed: UsbDk.sys

Version v1.00-19

Kinect v2 not found

I was trying libusb with the new usbdk backend on Windows 8.1. But usbdkcontroller.exe was unable to find the Kinect. usbdkcontroller.exe -n found two devices of the Kinect adapter (Hub devices), but the Kinect sensor was not found. I could see the Kinect sensor device in the Windows device manager, and a Microsoft driver is installed for it.

What can I do?

Regression: DeviceIoControl failed from libusb_open immediately after libusb_close on Windows 10

Our users started to get this error on Windows:

libusb_open returned: -99

First-chance exception at 0x00007FFDB1743C58 in Protonect.exe: Microsoft C++ exception: UsbDkDriverFileException at memory location 0x00000095014FDA30. Driver file operation error. DeviceIoControl failed (The system cannot find the file specified. Error code = 2)

First-chance exception at 0x00007FFEC5F83C58 in Protonect.exe: Microsoft C++ exception: UsbDkDriverFileException at memory location 0x000000900C59D3F0. Driver file operation error. DeviceIoControl failed (The system cannot find the file specified. Error code = 2)
OpenKinect/libfreenect2#812 (comment)

The error can be reproduced by libusb_open() immediately after libusb_close() and would go away if there is some time delay between the two calls.

The error is only reproduced with v1.0.17 and not v1.0.16.

USBs don't work after uninstall UsbDk v1.00-17

Hi everyone!

I've uninstalled the UsbDk v1.00-17 and the usb ports are not working now on Windows 10. Windows is installed with Ubuntu, through the GRUB, and I tried to enter safe mode after select Windows on the Grub menu and, because the usb ports, I can't enter on the safe mode...
After I select Windows 10, all usb stops and it is impossible to make any action.

On Ubuntu all is working correctly.

Any idea of how can I solve this?

USB keyboard doesn't work after installing UsbDK

I installed UsbDk on a native Windows 7 machine. After reboot, the USB keyboard is no longer functioning. As you can imagine, accessing the machine is quite difficult now without a keyboard.

I'm still trying to remove the UsbDk driver from recovery mode where there is no access to the Device Manager.

Is UsbDk somehow used as the exclusive driver for the keyboard?

State corruption during fast USB reconnections

Hello,

It took me a while to figure out approximately what happens, but I've no idea exactly where things go wrong inside the driver. I'm trying to use a crypto wallet (Ledger Nano S) through UsbDK -> libusb -> gousb. The way this wallet works is that whenever an application running on the USB dongle starts or stops, it resets the USB device, meaning an extremely fast disconnect-reconnect sequence.

Now the problem is that this fast reconnection corrupts some state within the driver, because after some number of these reconnects (may be the first, may be the 10th, usually blows up quite fast), the opening the USB through UsbDK errors out with:

Driver file operation error. DeviceIoControl failed (Cannot create a file when that file already exists. Error code = 183)

After this error appears, it doesn't matter if the device is completely unplugged and plugged back in arbitrarily later, the driver will just get stuck displaying this error message for every open operation. The entire process needs to be restarted to successfully open the device again.

My hunch is that the fast reconnect triggers some race condition within the driver, which leaks out a file handle, causing all subsequent opens to fail forever. I've tried to debug this but unfortunately I'm way over my head here, so I'd really appreciate if you could take a peek as to what might be wrong.

Thanks,
Peter

GetOverlappedResult failed on Macbook air running windows 10 (Bootcamp)

Hi, i installed the debug usbdk on my macbook running windows 10 in bootcamp (so its native windows 10), when i capture a device it fails immediately when trying to reap the completed URB on the pipe

00000012    58.70553970 [2808] [1]0EE8.0468::10/12/2015-20:23:55.814 [UsbDk]CUsbDkControlDevice::AddRedirect Success. New redirections list:    
00000013    58.70557404 [2808]  
00000014    58.70597839 [2808] [1]0EE8.0468::10/12/2015-20:23:55.814 [UsbDk]CUsbDkRedirection::Dump Redirect: DevID: USB\VID_18A5&PID_0243, InstanceID: 070B544992654402    
00000015    58.70605087 [2808]  
00000016    58.70634460 [2808] [3]0004.13C0::10/12/2015-20:23:55.926 [UsbDk]CRegText::Dump ID: USB\VID_18A5&PID_0243    
00000017    58.70641327 [2808]  
00000018    58.70670319 [2808] [3]0004.13C0::10/12/2015-20:23:55.926 [UsbDk]CRegText::Dump ID: 070B544992654402 
00000019    58.70683289 [2808]  
00000020    58.70699310 [2808] [3]0004.13C0::10/12/2015-20:23:55.926 [UsbDk]UsbDkEvtDeviceAdd Entry 
00000021    58.70706177 [2808]  
00000022    58.70731735 [2808] [3]0004.13C0::10/12/2015-20:23:55.926 [UsbDk]CRegText::Dump ID: USB\VID_18A5&PID_0243    
00000023    58.70745087 [2808]  
00000024    58.70771408 [2808] [3]0004.13C0::10/12/2015-20:23:55.926 [UsbDk]UsbDkEvtDeviceAdd Exit STATUS_SUCCESS   
00000025    58.70784760 [2808]  
00000027    64.89150238 [3816] Driver file operation error. GetOverlappedResult failed (Element not found.  Error code = 1168)  
00000028    69.83258057 [3816] Driver file operation error. GetOverlappedResult failed (Element not found.  Error code = 1168)  
00000029    74.97229767 [3816] Driver file operation error. GetOverlappedResult failed (Element not found.  Error code = 1168)  

However it runs ok in window 10 vm, and also it runs ok in windows 7.

Does the depend on the native host controller? Looking on the macbook its running the standard XHCI usb 3.0 host controller driver for the chipset.

Installing USBDK may make the system unstable

This was reported on the GIMX forum:
https://forum.gimx.fr/viewtopic.php?f=5&t=1229
The PC is a Dell Latitude E5530 laptop, and the OS is Windows 7 64bit.
Issue first happened with USBDK 1.0.4. Unplugging the laptop from the docking station solved the issue. I think the docking station is model XX6F0, which interestingly has USB 3.0 ports, and most probably a USB 3.0 HUB.
After installing USBDK 1.0.6 the system became unstable again, and unplugging from the docking station doesn't help anymore.

UsbDk don't work ok when redirect a camera from a Windows XP

Hi,

When I redirect a camera from a Windows XP SP3 into a virtual machine by UsbDk,the amcap in the virtual machine always show balck screen and there are no images displayed.

The version of usbdk is 1.0.19 and the etl file and USB Information of the camera is in the attachment. USBView can't dump in Windows XP, so I used USBTreeView instead.
UsbDkTrace.zip

Do you know the reason why this happens?

Thanks,
Qixiong

FTDI devices visible with UsbDkController, but not to libusbx

With UsbDk 1.0.17:

./UsbDkController.exe -n
Enumerate USB devices
Found 6 USB devices:
0. FilterID: 1, Port: 1, ID: 8087:8001, Configs: 1, Speed: 3
USB\VID_8087&PID_8001 1
Descriptor for configuration #0: size 25

  1. FilterID: 3, Port: 3, ID: 8087:0a2a, Configs: 1, Speed: 2
    USB\VID_8087&PID_0A2A 3
    Descriptor for configuration #0: size 177
  2. FilterID: 3, Port: 6, ID: 1bcf:2b8d, Configs: 1, Speed: 3
    USB\VID_1BCF&PID_2B8D 6
    Descriptor for configuration #0: size 737
  3. FilterID: 3, Port: 7, ID: 0a5c:5804, Configs: 1, Speed: 2
    USB\VID_0A5C&PID_5804 0123456789ABCD
    Descriptor for configuration #0: size 269
  4. FilterID: 5, Port: 1, ID: 0403:6010, Configs: 1, Speed: 3
    USB\VID_0403&PID_6010 AX00000003
    Descriptor for configuration #0: size 55
  5. FilterID: 71, Port: 1, ID: 0403:6010, Configs: 1, Speed: 2
    FTDIBUS\VID_0403+PID_6010+AX00000003B 0000
    Descriptor for configuration #0: size 32

Output from libusb_get_device_list:
index 0 vendor 0x8087 product 0x8001
index 1 vendor 0x8087 product 0x0a2a
index 2 vendor 0x1bcf product 0x2b8d
index 3 vendor 0x0a5c product 0x5804

This is with the fedora mingw libusbx.
Name : mingw64-libusbx
Version : 1.0.21
Release : 1.fc25
Architecture: noarch
Install Date: Mon 27 Feb 2017 02:35:09 PM CET
Group : Unspecified
Size : 333790
License : LGPLv2+
Signature : RSA/SHA256, Sat 29 Oct 2016 03:58:53 PM CEST, Key ID 4089d8f2fdb19c98
Source RPM : mingw-libusbx-1.0.21-1.fc25.src.rpm
Build Date : Sat 29 Oct 2016 03:56:47 PM CEST
Build Host : buildvm-22.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager : Fedora Project
Vendor : Fedora Project
URL : http://libusbx.org/
Summary : MinGW library which allows userspace access to USB devices
Description :
This package contains the header files and libraries needed to develop
applications that use libusbx.

This is on Windows 7. It is somewhat erratic, sometimes the ftdi devices are there, more often however not.

UsbDkHelper: StartRedirect hangs when detaching a Bluetooth device

Hello,
We have recently switched to using usbdk for libusb on Windows, but it appears that UsbDkHelper is not working quite right for Bluetooth adapters; it causes us to hang whenever we try to open the device (it's stuck in StartRedirect).

Here is the relevant stack trace:

 	[External Code]	
 	UsbDkHelper.dll!00007ffdaeb3cd3a()	Unknown
>	Dolphin.exe!usbdk_open(libusb_device_handle * dev_handle) Line 421	C
 	Dolphin.exe!libusb_open(libusb_device * dev, libusb_device_handle * * dev_handle) Line 1268	C
 	Dolphin.exe!IOS::HLE::Device::BluetoothReal::OpenDevice(libusb_device * device) Line 561	C++

Steps to reproduce:

  • Download the latest version of Dolphin.
  • In the Controller configuration dialog, select "Passthrough a Bluetooth adapter".
  • Plug in an adapter. Make sure Windows is seeing it as a Bluetooth adapter.
  • Start a Wii title (game, channel, anything using a Wii remote).
  • Dolphin should now hang on a black screen, when it tries to use the adapter.

I think this may be due to Windows's Bluetooth stack still using the driver or something, because if you manage to open the driver before the Bluetooth adapter is detected by the stack, or if you install WinUSB/libusbk for the adapter, then usbdk is able to redirect the device just fine.

Unfortunately, DebugView didn't show anything useful (it only tells us it's hanging after libusb_open, which we already know).

Do you have any idea what is wrong? Do we need to detach the system driver first (like on Linux)? Thanks!

libusb-usbdk issue when installing usbdk twice

The libusb-usbdk returns the following error after installing usbdk twice:
Driver file operation error. Failed to open device symlink .\UsbDk (Failed to get error description for error code: 0x2)

Issue: USB3.0 root hub didn't work after uninstalling usbdk

Steps to reproduce:

  1. UsbdkController.exe -P 0x781 -1 -1 -1 1
  2. UsbdkController.exe -i (After installing, the device(vid : 0x0781) disappeared as expected)
  3. UsbdkController.exe -u
    After Step 3, the hub didn't work with the error "Windows cannot load the device driver for this hardware because a previous instance of the device driver is still in memory. (Code 38)"
    Every time I tried to collect log, I got a blue screen error when installing usbdk.

usbdk redirect invalid

There is an obvious bug in usbdk , when you turn usb redirection when using U disk data transfer unplug surprised, spicy.exe will be a dead stuck, with the bug that unable to terminate the process. When I insert u disk again, usbdk been undetectable U disk, restart the computer when u disk can be detected again. This bug has always existed,untill now did not be solved. Because of the existence of this bug. It is affecting the user experience.

windows10 problem

In an environment of Windows10 64bit(version 1511), usbdkcontroller fails to driver update of specific scanner.
It was successful in an environment of Windows7 and 8.1.

To see the log, I installed to compile the source of the same version as the UsbDk_1.0.12_x64.msi.
I tried to redirect the scanner using the usbdkcontroller.
However, the following errors has failed is displayed after 2 minutes.

[usbdkcontroller]
Driver file operation error. DeviceIoControl failed (The device is not connected. Error code = 1167) Redirect of USB device failed

Try the other device, there was no problem.
*other usb2.0 scanner
*usb3.0/2.0 usb memory
*usb1.1 headset

In the debug trace log, there was a following of log immediately after redirect the scanner.

[debug trace]
00000140 10.97756100 UsbSleepStudy_GetDeviceStringProperty: Failed to fetch DeviceProperty 0xc0000034

windows has failed to detect the redirected device.

I made a modification to perform the IOCTL_INTERNAL_USB_CYCLE_PORT ioctl only, but it was successful.

[logfile]
UsbDkController.txt
MyUsbTree.txt
MyUsbTree.xml.txt
UsbDkTrace.txt

you need me to provide further information to diagnose this problem?

Regards,
yoshiki-k

Support for 0 byte bulk/interrupt transfers

Some devices use zero length bulk transfers, E.g iLok.

At the moment when passing a zero length transfer to the UsbDkHelper Read/WritePipe it will cause an STATUS_INVALID_USER_BUFFER error when it attempts to lock a zero length buffer in RedirectorStrategy (Line 248) and it then basically corrupts the internal state somewhere and causes the userspace program to crash.

SetConfiguration

Is there a reason why SetConfiguration is missing? I notice that SetAltInterface is there but seems like SetConfiguration would be quite useful also

Different device name is displayed in the device manager

usbdk is using a sequence number which is counted from the time of OS start-up in the device information.
When I redirect the device in UsbDkController.exe, connection information of the device to the local PC registry will be logged.

Connect the device A to the root hub, after the redirect 10 times, and then restart the OS.
When I was redirected to connect the device B to the same port, the name of the device A has been displayed in the tree of other devices.
After it redirects 10 times, 11 times and later will show the correct name of the device B.

For the device that defines the iSerial in the device descriptor, it will be displayed in the previous device information regardless of the hub to connect.

Regards,
yoshiki-k

Installing USBdk broke all my USB ports

Hi,
I attempted to install USBdk and Windows returned a signing error. However, I cannot figure out how to uninstall this software, as it was not made clear how to do so.

ReadPipe example

I'm trying to read data from a 3D mouse after acquiring (redirecting) the device. The device redirection is successful and disables the device, until I release it back. However, when attempting to read data, I get INVALID_HANDLE (0x6) error from GetLastError(). I've been looking through the libusb source code for example reads - however, I'm not sure I'm configuring the packets correctly. It would seem there are no read/write examples in UsbDk (controller).

This is my device endpoint descriptor:
bEndpointAddress: 0x81 IN
Transfer Type: Interrupt
wMaxPacketSize: 0x0008 (8)
bInterval: 0x0A

And this is my code:

void Device::ReadPipe()
{
	PUSB_DK_TRANSFER_REQUEST transferRequest = (PUSB_DK_TRANSFER_REQUEST)malloc(sizeof(tag_USB_DK_TRANSFER_REQUEST));
	LPOVERLAPPED overlapped = (LPOVERLAPPED)malloc(sizeof(_OVERLAPPED));
	DWORD error;

	transferRequest->TransferType = InterruptTransferType;
	transferRequest->EndpointAddress = 0x81;
	transferRequest->Buffer = (PVOID64)malloc(8);
	transferRequest->BufferLength = 0x08;
	transferRequest->IsochronousPacketsArraySize = NULL;
	transferRequest->IsochronousPacketsArraySize = 0;

	TransferResult result = Device::api.ReadPipe()(deviceHandle_, transferRequest, overlapped);

	switch (result)
	{
	case TransferSuccess:
		std::cout << "success" << std::endl;
		break;
	case TransferSuccessAsync:
		std::cout << "success async" << std::endl;
		break;
	case TransferFailure:
		error = GetLastError();
		std::cout << "failure with error code: " << error << std::endl;
		break;
	default:
		std::cout << "no result" << std::endl;
	}

	free(transferRequest->Buffer);
	free(transferRequest);
	free(overlapped);
}

I have to mention that I'm very new to such low level device interaction, so it may be that I'm doing something stupid, but I've been attempting to read from the device for a couple of days now without success. I'd be happy to do a pull request and write some examples - perhaps by extending the UsbDkController class. Thanks.

Edit: Note that I haven't sent a control transfer, which I'm guessing I should have?

Uninstalling and reinstalling usbdk causes random BSODs

Uninstalling and reinstalling USBDK causes random BSODs:
img_2036
I wasn't able to get a kernel memory dump: the MEMORY.DMP file is not written to the disk (I still think I configured it right). I tried to find a method to reproduce the problem, and I ended up running the following bash script in a msys2 shell:

#!/bin/bash

export MSYS2_ARG_CONV_EXCL="*"
while :
do
  msiexec /x {DE78E7B1-43E5-4278-9678-174A6EC4444E} /qn
  msiexec /i UsbDk_1.0.4_x64.msi /qn
done

It generates a BSOD in about 5 minutes. Opening the device and printers panel may speed up the crash. I have many devices (more than 10) connected to my computer.

redirect usb device timeout

hello.
I redirect my usb device using spice-gtk+libusb+usbdk, but it timeout, How to solve this problem?
I compile UsbDk through the newest commit in github, win10-x64 system.
thank you!

UsbDk.txt

failed to install on Windows 10 and USB doesn't work

I tried to install usbdk on my windows 10 desktop. The installation was blocked and did not succeed. Now all my USB ports don't work. I cannot enter windows now. I think I should find a bluetooth or wire keyboard and mouse. :(

Do you know what happened and how to solve the problem?

Provide a single 32bits + 64bits MSI package

Sure it would be bigger (and a waste of space in most cases), but it would be so much easier to install for end users. Most don't have a clue wether they're on 32 or 64 bits systems.

Installing UsbDk 1.00-7 on Windows 10 appears to cause USB ports to die temporarily

Hi,

I am using a Toshiba Satellite C55-5240 with Windows 10 64-bit installed. I installed UsbDk 1.00-7 and after the installation my USB keyboard and mouse stopped working until I rebooted the computer.

I'm afraid I can't really give you much more detail than that, but if you have logfiles located somewhere I would be happy to provide them.

Can't redirect JetFlash USB TS1GJFV30

Hi @dmitryfleytman
I have a USB storage device named JetFlash USB TS1GJFV30 Device (USB \ VID_058F & PID_6387, 4SESX7O4). I run the command: UsbDkController.exe -r “USB \ VID_058F & PID_6387" 4SESX7O4, it successfully. But when I try to redirect to the virtual machine, the VM does not find the device. I checked Device Manager and Events Log of VM, but no information. My environment end my step is similar to with issue #14. Please do check and respond to me soon on this issue.
Here is my UsbDk log files:
Usb_transcend_binaryLog_usbdk1.0.8.zip.txt

Additional Information: Previously, I also meet similar problems with this Usb device and UsbDk v1.0.7. UsbDk log notice "GetOverlappedResult failed" when plug this device.I fixed it by comment line 102 of file UsbDkHelper\RedirectorAccess.cpp for skip expection, then rebuild again UsbDK it has redirect OK.

throw UsbDkDriverFileException(TEXT("GetOverlappedResult failed"));

After upgrading to UsbDk 1.0.8, I do not see this log on again. Therefore I do not try solutions above.

usdbk device prevent device usage in virtual-box

Under win7-64 (home edition)
After usb device (maybe) used by usbdk via libusb and released it may not be possible
anymore to map it in a virtual machine( virtual biox)
I'm not 100% how i reach that situation, i noticed it after a while installing playing and testing libusbd+usbdk i was not able anymore to use an device in a VirtualBox , it fail to acquire device in host and map it on the guest.

I had to play with registry editor and delete an entry "upfilter" that was set as "Usdbk" in order to get back usb device usable in virtual machine.
I came to this solution described in many virtual box forum post like here https://forums.virtualbox.org/viewtopic.php?f=2&t=37326

Is this a know issue? It's quite annoying for libusb based app under window if the same device is to be used in guest os (typically my multi os test environment).

Receiving -1 using libusb-usbdk for any control transfer

Hi

This seems to be a really interesting and promising library, so thanks for it. I have a question though, I am trying to send control transfers to a device via libusb-usbdk (porting code that uses libusb on another OS and works):

  1. List devices. I am able to iterate through the devices and find the one I am looking for.
  2. Open the device. I am able to successfully open the device. The redirector appears to work.
  3. Get a handle for the device from libusb. This appears to work.
  4. Send a control transfer. This appears to fail with -1. Stepping through the code it seems like it successfully sends the transfer (at least I get TransferSuccessAsync from usbdk_helper.WritePipe) but then there's some IO error that happens later on or something...I get LIBUSB_TRANSFER_ERROR after waiting is completed.

I've plugged the device into a hardware USB sniffer and I don't see any transfer happening at all there.

Any thoughts on what I might be doing wrong? Am I missing a step or anything?

Hide rule unstable

Hi Dmitry:
With the latest code, hide rule doesn't work sometimes. The device was still loaded by the system with the correct Hardware ID.
I have sent the log to your email since I still cannot upload zip files.

Support usb smartcard

(Sorry because my English is very weak)
Hi team UsbDK (@blochl n @ezzze),
I have a server running virtualization service for create and run virtual machines using KVM. I use the tool virt-viewer to connect to VM via protocols on spice. Spice-gtk library available Usb-redirection feature supports the connection of USB devices with a virtual machine, based on libusb and WinUSB backend, but it slow and unstable. So my aim is to integrate backend UsbDk (replace WinUSB) on Usb-redirection features of spice-gtk. I have found a completed modified version of libusb, use usbdk-backend (refer https://github.com/dmitryfleytman/libusb/tree/usbdk-backend-v4). I have build it and integrate into virt-viewer replaces the original library libusb. It works well with USB storage devices and smartphones. However I have a problem with the device type smartcard USB token: After performing redirect USB token devices, although the operating system (Windows 7) in virtual machines see usb devices (as a smartcard reader) and install the driver successfully, however, the software reads the card information my notice not found smartcard. I've also tried many different software like "Gemalto SmartDiag" to take state smartcard but the software also did not detect any smartcard. I tried watching the Usb log and Windows Event Log, but could not find the cause. Can you guide me somehow to me debug this error, or you need me to provide further information to diagnose this problem?
Sincerely thanks !

Here is my environment:
Server: Centos 6.6 – Qemu 2.4.0.1 – Spice-server: 0.12.5
Client: Windows 7 – 32bit - UsbDK 1.00-8 – virt-viewer 2.0
I included the UsbDk log when I plug and perform redirect usb token device.

smartcard.txt

Installation o Windows 10 blocks all USB

Tried to install on Windows 10, as recommended in this emulation project, https://wiki.dolphin-emu.org/index.php?title=USB_Passthrough#In_5.0-2352_and_newer

I know it's not the first time this is reported, but I you should consider marking the lib linked above to be incompatible with Windows 10.

I'll try to get a PS/2 keyboard and Uninstall the driver tomorrow. I'll try and report back and give some more info about it. Currently I can say:

  • Windows says it's an unsigned driver, maybe this is what's causing this behavior
  • There is a way to test whether adding permission to unsignes drivers makes any difference,I'll try to do it

When 2 USB devices remove each USB hub, it can no longer be redirected.

usbdk was successfully deleted PDO from list when only one of USB Device removed,
but case of two devices, it was not deleted.

I also attempt to once again redirect the USB devices, it will not be able to redirect because the PDO remains in the list.

Is it possible to fix this issue?

Regards,
yoshiki-k

Does not contain the catalog file

Does not contain the catalog file in the release version of the driver msi, Can it be included?
Looking at the installed driver in Device Manager, Driver is not signed.

Regards,
yoshiki-k

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.