Questions tagged [winusb]

Windows USB (WinUSB) is a generic driver for USB devices that was developed concurrently with the Windows Driver Frameworks (WDF) for Windows XP with SP2.

The WinUSB architecture consists of a kernel-mode driver (Winusb.sys) and a user-mode dynamic link library (Winusb.dll) that exposes WinUSB functions. By using these functions, you can manage USB devices with user-mode software.

Winusb.sys is also a key part of the link between a UMDF function driver and the associated device, and is installed in the device's kernel-mode stack as an upper filter driver. An application communicates with the device's UMDF function driver to issue read, write, or device I/O control requests.

The driver interacts with the framework, which passes the request to Winusb.sys, which then processes the request and passes it to the protocol drivers and ultimately to the device. Any response returns by the reverse path. Winusb.sys also serves as the device stack's Plug and Play and power owner.

More details: MSDN

132 questions
2
votes
0 answers

STM32F103 - PC communication via USB

I am trying to use the found-bits project to communicate with my STM32F103 via USB from a Windows application with no success. The program keeps returning an error code 31 at the WinUsb_ControlTransfer function call. I made some changes that solved…
rxjsisfine
  • 445
  • 1
  • 10
  • 22
2
votes
2 answers

WinUSB Bulk IN transfer fails on transfer size greater than maximum packet size

I am using WinUSB on the windows host side to communicate with my WINUSB USB device. My USB device is Full speed device. I am able to get the device handle and do the OUT and IN data transfers. I am facing an issue with the Bulk IN transfer on FS…
2
votes
0 answers

How can libusbx drivers be installed automatically along with the application using an installer?

I have written an application for a device and I used the libusbx library. I had to install the WinUSB driver using Zadig to run my application. Now, I am deploying my application using the Inno Setup installer. How can I automatically install the…
adnan kamili
  • 8,967
  • 7
  • 65
  • 125
2
votes
2 answers

Sign cat file that uses Winusb.sys as kernel-mode code

I'm trying to make an USB driver to be installable in Windows 8, this USB driver uses only WinUSB. According to this post Signed INF driver works on the computer where it was signed, not others and also this website Practical Windows Code and…
Math
  • 3,334
  • 4
  • 36
  • 51
2
votes
0 answers

WinUSB asynchrous call in .NET with PInvoke

I have programmed a microcontroller with USB and connected it a PC using WinUSB. I am able to communicate with my uC in c++ and in VB.NET using pinvoke with synchronous (blocking, overlapped = NULL) calls. I just got asynchronous calls working in…
Manny
  • 426
  • 4
  • 11
2
votes
1 answer

Accessing WinUSB device from Kernel Mode

I do have a USB device which is using the WinUSB driver (winusb.sys) as it's function driver. Now I need to write a video capture driver (has to be a kernel mode driver) which accesses this device. My question is: Can I access and work with a WinUSB…
Titanic
  • 43
  • 4
1
vote
2 answers

How to get notified if a USB device of a specific interface is connected in Windows?

I would like to be informed, if a (Android) USB device of a specific interface (USB debugging) is connected to my Windows computer. For this, I'm trying to use .Net with this code: const string GUID_DEVINTERFACE_ANDROID =…
user20138168
1
vote
0 answers

Why does WinUSB split transfers greater than MAXIMUM_TRANSFER_SIZE and non-multiples of MaximumPacketSize into multiple transfers?

When transferring a superspeed bulk-in transfer greater than the MAXIMIMUM_TRANSFER_SIZE (2MiB), and a non multiple of the maximum packet size (1024B) it will split the transfers into 3 USB transfers rather than 2. I'm using LibUSB for the PC side…
Minimal
  • 11
  • 3
1
vote
1 answer

Chrome WebUSB controlTransferOut Results in "Transfer failed: A device attached to the system is not functioning. (0x1F)"

I'm developing a consumer USB device that will be configured via a web interface. The first interface is a HID Gamepad. The second is a vendor interface where configuration will be handled. Running this WebUSB code, I get the following error: async…
NessDan
  • 1,137
  • 1
  • 16
  • 34
1
vote
1 answer

Can't receive from USB bulk endpoint despite Windows enumerates and libusb reads descriptor of STM32 custom device class

For a fast ADC sampling USB device, I am using the USB 2.0 High Speed capable STM32F733 with the embedded USB-HS PHY. In USBView, I can see that the device is enumerated, the libusb code opens the device and claims interface, but when I try to…
Emil J
  • 41
  • 4
1
vote
1 answer

Using USB bulk transfer for data acquisition

Below I have included information about the specific microcontroller and library I am using for the microcontroller only to provide a little context and in case someone has experience with them. I am really looking for some broad answers about USB…
1
vote
3 answers

Transferring data to host via USB at high speed

I am talking to a custom made lab-device (little hardware thingy) through a USB-connection. How do I acquire data from the lab-device at maximum speed? The host is a Windows XP machine, running c-code using libsub-win32 in Visual Studio. The little…
AnnaR
  • 3,166
  • 6
  • 35
  • 39
1
vote
0 answers

Can I use Windows WinUSB without GUID?

I run some examples, finding that an interface GUID (from INF) is required to use winusb. Is interface GUID used only under windows? And can I use winusb without GUID? Lot of thanks in advance
Sanbrother
  • 601
  • 5
  • 12
1
vote
0 answers

How to Identify the GUID that WinUSB is using to identify the USB Device

I have some code which is already written, where we are using WinUSB Library (MadWizard.WinUSBNet) to identify the USB device and program the same (USB Plug and play to wirelessly interact with another device). The code is something like…
amesh
  • 1,311
  • 3
  • 21
  • 51
1
vote
1 answer

WinUsb: Write to OUT pipe causes data corruption in the IN pipe

This is my first project using WinUsb driver and library. My Host computer operates WINDOWS 10, all updates installed. My High Speed device operates three data endpoints: OUT Command endpoint: the Host computer uses it to send command IN Reply…
S.Chrichov
  • 11
  • 2
1 2 3
8 9