Skip to content
mcuee edited this page May 23, 2026 · 15 revisions

Welcome to the libusbk wiki!

libusbk document: http://libusbk.sourceforge.net/UsbK3/index.html

Table of Contents

What is it?

libusbK is a complete driver/library solution for vendor class usb device interfaces. If you are a usb developers or usb device manufacturer seeking a driver solution for a new USB widget then libusbK could be for you.

libusbK encompasses a 100% WinUSB compatible api/funtion set. All WinUSB power/pipe polices are fully supported by the libusbK driver. In Addition, libusbK has full support for isochronous endpoints and an extensive set of additional modules to simplify development.

Attention

libusbK is not an end-user component, i.e., If your googling for a usb driver because windows can't seem to find one, this is not the solution.

Licensing

LibusbK is dual license under GPL and modified BSD. For redistribution purposes, libusbK can be licensed under either agreement. See the license folder which accompanies each libusbK package for license details.

Bindings for other languages

The main libusbK library is written in standard C, but official bindings for the libusbK standard C library are provided for the folllowing languages:

How to build libusbk

1) Master branch -- only support Windows 10/11 x64/arm64 for libusbK.sys driver build and x86/x64/arm64 for libusbK library and examples build. Recommended tools: VS2022 or later, supported version WDK or EWDK.

https://learn.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads

Unsupported version may work but they are not recommended. https://learn.microsoft.com/en-us/windows-hardware/drivers/legacy-wdk-downloads

2) v3.1 branch -- support x86/x64 Windows XP/Vista/8/8.1/10/11 build for libusbK.sys driver, libusbK.dll libary and examples. WDK 7.1 (7600.16385.1), https://www.microsoft.com/en-us/download/details.aspx?id=11800

3) Where is DOSCMD? https://github.com/mcuee/libusbk/issues/23

How to using libusbk library with MinGW GCC

You can link to libusbk.dll with MinGW GCC. Recommended toolchain to build the examples is tdm64-gcc.

Examples running log

kBench can reach very fast speed with Cypress USB 3 devices. https://github.com/mcuee/libusbk/tree/master/BmFW/CYPRESS_FX3