Qualcomm kernel drivers provide logical representations of Qualcomm chipset-enabled mobile devices over USB connections. This repository includes source code, build scripts, and documentation for a set of device drivers designed for Qualcomm hardware platforms. The drivers support both Windows and Linux environments. The project is organized to facilitate easy compilation, testing, and integration into custom hardware solutions.
- Supports Windows and Linux platforms.
- Supports X64/X86/ARM64 architectures.
- WHQL-certified on the latest Windows operating systems.
- Compatible with Qualcomm tools like QUTS, QXDM, PCAT, and more.
- Compatible with terminal emulators like PuTTY and Tera Term.
/
├─ docs/ # Architecture diagrams and design documents
├─ src/ # Qualcomm USB kernel driver for windows and linux platform
├─ examples/ # samples scripts
├─ README.md # This file
└─ ... # Other files and directories
- Visual Studio 2019 (or later) with Desktop development with C++ workload.
- Windows Driver Kit for Windows 10, version 1903 (18362.1) or later.
- GNU Make, GCC/Clang.
- Kernel headers for the target kernel version (
linux-headers-$(uname -r)).
-
Clone the repository
git clone https://github.com/qualcomm/qcom-usb-kernel-drivers.git
-
Navigate to directory where the code was cloned
cd /src/windows/<project-name>
-
From the project root, open the .vcxproj file in Visual Studio.
-
In Visual Studio, select
Build>Build Solutionfrom the top menu.
The output binaries are generated in a path depends on the chosen build configuration. For example:
<ProjectRootDir>\x64\Debug\
<ProjectRootDir>\x64\Release\
cd src/linux
make-
Installation
Right click the
.inffile in output folder and select Install. Or install viapnputil:
pnputil /add-driver <build_path/driver_name.inf> /install- Uninstallation (Device Manager)
- Open Device Manager.
- Right click the target device and select Uninstall device.
- Check Attempt to remove the driver for this device.
- Click Uninstall.
- Uninstallation (Command Line)
- Locate the Published Name of the installed driver package:
pnputil /enum-drivers- Delete the driver from system
pnputil /delete-driver oemxx.inf /uninstall /forceNavigate to folder src/linux
- Installation
sudo ./QcDevDriver.sh install- Uninstallation
sudo ./QcDevDriver.sh uninstallFor FAQ's and troubleshooting, please refer to README document.
- Fork the repository.
- Create a feature branch (
git checkout -b feature/my-feature). - Make your changes and ensure they compile on all supported platforms.
- Submit a pull request with a clear description of the changes.
Please follow the existing coding style and run the appropriate static analysis tools before submitting.
Please review the security before reporting vulnerabilities with the project
Please review the Qualcomm product license, code of conduct & terms and conditions before contributing.
For questions, bug reports, or feature requests, please open an issue on GitHub or contact the maintainers