Creating an INF File for Custom Devices
Before you can convert a device that wRTOS does not provide out-of-the-box support for, you must first create an INF file for that device. This topic walks you through the steps required to use the wRTOS-provided wRTOSPnp (non-network) and/or wRTOSNL2PnpNet/wRTOSPnpNet (network) INF files as templates to create new INF files for your custom devices.
wRTOS-Provided INF Files
wRTOS SDK installs three INF files:
|
Driver class |
INF file(s) |
|---|---|
|
wRTOS-supported non-network drivers |
|
|
wRTOS-supported network drivers |
|
You can use the contents of an INF file (depending on the device type) as a template to create an INF file for a device that wRTOS does not provide out-of-the-box support for.
Creating an INF File for a Custom Device
Follow the appropriate steps below to create an INF file for a custom non-network or network device.
Steps for a non-network device:
- Navigate to the wRTOS
inffolder. The default location isC:\Program Files\IntervalZero\MaxRT\wRTOS\inf - Make a copy of
wRTOSPnp.inf. - Open the copy in an editor such as Notepad.
- Update the
name of the catalog (CAT) file specified by the
CatalogFileentry to match the name of the new INF file.
Note: The CatalogFile base name specified in the custom INF file must match the name of the custom INF.
- Scroll to the bottom of the file and remove all entries below the
[IntervalZero.NTamd64]entry. - Add a new entry for your device under
[IntervalZero.NTamd64], using this format:
"Descriptive name (wRTOS)"=wRTOSpnp_Inst,"PCI\VEN_WWWW&DEV_XXXX&SUBSYS_YYYYYYYY&REV_ZZ"
where WWWW, XXXX, YYYYYYYY, and ZZ are hexadecimal digits that make this string match the Hardware ID of the device.
For example:
[IntervalZero.NTamd64] "Custom Device (wRTOS)" = wRTOSpnp_Inst,ACPI\PNP0500
IMPORTANT: The string "(wRTOS)" is required and must remain in the descriptive name to distinguish devices that have been converted to wRTOS from those that have not been converted.
For more information on device Hardware ID, see the MSDN article at http://msdn.microsoft.com/enus/library/windows/hardware/ff546152(v=vs.85).aspx.
Note: If you are adding multiple custom devices, each device must have its own entry. Add each new entry on a new line.
- Save the custom INF file.
- 64-bit operating systems require drivers and their CAT files to be signed. If you require signing assistance once you have created your INF file, contact IntervalZero Support to have us generate a digitally signed CAT file from your INF file. See Driver Signing below for more information.
- Convert the device using the new INF file. Use the Windows Device Manager to update the driver for the device and click the Have Disk... button to browse for the customized INF file in the same folder as the digitally signed CAT file. The converted device should appear under either the Network Adapters (Net class) or wRTOS Drivers (wRTOS class). For instructions on converting a device to wRTOS control, see Converting a PCI/PCIe Device to wRTOS.
IMPORTANT: Do not change any instances of wRTOS in the INF file. Doing so will result in an INF file that cannot be used to convert a device to wRTOS control.
Steps for a network device:
- Navigate to the wRTOS
inffolder. The default location isC:\Program Files\IntervalZero\MaxRT\wRTOS\inf - Make a copy of the appropriate wRTOS-provided INF file (wRTOSNL2PnpNet.inf or
wRTOSPnpNet.inf. - Open the copy in an editor such as Notepad.
- Update the
name of the catalog (CAT) file specified by the
CatalogFileentry to match the name of the custom INF file.
Note: The CatalogFile base name specified in the custom INF file must match the name of the custom INF.
- Scroll to the bottom of the file and remove all entries below the
[IntervalZero.NTamd64]entry. - Add a new entry for your device under
[IntervalZero.NTamd64], using this format:
For wRTOSNL2PnpNet.inf:
"Descriptive name (wRTOS)"=wRTOSNL2PnpNet_Inst,"PCI\VEN_WWWW&DEV_XXXX&SUBSYS_YYYYYYYY&REV_ZZ"
For wRTOSPnpNet.inf:
"Descriptive name (wRTOS)"=wRTOSPnpNet_Inst,"PCI\VEN_WWWW&DEV_XXXX&SUBSYS_YYYYYYYY&REV_ZZ"
where WWWW, XXXX, YYYYYYYY, and ZZ are hexadecimal digits that make this string match the Hardware ID of the device.
For example:
[IntervalZero.NTamd64] "Custom Network Device (wRTOS)" = wRTOSNL2PnpNet_Inst,"PCI\VEN_8086&DEV_10C9"
IMPORTANT: The string "(wRTOS)" is required and must remain in the descriptive name to distinguish devices that have been converted to wRTOS from those that have not been converted.
For more information on device Hardware ID, see the MSDN article at http://msdn.microsoft.com/enus/library/windows/hardware/ff546152(v=vs.85).aspx.
Note: If you are adding multiple custom devices, each device must have its own entry. Add each new entry on a new line.
- Save the custom INF file.
- 64-bit operating systems require drivers and their CAT files to be signed. If you require signing assistance once you have created your INF file, contact IntervalZero Support to have us generate a digitally signed CAT file from your INF file. See Driver Signing below for more information.
- Convert the device using the new INF file. Use the Windows Device Manager to update the driver for the device and click the Have Disk... button to browse for the signed copy of the INF file. The converted device should appear under either the Network Adapters (Net class) or wRTOS Drivers (wRTOS class) category in the Device Manager. For instructions on converting a device to wRTOS control, see Converting a PCI/PCIe Device to wRTOS.
IMPORTANT: Do not change any instances of wRTOS in the INF file. Doing so will result in an INF file that cannot be used to convert a device to wRTOS control.
Driver Signing
64-bit operating systems require drivers to be signed:
- To deploy on Windows 10 (with or without Secure Boot enabled), an attestation-signed CAT file must be created.
- IntervalZero attestation-signs Windows 10 and Windows 11 drivers to support Secure Boot.
IntervalZero Support will generate the appropriately signed CAT file for you. Contact support@intervalzero.com to request a signed CAT file for your custom device. You will need to provide the custom INF file. Before sending files to IntervalZero, please verify that the INF file you created has no issues.
IntervalZero recommends downloading Microsoft WDK 10 or later to run the InfVerif tool. You can use InfVerif to confirm that your INF file is properly formatted to be signed. You can access the InfVerif tool in the \tools subdirectory of your WDK installation. For details on how to use the command line tool, visit Running InfVerif from the Command Line
We suggest using the flags /v for verbose logging and /u for reporting errors for universal driver requirements.
For example, if you want to verify file abc.inf, from a Visual Studio prompt type:
C:\Program Files (x86)\Windows Kits\xx\Tools\<version>\x64>infverif.exe /v /u <path to inf\abc.inf>
InfVerif reports errors and warnings based on the mode and rules supplied by the parameters. Errors should be considered "must fix".