先说WinUSB,WinUSB.sys是window自带的USB驱动框架,在Win8后集成在内核中里了。
https://blog.gpjtag.com/?p=733
libusb | libusb-win32 | libusbK | |
说明 | libusb是一个跨平台usb驱动框架。libusb原始项目在2010年后基本没有更新,曾有libusbx项目2012年从libusb分出来,2014年1月26日又合并回libusb了。当时的libusbx-1.0.18和libusb-1.0.18其实完全一样,相当于libusbx替换了libusb的代码!后续的版本其实都是基于libusbx的代码了! 包含两个主要分支1.x和0.1.x。 1.x和0.1.x并不兼容,可以同时存在,如果要在1.x基础上兼容0.1.x需要libusb-compat转换层。所以0.1.x和libusb-compat不能同时装上! | libusb-win32是从libusb-0.1.x分支衍生出来的,主要针对Windows做优化,所以接口风格和libusb-0.1.x一致。 | libusbK主要是想做一个WinUSB接口风格的开源usb库,支持基于KMDF的libusbK.sys和系统自带的WinUSB.sys。参考libusb-win32做的开发,部分工具是从libusb-win32整合而来的。因为源代码里也包含了libusbo.dll的加载功能和转换层,所以也可以支持WDM框架的libusbo.sys(libusb-win32)。 |
内核 | 目前1.x分支的驱动只是用户态,linux下支持usbfs,windows下支持WinUSB.sys。也可以支持libusbK和libusb-win32(通过libusbK支持) | WDM框架的libusbo.sys驱动。 | 基于KMDF框架的libusbK.sys、WDM的libusbo.sys、系统的WinUSB.sys |
工具 | 通过Zadig支持生成基于libusb、libusbK、WinUSB的inf文件。https://github.com/pbatard/libwdi/wiki/Zadig | 自带的inf-wizard.exe生成基于libusbo.sys的inf | 自带libusbK-inf-wizard.exe(基于libusb-win32的工具改的)生成基于libusb0、libusbK、WinUSB的inf文件。 |
注意 | 目前建议是新的项目尽可能使用libusb,而不是这个libusb-win32了。 | ||
备忘 | 新网站:http://libusb.info/ 新代码:http://sourceforge.net/projects/libusb/(新的1.0.19-2014.06.14) 新开发:http://github.com/libusb/(貌似开发进度都在这个上面显示了) 旧网站:http://www.libusb.org/(基于Trac的,已经废弃了) 旧网站:http://libusbx.org/ 旧代码:http://sourceforge.net/projects/libusbx/ (到1.0.18-2014.01.26为止) 目前Windows下只是用户态的驱动 支持libusbK、WinUSB、libusb-win32的内核驱动访问。 如果要使用libusb-win32的话,需要安装libusbK! | libusb-win32(libusb-0.1版本的windows移植,2012.01.17) 网站:http://www.libusb.org/wiki/libusb-win32 网站:http://sourceforge.net/projects/libusb-win32/ 包含内核态和用户态驱动 | libusbK(支持windows,2014.04.27) 新网站:http://sourceforge.net/projects/libusbk/ 旧网站:http://code.google.com/p/usb-travis/ 包含内核态和用户态驱动 |