libusbK
Чего не видят фанатики обоих лагерей? Смотрите с минуты 25:40
Если вы разработчик или производитель USB устройств и ищете драйвер для нового устройства, libusbK может вам помочь. libusbK полный набор возможностей WinUSB. Кроме того, libusbK имеет полную поддержку изохронных конечных точек и обширный набор дополнительных модулей для упрощения разработки.
Возможности libusbK
- Привязки для C#, VB.NET, Pascal, BOO.
- Горячее обнаружение подключений USB.
- Поддержка libusbK.sys, libusb0.sys и WinUSB.sys
Чего не видят фанатики обоих лагерей? Смотрите с минуты 25:40
Лицензия:
BSD, GPL3
Язык программирования:
Boo, C, C#, Pascal, Visual Basic .NET
Сайт проекта
Скачать libusbK
libusbK
A complete software solution for windows usb devices
- Summary
- Files
- Reviews
- Support
- Documentation
- Tickets
libusbK is a complete driver/library solution for vendor class usb device interfaces. If you are a usb developer 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.
What is Libusb win32 Driver?
libusb-win32 is a port of the USB library libusb-0.1 (http://sf.net/projects/libusb/ ) to 32/64bit Windows. The library allows user space applications to access many USB device on Windows.
What does Zadig do?
Zadig is a Windows application that installs generic USB drivers, such as WinUSB, libusb-win32/libusb0. sys or libusbK, to help you access USB devices. It can be especially useful for cases where: you want to access a device using a libusb-based application.
How do I install Libusb win32 drivers on Windows?
Download (https://sourceforge.net/projects/libusb-win32/files/) the latest filter driver installer (libusb-win32-devel-filter-x.x.x.x.zip and then unzip, or libusb-win32-devel-filter-x.x.x.x.exe ). Close all applications which use USB devices before installing. Run the installer, and follow its instructions.
What is libusbK USB devices?
libusbK is a complete driver/library solution for vendor class usb device interfaces. If you are a usb developer 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.
How do I uninstall Libusb-win32?
- Uninstall LibUsb-win32 from Control Panel.
- Restart your computer.
- Download device driver from the internet or the hardware installation disk (If you have one)
- Uninstall the device`s driver or driver program.
- Reinstall from the downloaded driver installer.
- Unplug and plug the device back in.
- Party!
Is Zadig and Voltaire Armenian?
Zadig & Voltaire: a Paris-born and quintessentially French fashion house, whose name is a reference to the nickname of founder Thierry Gillier, ferryman of the Voltairian mindset.
Is Zadig safe Reddit?
Safe in that it’s not malware yes. You can use it to break drivers though so do have to be a bit careful.
How do I use Libusb on Windows?
To install libusb on Windows 7 download the bin package for libusb-win32 (this link points to version 1.2. 6). Then go to the bin directory and run inf-wizard.exe . Here is where you can customize and generate an INF installation file for your device, as well as the installer executables.
How do I uninstall LibUsb win32?
How do I uninstall libusbK USB?
- Go to Driver Manager.
- Scroll all the way down and see for Xbox 360 Peripherals (Or something of that matter)
- Drop it down and right click.
- Uninstall the device and driver and click the box in it that says “Uninstall Driver and Software”
How do I remove Libusb-win32 Driver?
What is the difference between libusb-win32 and WinUSB?
Is liblibusb digitally signed?
Does winwinusb work with composite devices?
Can WinUSB device be used by multiple threads/processes?
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
libusb / libusb Public
Clone this wiki locally
Table of Contents
- Frequently Asked Questions
- Licensing
Frequently Asked Questions
libusb.org, libusbx.org and libusb.info
libusb.org was the original home for libusb project. Now it still exists but the information and code are quite outdated.
libusb.info is the current home page for libusb project.
libusbx was a fork of libusb and libusbx.org is its website. As of 2014.01.26, libusbx project has been fully merged back into libusb and is being discontinued. libusbx.org is no longer related to libusb project.
libusb-win32, libusbK and libusb project
Take note libusb-win32 and libusbK projects are separate projects and both of them use libusb-win32 mailing list for technical support. Unlike libusb which is a cross-platform project, libusb-win32 and libusbK project are both Windows only project.
libusb-win32 project includes libusb0.sys (Windows WDM kernel driver in device driver mode or filter driver mode) and libusb0.dll (libusb-win32 API, library). libusb-win32 API is a superset of the libusb-0.1 API supported by libusb-compat. libusb0.dll supports device using libusb0.sys and libusbK.sys.
libusbK projects includes libusbk.sys (Windows KMDF kernel driver) and libusbK.dll (libusbK API, library). libusbK API is Windows only and libusbk.dll supports device using libusbK.sys, libusb0.sys and WinUSB.
libusb Windows backend can support device using libusbK.sys (and libusb0.sys driver — not recommended due to issues) through libusbk.dll provided by libusbK project. If libusbk.dll is present, it will use libusbK.dll as the intermediate library to support device using WinUSB driver. If libusbK.dll is not present, then it will directly talk to device using WinUSB using WinUSB API. libusb Windows also supports device using generic HID driver or usbdk driver.
What about usbdk?
usbdk is another open-source generic USB driver. usbdk is a new backend added in libusb-1.0.21 release. The major benefit is that you can keep the existing driver. It supports isochronous transfer as well.
What is the libusb license?
libusb is released under version 2.1 of the GNU Lesser General Public License (LGPL).
Can I use libusb in a proprietary application?
You can, as long as you don’t modify its source code.
If you modify the source, then you must make any changes you applied to libusb public, and grant others the right to use these changes in their own applications, under the LGPL v2.1 license terms.
How can I get help? What is the best practice to describe my issues?
Please read the libusb Troubleshooting page and use the mailing list for support.
I tried to post to the libusb mailing list but it failed. Why?
You have to subscribe to the mailing list in order to post.
Can I run libusb applications on Linux without root privilege?
Yes.
The standard solution is to use udev rules. Here are some links to udev related websites.
How can I run libusb applications under Mac OS X if there is already a kernel extension installed for the device?
If there is no existing kernel extension installed for the device, libusb will run out of the box, you do not even need to have root privilege and there is no need to set up udev rules like Linux. However, if there is an existing kernel extension installed for the device, then it is more troublesome. There are ways to get libusb working and they all require some interventions as root.
1) You can use kextunload to unload the kernel extension. You need to run the command as root. Take note this may not be possible for drivers like USB HID since it may be used by other USB HID device. Take note that the kextunload command will lose its effect in the next boot.
The above command will unload the Apple provided FTDI driver (Mac OS X Mavericks or later).
The above command will unload the FTDI provided VCP driver.
2) You can use a codeless kext to prevent the kernel driver from attaching to the device. Take note that OS X Mavericks and later require that the kext be signed using a special Developer ID.
Please read the following two Apple technical notes for more details about writing a codeless kext.
For example, in the case of Apple provided FTDI driver, you can edit the following file to comment out the key/dict sections of the desired VID/PID combination.
Once you finish the editing, you can issue the following two commands and everything should work after that.
- http://alvarop.com/2014/01/using-busblaster-openocd-on-osx-mavericks/ (Dead link now).
For macOS Catalina(10.15) and later, Apple FTDI driver is now a Driverkit extension named com.apple.DriverKit-AppleUSBFTDI.
How to use libusb under Windows?
Basically you will need to install a supported driver.
- If your device is a generic HID device, no extra driver is needed since it is supported. But HIDAPI is recommended for HID device than libusb Windows.
- If your device uses WinUSB driver, no extra driver is needed since it is supported natively.
- If your device uses libusbK driver, you should be set as well (libusbK.dll should have been installed).
- If your device uses libusb-win32 (libusb0.sys) device driver, please switch to libusbK driver.
- If your device uses libusb-win32 filter driver, please uninstall the filter driver and try usbdk instead.
- If your device uses other driver, and you do want to keep using the existing driver, then try usbdk.
- If your device uses other driver and you are okay with switching drivers, then switch to WinUSB (preferred) or libusbK driver.
Can libusb be used on the USB device side, e.g. Linux Gadget Device?
No.
libusb only provides an API for writing software on the host. Of course, if the device also acts as a USB host then libusb could still be useful, but only for the host part of the device.
Can I use libusb to open a file on an USB storage device?
Yes.
libusb can be used for low-level communication with USB Mass Storage Class devices. But in order to access a file on such a device you must first implement Mass Storage Class, SCSI and the particular file system used on the device, most commonly FAT32 .
However, libusb will not do this part for you. In a word, do not use libusb for USB mass storage device.
But you can find a limited example of how to read a data block through Mass Storage using libusb in the mass_storage test from the xusb.c sample of the the libusb distribution.
Does libusb support USB 3.0,3.1,3.2,4?
Yes (as long as the underlying OS supports the corresponding USB version too).
My device works when plugged on an USB 2.0 port but not on an USB 3.x/4 one
If you encounter such an issue, you should report it to the libusb mailing-list.
But please take note of the OS support of USB 3.x/USB4.
For instance, USB 3.0 support for Windows 7 and earlier is very much dependent on individual drivers, which are provided by the USB controller manufacturer, and not Microsoft. Some of these have been known to have bugs. Only Windows 8/8.1/10 and later have an official USB 3.0 stack that originates from Microsoft.
For Linux, the xHCI driver may also not be as mature as the other host controller driver if you use older kernel versions. Please try to upgrade to later version of the kernel whenever possible to have better support.
For Mac OS X, xHCI support may not be so good in older versions like Mac OS X Mountain Lion. Whenever possible, please upgrade to later version of Mac OS X for better support.
Does libusb support USB HID devices?
If your application will revolve around HID access, you are strongly encouraged to try to use the HIDAPI library, which is also cross-platform. It uses native HID API under Windows and Mac OS X. It use either hidraw or libusb as the backend under Linux.
libusb was widely used to access USB HID device under Linux for historical reasons so there may be use cases to use libusb for HID device due to existing code base or for platforms without HIDAPI support. However, the level of support as well as the ease of access of HID devices, depends on the platform you will be running libusb on.
On Linux, you must detach the kernel HID driver for libusb to communicate with the device, but the libusb API can do this for you. If you have a relevant udev rule, you should also be able to perform that operation without requiring root privileges. Still HIDAPI is recommended for new development.
On Mac OS X, you must install a codeless kext kernel driver and then reboot, before you will be able communicate with the device. This may not be easy with the release of later Mac OS X versions. So it is not recommended. HIDAPI should be the library of choices if you need Mac OS X support.
On Windows, the native Windows HID driver is supported by libusb, but there are some limitations, such as not being able to access HID mice and keyboards since they are system reserved, as well as getting a direct read of HID report descriptors.
Under NetBSD/OpenBSD, you may have to rebuild the kernel in order to use libusb with the HID device. Please refer to the apcupsd page.
In general, you may find HIDAPI a better library for HID device.
Does libusb support Windows RT?
No.
Windows RT is locked by Microsoft, which means that users cannot install the applications or library of their choice. As such, libusb has no plans to support Windows RT.
Does libusb support Apple iOS device?
Does libusb support Apple Sillicon based Mac
One way to build libusb binary for both x86_64 in addition to arm64 is as following if you do not use homebrew. 1. Install Xcode Ver12.2
2. Clone the newest libusb from git
3. Open the Xcode project from /libusb-1.0.24/Xcode/libusb.xcodeproj
4. Choose the build option to «Any Mac» which means both ARM64 and X86_64
5. Edit the Run Scheme to Release and then build the project.
6. Show the «libusb-1.0.0.dylib» in Finder then copy it to /usr/local/lib
7. Copy the «libusb.h» to /usr/local/include/libusb-1.0
If you use Homebrew, you can use x86_64 and arm64 homebrew at the same time using different directories . Please follow the official Homebrew instructions.
Does libusb support Hackintosh?
Not officially supported. If you encounter issues, please check if the issues are present in official Apple Macs or not.
Does libusb support Windows CE based device?
Please refer to the Windows CE related information in the following file.
https://github.com/libusb/libusb/blob/master/INSTALL_WIN.txt
Note: Windows CE support has been removed in 1.0.24.
Does libusb support Android?
Yes. However, this will only work if your device has USB host support (also known as USB On-The-Go) and if you have sufficient privileges to run in host mode (which usually requires a «rooted» device). Please check the android directory for more info.
Currently there are also multiple issues reported by the user. Please check the existing tickets as well to see if you can sort out the issues from the hints in the tickets. Version 1.0.24 has made quite some improvements on Android side and you should use version 1.0.24 or later.
An important tip of using the API libusb_wrap_sys_device under Android is mentionedhere. It is also mentioned in Issue #717.
Does libusb work under Virtual Machines?
Yes. However, VMs, especially VirtualBox, may have not very good implementation of the USB stack. If you encounter issues with libusb on VMs, run it under non-VMs first to see if that works or not. It it works under non-VMs but not under VMs, you may have to get help from the VM vendor or community.
Known quirks/differences between libusb-compat-0.1 and legacy libusb-0.1