Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


Primitive driver INF not installable

j_hoppej_hoppe Member Posts: 10

Hi,
We're moving our driver family from EWDK 2017 to 2022.
A single device-less driver is now "primitive".

  • I made a new INF file according to
    https://learn.microsoft.com/en-us/windows-hardware/drivers/develop/creating-a-primitive-driver

  • It passes inf2cat without warnings.

  • When installing with
    Devicemanager / add legacy device / ... / "have disk"
    I get a message (my german->english translation):
    "In the folder there is no compatible software driver for device.
    If there's a driver in the folder, then assure it for "x64 based Windows system".

  • However I have the "DefaultInstall.NTamd64" key, see below.

Thanks
Joerg Hoppe, PEAK System Technik GmbH

[Version]
Signature="$WINDOWS NT$"
Provider=%ProviderName%
Class=%DeviceClassName%
ClassGUID={C38C9D86-471E-4d6b-9FB6-78DDA20E3F70}
DriverVer = 06/01/2023,4.4.1.23193
CatalogFile=PCAN_VIRTUAL.cat
DriverPackageDisplayName=%DriverPackageDisplayName%
PnpLockdown=1

[ClassInstall32]
Addreg=Class_AddReg

[Class_AddReg]
HKR,,,0,%DeviceClassName%
HKR,,Icon,,-5

[DestinationDirs]
DefaultDestDir = 12                ; dirid = \Drivers on WinNT platforms

[AllDevices_Service.AddReg]
; This goes to HLM\System\CurrentControlSet\Services\PCAN_VIRTUAL
HKR, "DriverParams", "", 0x00010003, 0

HKR, "Parameters", "BreakOnEntry", 0x00010003, 0
HKR, "Parameters", "FailOnEntry", 0x00010003, 0

; -- Enable KMDF verifier for checked drivers. Overwrite existing values.
HKR, "Parameters\Wdf", "VerifierOn", 0x00010001, 0
HKR, "Parameters\Wdf", "KmdfLibraryVersion", 0x00000000, "1.15"

[DefaultInstall.NTamd64]
CopyFiles=PeakVirtual.NT.Files
Addreg=AllDevices_Service.AddReg

[DefaultInstall.NTamd64.Services]
Addservice = PCAN_VIRTUAL,0x00000002,PeakVirtual.AddService

[PeakVirtual.NT.Files]
PCAN_VIRTUAL.sys

[PeakVirtual.AddService]
DisplayName    = %SvcDesc%
ServiceType    = 1 ; SERVICE_KERNEL_DRIVER
StartType      = 3 ; 0=SERVICE_BOOT_START, 1=SERVICE_SYSTEM_START, 3=SERVICE_DEMAND_START, 4=SERVICE_DISABLED
ErrorControl   = 1 ; SERVICE_ERROR_NORMAL
LoadOrderGroup = Extended Base
ServiceBinary  = %12%\PCAN_VIRTUAL.sys
AddReg         = AllDevices_Service.AddReg

[SourceDisksNames]
1 = %DiskId%,,,""

[SourceDisksFiles]
PCAN_VIRTUAL.sys = 1

[Strings]
DiskId="PCAN-Hardware Installation Disk"
ProviderName="PEAK-System Technik GmbH, Darmstadt, Germany"
MfgName="PEAK-System Technik GmbH"

SvcDesc="PEAK PCAN_VIRTUAL driver for CAN hardware"
DeviceClassName="CAN-Hardware"
DriverPackageDisplayName="PCAN-VIRTUAL

Comments

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,660

    You should be able to install this from Windows Explorer. Right-click on the file and choose "Install".

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • j_hoppej_hoppe Member Posts: 10

    I did before, it says "Operation sucessful", but still isn't responsible.
    Solution: Set service start type to "0" = ON BOOT in Services-Registry.
    After reboot I can contact my drivers interface ... thanks!

    However I still don't see the driver ...

    • neither in device manager ("show hidden devices" active)
    • nor with "devcon findall *"
    • nor in services overview ("sc queryex type=service state=all")
      Which Windows-tool will show my primitive driver?
  • Doron_HolanDoron_Holan Member - All Emails Posts: 10,777

    device manager and devcon both operate on pop devices (and thus the drivers that are installed on them). primitive ("legacy") drivers. sc query type=driver will show primitive and pop drivers.

    d
  • Zac_LockardZac_Lockard Member - All Emails Posts: 55

    pnputil /enum-drivers will show it as well

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 16-20 October 2023 Live, Online
Developing Minifilters 13-17 November 2023 Live, Online
Internals & Software Drivers 4-8 Dec 2023 Live, Online
Writing WDF Drivers 10-14 July 2023 Live, Online