A forum for reverse engineering, OS internals and malware analysis 

Ask your beginner questions here.
 #32683  by voug
 Wed Mar 13, 2019 10:23 am
Hi,

I can't get these 4 devices working on windows 8.1 and as a consequence the Intel graphics display adapter is not present on device manager and the same for the Touchpad:
ACPI\VEN_INT&DEV_3453
Intel(R) Serial IO GPIO Host Controller - INT3453
ACPI\INT3453\1
ACPI\INT3453\2
ACPI\INT3453\3
ACPI\INT3453\4



This is a new laptop model Lenovo 330-15IGM with default BIOS, you can see BIOS update available on Lenovo's site but I don't want to install it right now because they don't give the option to come back to the previous BIOS version after the installation as I read.
All drivers and Bios updates are here:
https://pcsupport.lenovo.com/es/en/prod ... /downloads

Direct link to the driver: https://pcsupport.lenovo.com/es/en/prod ... s/DS503390

It is possible to mod the BIOS o to get the INF working for this Laptop ?

I tried modifying the w10 inf file to install it on windows 8.1 but I get a yellow mark and this message in the device > properties:
Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)
{Unable to Load Device Driver}
%hs device driver could not be loaded.
Error Status was 0x%x


Before the driver installation I tried modifying the inf replacing Intel.NTamd64.10.0 by this: Intel.NTamd64.6.3

this is the content of the original INF file, if it can help:
Code: Select all
/*++
;
;Copyright (c) 2014 Intel Corporation
;
;Module Name:
;    iaLPSS2_GPIO2_GLK.inf
;
;Abstract:
;    INF file for installing the Intel(R) Serial IO GPIO driver
;
;--*/

[Version]
Signature="$WINDOWS NT$"
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider=%INTEL%
DriverVer=06/29/2017,30.100.1726.2
CatalogFile=iaLPSS2_GPIO2_GLK.cat

[DestinationDirs]
DefaultDestDir = 12

; ================= Class section =====================

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

[SourceDisksFiles]
iaLPSS2_GPIO2.sys  = 1,,

;*****************************************
; iaLPSS2_GPIO2  Install Section
;*****************************************

[Manufacturer]
%INTEL%=Intel,NTamd64.10.0

[Intel.NTamd64.10.0]
%iaLPSS2_GPIO2.DeviceDesc_2%=iaLPSS2_GPIO2_Device, ACPI\INT3453

[iaLPSS2_GPIO2_Device.NT]
CopyFiles=Drivers_Dir
AddProperty=WDTFSOCDeviceCategory

[WDTFSOCDeviceCategory]
{5D078032-6378-437B-8DA5-9B32B7CA3FDD},2,7,,2

[Drivers_Dir]
iaLPSS2_GPIO2.sys

;-------------- Service installation
[iaLPSS2_GPIO2_Device.NT.Services]
AddService = iaLPSS2_GPIO2,%SPSVCINST_ASSOCSERVICE%, iaLPSS2_GPIO2_Service_Inst, iaLPSS2_GPIO2_EventLog_Inst, System, Intel-iaLPSS2-GPIO2

;-------------- Registry installation
[iaLPSS2_GPIO2_EventLog_Inst]
AddReg=iaLPSS2_GPIO2_EventLog_Inst.AddReg, iaLPSS2_GPIO2_ETW.AddReg

[iaLPSS2_GPIO2_EventLog_Inst.AddReg]
HKR,, EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\system32\drivers\iaLPSS2_GPIO2.sys"
HKR,, TypesSupported,   0x00010001, 7
HKR,, ProviderGuid,     0x00000000, "{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}"

[iaLPSS2_GPIO2_ETW.AddReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Intel-iaLPSS2-GPIO2/Debug","OwningPublisher",0x0,"{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Intel-iaLPSS2-GPIO2/Debug","Enabled",0x00010001,0
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Intel-iaLPSS2-GPIO2/Debug","Isolation",0x00010001,1
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Intel-iaLPSS2-GPIO2/Debug","ChannelAccess",0x0,"O:BAG:SYD:(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x3;;;BO)(A;;0x5;;;SO)(A;;0x1;;;IU)(A;;0x3;;;SU)(A;;0x1;;;S-1-5-3)(A;;0x2;;;S-1-5-33)(A;;0x1;;;S-1-5-32-573)"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Intel-iaLPSS2-GPIO2/Debug","Type",0x00010001,2
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Intel-iaLPSS2-GPIO2/Performance","OwningPublisher",0x0,"{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Intel-iaLPSS2-GPIO2/Performance","Enabled",0x00010001,0
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Intel-iaLPSS2-GPIO2/Performance","Isolation",0x00010001,1
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Intel-iaLPSS2-GPIO2/Performance","ChannelAccess",0x0,"O:BAG:SYD:(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x3;;;BO)(A;;0x5;;;SO)(A;;0x1;;;IU)(A;;0x3;;;SU)(A;;0x1;;;S-1-5-3)(A;;0x2;;;S-1-5-33)(A;;0x1;;;S-1-5-32-573)"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Intel-iaLPSS2-GPIO2/Performance","Type",0x00010001,2
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}",,0x0,"Intel-iaLPSS2-GPIO2"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}","ResourceFileName",0x00020000,"%%SystemRoot%%\system32\drivers\iaLPSS2_GPIO2.sys"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}","MessageFileName",0x00020000,"%%SystemRoot%%\system32\drivers\iaLPSS2_GPIO2.sys"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}","Enabled",0x00010001,1
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}\ChannelReferences\0",,0x0,"Intel-iaLPSS2-GPIO2/Debug"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}\ChannelReferences\0","Id",0x00010001,16
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}\ChannelReferences\0","Flags",0x00010001,0
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}\ChannelReferences\1",,0x0,"Intel-iaLPSS2-GPIO2/Performance"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}\ChannelReferences\1","Id",0x00010001,17
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}\ChannelReferences\1","Flags",0x00010001,0
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{63848cff-3ec7-4ddf-8072-5f95e8c8eb98}\ChannelReferences","Count",0x00010001,2


; -------------- iaLPSS2_GPIO2 driver install sections
[iaLPSS2_GPIO2_Service_Inst]
DisplayName    = %iaLPSS2_GPIO2.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START 
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\iaLPSS2_GPIO2.sys
LoadOrderGroup = Extended Base


[Strings]
SPSVCINST_ASSOCSERVICE= 0x00000002
INTEL = "Intel Corporation"
DiskId1 = "Intel(R) Serial IO Installation Disk"
iaLPSS2_GPIO2.DeviceDesc_2 = "Intel(R) Serial IO GPIO Host Controller - INT3453"
iaLPSS2_GPIO2.SVCDESC = "Intel(R) Serial IO GPIO Driver v2"

;--------------------------------

[PackageInfo]
Name=iaLPSS2_GPIO2_GLK.x64.100

This is the .zip file I uploaded to mediafire which contains the .sys and the .inf files modded (but I posted a link before to the original driver):
https://www.mediafire.com/file/7zt5hs9b ... v.zip/file

What can I do? Windows 8.1 runs very fast on this laptop compared to w10.
Can you help me to get these devices working?

Lot of thanks
Regards!
 #32687  by Vrtule
 Thu Mar 14, 2019 10:07 am
Hello,

changing INF files will not help you since they are usually protected by a digital signature (stored in a file with .cat extension). Your change invalidates the signature, thus Windows refuse to load such a driver.

On my laptop, I managed to install a Windows 8 driver on Windows 8.1, however, I was probably in a different situation since the driver has its own installer. The trick there was to run the installer in the Windows 8 compatibility mode.