DriverGen
Table of contents
1 Introduction
Web-service DriverGen is made for generating drivers source codes for Linux and Windows.
The main feature of the service is generating a unified code
that is cross-platform part for both Linux and Windows drivers.
Thus, the driver developer should once append hardware-dependent functions and/or operations in order
to build working driver for both platforms.
2 OS and driver types support
The service is able to generate driver samples for these OS:
- Linux (tested on Ubuntu 14.04 LTS 3.13.0-85-generic core)
- Windows (tested on Windows 10 Ultimate x64)
Supporting driver models:
Supporting driver types:
- PCI (Windows ID: Ports)
- Network (Windows ID: Net)
For Windows drivers it is an option to create a Visual Studio soluton.
3 Writing hardware-dependent code
Utility generates a driver pattern.
This driver, by the way, can be built and installed on your system.
To learn about the basics of writing hardware-dependent code aim to API DriverGen documentation, which will be provided in output archive.
4 Building the drivers
4.1 Linux
To build your driver, take following actions:
- Open Terminal and go to /your-driver-dir/linux_source/ folder
- Execute command:
4.2 Windows
To build your driver, take following actions:
Using Visual Studio
- Pick the project Build - Win7Debug for Win7 or Win8Debug for Win8/Win10.
Pick the platform corresponding to your system.
- Build - Build solution.
In your project folder locate x64 or WinXDebug folder based by your system.
WARNING! For building drivers using Visual Studio, installation of Windows Driver Kit (WDK) is required.
Windows and Visual Studio + WDK compatibility
- Windows 7 - Visual Studio 2013 + WDK 8.1
- Windows 8 - Visual Studio 2013 + WDK 8.1
- Windows 10 - Visual Studio 2015 + WDK 10
5 Drivers installation
5.1 Linux
To install your driver, take following actions:
- Open Terminal and go to /your-driver-dir/linux_source/ folder
- Execute command:
To uninstall your driver, execute from the same folder:
5.2 Windows
To install your driver, take following actions:
- Open Device manager
- Find your connected device (usually located in "System devices" by "PCI Standard RAM controller")
- Open Properties
- Choose Driver tab, press Update Driver...
- Choose "Browse my computer for driver software"
- Выбрать "Let me pick from a list of device drivers on my computer"
- "Have Disk..."
- Find .inf file location in "(DriverName) Driver Package" folder
- Accept unsigned driver installation
In order to see driver kernel messages, take actions:
- Open Registry editor (Win+R - regedit)
- Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter.
If the last folder is missing - create one yourself
- Add parameter: "DEFAULT" : REG_DWORD : 0xFFFFFFFF
- Reboot your PC