Jan Axelson's Lakeview Research

Home > USB Central > USB Code > WinUSB

WinUSB

WinUSB a generic driver for devices that don't fit a defined USB class. The driver was introduced with Windows Vista and is also usable on Windows XP systems. The driver is not usable on earlier Windows editions. The driver supports control, bulk, and interrupt transfers.

My Host Applications

These are my .NET host applications for accessing devices that use the WinUSB driver. The applications are identical except for the programming language. Each includes an example INF file to match the device's Vendor ID and Product ID to a device interface GUID.

Current Versions

winusb_vb for Visual Basic .NET. Created with Visual Studio 2008 for the .NET Framework V2.0 or later. Updated 2/11/09.

winusb_cs for Visual C# .NET. Created with Visual Studio 2008 for the .NET Framework V2.0 or later. Updated 2/11/09.

Older Versions

winusb_vb for Visual Basic .NET. Created with Visual Studio 2005 and the .NET Framework V2.0.

winusb_cs for Visual C# .NET. Created with Visual Studio 2005 and the .NET Framework V2.0.

WDK

Installing WinUSB on a PC requires files from the Windows Driver Kit (WDK), a free download from Microsoft.

Linux

Linux Host Code.

Other Host Software

WinUSB Component for .Net. For bulk transfers. From Asaf Shelly.

Device Firmware

For devices whose host driver is WinUSB.

Microchip C18

pic_usb_device_winusb_jan_axelson_10.zip Written for the PIC 18F4550 and Microchip's MPLAB C18 compiler with the Microchip Application Libraries V2.6a USB Framework. See the readme file to find out how to create the project in the Framework directory structure. (Microchip provides WinUSB examples, but my code supports more endpoints and vendor-defined control transfers.) Updated 4/22/10.

Older versions

Use the newest Framework and the code above unless you have a compelling reason not to.

winusb_c18_fsusb_fw2-5.zip for the V2.5 Framework.
winusb_c18_fsusb_fw2-3.zip for the V2.3 Framework
winusb_c18_fsusb.zip for the V2.1 Framework
mchp_winusb for the V1.x Framework.

PICBASIC PRO

picbasic_winusb.zip for interrupt and bulk transfers in PICBASIC PRO.

More Information

WinUSB. Microsoft documentation.

How to Use WinUSB to Communicate with a USB Device. From Microsoft.

 

Partner Links

***