/ezusb-to-libusb

Cypress EZ-USB compatibility layer for Windows

Primary LanguageCMIT LicenseMIT

EZ-USB to libusb Compatibility Layer

A library that hooks DeviceIoControl calls and redirects the legacy EZ-USB API to libusb.

Report Bug · Request Feature · Latest Release

About The Project

This library hooks various WinAPI functions in an attempt to emulate the EZ-USB driver on modern systems.

Usage

For Xeltek SuperPro:

  • These releases are built with SUPERPRO_WINMM_BUILD defined.
  1. Ensure that the SP3000.exe file is the original version. The hex edited version won't work.
  2. Uninstall any existing driver for the SuperPro device. To do this, open the Device Manager, locate the SuperPro device, right-click on it, select "Uninstall," and make sure to check the checkbox that says "Attempt to remove the driver for this device."
  3. Install the WinUSB driver for the SuperPro device. You can use Zadig, which provides a usage guide available at this link.
  4. Download the latest SuperPro release, and extract the files from the zip to the folder where the SP3000.exe is located.

For other devices:

  1. Install the WinUSB driver for your device. You can use Zadig, which provides a usage guide available at this link.
  2. Download the latest generic release.
  3. Modify the eu2lu_config.json file to reflect the correct VID and PID values for your device. After making the modifications, move the file to the folder where your target software is located.
  4. Inject the EZUSBToLibusb.dll file into your target software. The process for injecting the DLL may vary depending on the specific software you are using.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/FeatureName)
  3. Commit your Changes (git commit -m 'Add some FeatureName')
  4. Push to the Branch (git push origin feature/FeatureName)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.