Debugging INF file to install in Win 10

0

I found an old Cyborg X Flightstick in my basement.

I tried to make it run again, unfortunately there are only drivers availible for Win Vista - 8.1

When I try to install the drivers I get the following error message:

The driver installation file for this device is missing a necessary entry. This may be because the INF was written for Windows 95 or later. Contact your hardware vendor

I've contacted Cyborg, they simply said that they won't update the driver for this device in the near future.

So I've tried to install the inf manually (just unpacked the .exe) and got this error message:

The installation failed becuase a function dirver was not specified for this device instance.

I think those two error messages are pretty much the same, the second one just does not specify the error.


In the next step I tried to modify the .INF file, to install everything manually, but i failed horribly.

My question: Does anybody know how to modify those inf files correctly to get them running in Win 10?

The file:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Copyright 2007 Saitek plc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[Version]
Signature=    $CHICAGO$
Class=        HIDClass
ClassGuid=    {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Provider=     %PROVIDER%
DriverVer=    08/28/2008, 6.5.2.0
CatalogFile=  Sai0836.cat

[Manufacturer]
Saitek =    SAITEK_MODELS, NTamd64

[SAITEK_MODELS.NTamd64]
%HID_NAME%=     SAI_HID_Inst,    HID\VID_06A3&PID_0836
%USB_NAME%=     SAI_USB_Inst,    USB\VID_06A3&PID_0836

[ControlFlags]
ExcludeFromSelect= *

[SourceDisksNames]
1=%DISKNAME%,,,.

[SourceDisksFiles]
SaiK0836.sys = 1 ; programming driver
SaiC0836.Dll = 1 ; control panel
SaiC0836_07.dll = 1   ; german language resources
SaiC0836_09.dll = 1   ; english language resources
SaiC0836_0A.dll = 1   ; spanish language resources
SaiC0836_0C.dll = 1   ; french language resources
SaiC0836_10.dll = 1   ; italian language resources
SaiC0836_11.dll = 1   ; japanese language resources
SaiC0836_0402.dll = 1 ; chinese language resources
WdfCoInstaller01005.dll = 1 ; make sure the number matches with SourceDisksNames

[DestinationDirs]
DefaultDestDir=     10,system32\drivers
SAI_HID_Inst_CoInstaller_CopyFiles = 11
SAI_HID_Inst_Dlls.CopyFiles.NTamd64 = 11

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[SAI_HID_Inst.NTamd64.CoInstallers]
AddReg=SAI_HID_Inst_CoInstaller_AddReg
CopyFiles=SAI_HID_Inst_CoInstaller_CopyFiles

[SAI_HID_Inst_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01005.dll,WdfCoInstaller"

[SAI_HID_Inst_CoInstaller_CopyFiles]
WdfCoInstaller01005.dll,,,2

[SAI_HID_Inst.NTamd64.Wdf]
KmdfService = SaiK0836, SAI_HID_Inst_WDFSect

[SAI_HID_Inst_WDFSect]
KmdfLibraryVersion = 1.5

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[SAI_HID_Inst.NTamd64]
Copyfiles = SAI_HID_Inst.CopyFiles.NTamd64, SAI_HID_Inst_Dlls.CopyFiles.NTamd64
AddReg = SAI_HID_Inst.AddReg.NTamd64

[SAI_HID_Inst.CopyFiles.NTamd64]
SaiK0836.sys,,,2

[SAI_HID_Inst_Dlls.CopyFiles.NTamd64]
SaiC0836.Dll
SaiC0836_07.dll
SaiC0836_09.dll
SaiC0836_0A.dll
SaiC0836_0C.dll
SaiC0836_10.dll
SaiC0836_11.dll
SaiC0836_0402.dll

[SAI_HID_Inst.AddReg.NTamd64]
HKLM, %KEY_OEM%\VID_06A3&PID_0836,     OEMName,     0, %DEV_NAME%
HKLM, %KEY_OEM%\VID_06A3&PID_0836,     ConfigCLSID, 0, %GUID_CPL%
HKLM, %KEY_OEM%\VID_06A3&PID_0836,     OEMData, 1,     00, 00, 00, 00, 0E, 00, 00, 00
; cpl
HKCR, CLSID\%GUID_CPL%\ProgID        ,               , ,%USB_NAME%
HKCR, CLSID\%GUID_CPL%\InProcHandler32,              , ,"%11%\gchand.dll"
HKCR, CLSID\%GUID_CPL%\InProcServer32,               , ,"%11%\SaiC0836.dll"
HKCR, CLSID\%GUID_CPL%\InProcServer32, ThreadingModel, ,"Apartment"
; Do I Create a RawPDO for comms
HKR, , UseInterface, 0x00010001, 0
; What Interfaces do I register
HKR, InterfacesSupported, %GUID_TORONTO%,      0x00010001, 1
; Settings for each Interface
; Toronto
HKR, Programming, Alias, ,          %GUID_ALIAS%
HKR, Programming, Balias, ,         %GUID_BALIAS%
;HKR, Programming, CplProfile, ,     %CPL_PROFILE%
;HKR, Programming, DefaultProfile, , %DEFAULT_PROFILE%

[SAI_HID_Inst.NTamd64.Services]
AddService = SaiK0836, 2, SaiHid_Service_Inst

[SaiHid_Service_Inst]
DisplayName    = SaiK0836
ServiceType    = 1
StartType      = 3
ErrorControl   = 1
ServiceBinary  = %12%\SaiK0836.sys

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[SAI_USB_Inst.NTamd64]
Include=Input.inf
Needs=HID_Inst.NTamd64

[SAI_USB_Inst.NTamd64.Services]
Include=Input.inf
Needs=HID_Inst.NTamd64.SERVICES

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[strings]
KEY_OEM       = "System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM"
CONFIGURATION = "Software\Saitek\Configuration\Controllers"

GUID_SYDNEY       = "{DAF1A7EE-68B2-4757-829E-C3E9226EA2DF}"
GUID_ISTANBUL     = "{A7AAAAD0-99FF-45A1-87F5-2CFAEF10F6A0}"
GUID_CLOCK        = "{EF0BB43B-EF34-4192-8804-D5C0FA4A6A97}"
GUID_CASABLANCA   = "{10DB5451-D30F-4ABC-AB5F-6839C740D0CA}"
GUID_LED          = "{0040FD64-C5F1-49E3-A3EB-38E7B3AB3B3C}"
GUID_MFD          = "{19D936F8-BAC2-4636-82B7-BC2C35F33F2A}"
GUID_DIRECTOUTPUT = "{A131BE63-67FE-4761-A014-EF5AF53742EB}"
GUID_TORONTO      = "{3B0BC249-97F2-49C7-A5B4-8AF34040E48D}"

GUID_CPL          = "{E3D34CBF-E0C3-4B19-84D5-43B8EF4A21D0}"
GUID_ALIAS        = "{48FA7494-A60B-4238-B32F-043129BA03C5}"
GUID_BALIAS       = "{24E74F72-099D-43A2-91BA-8B19E146C678}"

CPL_PROFILE       = "System32\SaiC0836.pr0"
DEFAULT_PROFILE   = "System32\SaiD0836.pr0"

PROVIDER= "Saitek"
DISKNAME= "Saitek Driver Media"
DEV_NAME= "Saitek Cyborg X"
HID_NAME= "Saitek Cyborg X (HID)"
USB_NAME= "Saitek Cyborg X (USB)"

EDIT

After disabling driver signing with bcdedit /set testsigning on as suggested (comments), the same errors appear.


EDIT 2 Logitech mentioned, this could be because of the motherboard and its incompatiblity with legacy USB devices. I also diabled XHCI support, but this did not help at all.

Sebastian Schneider

Posted 2017-04-15T20:05:58.160

Reputation: 105

Your out of luck, I can guarantee you, the drivers are not signed and x64 Windows 10 requires device drivers to be signed. – Ramhound – 2017-04-15T20:15:57.690

@Ramhound I'm sure you can somehow turn this off – Sebastian Schneider – 2017-04-15T20:20:10.300

@Ramhound this doesn't work either with driver signing off --> edit – Sebastian Schneider – 2017-04-15T22:42:08.460

No answers