Jump to content

Backporting I2C HID Device driver from Windows 8.1 to Windows 7.


Jakob99

Recommended Posts

Dell Precision 7530, Intel UHD630 graphics, Intel 8th Generation, Windows 11, 8.1, and 7.

As you'll know, Windows 8.1 contains a generic I2C HID Device Driver. This doesn't show up in device manager until after the Intel Serial IO drivers are installed. Intel Serial IO drivers do have drivers for Windows 7, however, as far as I know, there is no generic I2C driver, meaning you would need to install touchpad drivers before the touchpad works. This isn't a problem when installing on machines that support 7 like Skylake as either everything works or you can flip into PS/2 emulation mode in the BIOS.

When installing onto an unsupported machine like Kaby Lake or Coffee Lake, that's where things get dicey. For Windows 8.1, you can just install the chipset, restart into startup options, disable driver signature enforcement, mod the Skylake Serial IO driver to include your device (i.e. A368 and A369), and then install both to get a working driver, no Elan, Synaptics, or ALPS (Dell Touchpad primarily) drivers needed.

For Windows 7, it is not as clear cut! For instance, the Intel HID Event Filter driver, despite being unchanged since Skylake, will most likely not show itself within DM. This can be fixed by using Opencore to load a modded DSDT table and subsequently boot Windows 7 with it. Even then, the standard Windows 7 driver may BSOD upon installing (although, this may most likely be due to not having KB3125574, which brings in many stuff, including WdfLdr.sys driver that it relies in). This driver does not appear to be needed for the Serial IO drivers to work,

Now, if you load Windows 7 without the modded DSDT, installing the Serial IO driver will throw a Code 31 error and not work. If you use the modded DSDT, this will switch to Code 37 (after reinstalling the drivers of course). Even if we get the drivers to work, there would still be most likely no mouse function as there is no generic driver in the form of I2C HID, like in Windows 8.1. This would mean the touchpad driver (whether it be ALPS, Synaptics, or Elan) would have to be installed, but people have reported problems doing so, likely because they added in new HID touchpad devices since Skylake.

To get around this I2C HID (hidi2c.inf) from Windows 8.1 would have to be backported. This would introduce a basic I2C touchpad driver, like in Windows 8.1. While you wouldn't have access to the touchpad settings provided by ALPS (Dell Touchpad), Elan, or Synaptics, you would still be able to control it from the Windows Control Panel.

Now, the question is, how can we backport hidi2c.inf from Windows 8.1 to 7? I wonder if @George King has any ideas here. This is currently the only device not working under Windows 7 on my Dell Precision 7530. Not only would this help me, but it would help several other users who may be in the same boat as me.

Link to comment
Share on other sites


@Jakob99 I will check that file. I think I have ported one for XP (Generic_Touchpad_6.2.9200.16384), but have not tried it real machine. Will check it soon, as your not alone who searching for Generic_Touchpad driver solution.

I will check 6.3 driver to see missing imports and if we can get needed code for missing imports..

Link to comment
Share on other sites

3 hours ago, George King said:

@Jakob99 I will check that file. I think I have ported one for XP (Generic_Touchpad_6.2.9200.16384), but have not tried it real machine. Will check it soon, as your not alone who searching for Generic_Touchpad driver solution.

I will check 6.3 driver to see missing imports and if we can get needed code for missing imports..

Awesome! I do not know if this file is also present in any 8.0 builds or if it was introduced only in 8.1. Also, the Intel Serial IO drivers will need to be made to work, too, from my understanding. I tried these (linked below), but I get a Code 37 if I install these after booting Windows 7 via Opencore (By booting 7 this way, it causes Intel HID Event Filter driver to show itself within DM). Maybe I should try installing those by booting Windows 7 normally (that is, not through Opencore).

EDIT: My Intel Serial IO device ID's are A368 and A369. A369 is the most important one as it is that one that allows the touchpad to function under 8.1. Another thing, the touchpad also does not function under 8.0 as the Serial IO drivers Code 37 there as well. For reference, Code 37 is "Windows cannot initialize this device (Code 37)"

 

Edited by Jakob99
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...