Jump to content

[SOLVED] Elan PS/2 Touchpad Driver for XP


Dave-H

Recommended Posts

2 hours ago, Dave-H said:

Should I put ETDApi.dll 11.1.0.0 back to make the hotkey error go away?
It is an earlier version that still works.

There were two files in 11.4.31.1 which aren't there in the present installation, ETDIntelligent.exe, and ETDApi32.dll.
I guess they are irrelevant?
:dubbio:

What you prefer, I mean, now we know that 11.1.0.0 is compatible and that 11.5.0.0 is not (with the hotkey tool) so it is only a matter of replacing the .dll forth or back depending on the experiment at hand.

About those two files, they surely are not needed for the "basic" working of the driver, and the ETDAPI32.DLL is not even mentioned in the .inf, so it wouldn't be copied to the ELAN program directory anyway :dubbio:.

But - all in all - these latest experiments seem (to me) to show that the initial assumption was valid (there are - though limited - possibilities to exchange/replace various versions of the drivers, as a whole or partially, no matter if they "originated" from Asus or from Lenovo (or Medion), etc.) so if not all. at least most of the "magic" is in the .inf of the Z115203-cab.

 

Try doing another step (or leap :w00t:) back in time, by replacing the files in the currrent install of 8.1 with the ones from the earlier:

https://pcsupport.lenovo.com/hn/en/products/laptops-and-netbooks/lenovo-g-series-laptops/lenovo-g505s-notebook/downloads/ds035770

tp118w7.exe

Official version 11.4.14.1 actual .sys file 11.0.0.31.

jaclaz

 

 

 

Edited by jaclaz
Link to comment
Share on other sites


OK, done that, still working! :yes:
The file versions are now (in a rather more logical order!) -

ETDAniConf.exe 11.0.0.7
ETDCtrl.exe 11.0.0.13
ETDCtrlHelper.exe 11.0.0.7
ETDDeviceInformation.exe 11.19.0.1
ETDService.exe 11.0.0.4
ETDUn_inst.exe 10.0.0.9

ETD_DLL.dll 11.0.0.4
ETDApi.dll 10.0.0.9
ETDApix.dll 11.0.0.8
ETDCmds.dll 11.0.0.8
ETDFavorite.dll 11.0.0.7
ETDMcpl.dll 11.0.0.10
ETDUninst.dll 10.0.0.1

ETD.sys 11.0.0.31

These are considerably earlier versions than before, in fact three are version 10 files, I would very surprised if you found an earlier version of version 11 than that!
:)

Link to comment
Share on other sites

Good news, :)

The ETDUn_inst.exe and ETDUninst.dll are "irrelevant".

The ETDapi.dll being 10.0.0.9 is instead a good sign.

Try replacing it with the ETDapi.dll 10.0.0.8 coming from Z11521.

If it still works, try with the ETDapi.dll 10.0.0.6 coming from Z11509.

If it still works, try replacing the ETDapix.dll (currently 11.0.0.8) with the 10.0.0.98 from Z11521.

If it still works, try replacing the ETDapix.dll  with the 10.0.0.86 from Z11509.

And so on.

Try only a file at a time and only go back to the nearest earlier version, until the driver stops working (and than revert to the last later version one that was working).

jaclaz

Link to comment
Share on other sites

@jaclaz

About the co-installer usage - it may just replicate things done through the .inf or with additional programs (like SmartGesture_Win10_32_VER4012 using ATP_Reg.exe to un/register the driver as input filter). Maybe whoever was building each package did it in they way they're more familiar with...

No clue what the co-installer does for these specific packages, i didn't even know what a co-installer is before i looked it up and found that M$ article.

Try compare two similar versions (one with a co-installer and one without) and find the differences?

-------

There is another (lenghty and boring) task, that currently only @Dave-H could do, unless someone else with the same hardware shows up. It is to try to find out the specific functions of the more obscure sections in the .inf like the Group Maps you mentioned earlier.

This would involve small modifications to those sections in the .inf, followed by a uninstall, reboot, install, test for changed behaviour of the touchpad and/or its support programs, another reboot, quick test to confirm that it's the same as right after install, then repeat.

Quick initial test would be to just clean those sections (leave only the [header], but remove all contents), check if the driver still works and what changed.

-------

I was thinking about a different way to tackle this whole driver problem, but we may need a programmer with some knowledge about drivers.

That is - since the core driver (.sys) can run in XP, but needs to be "activated" by the accompanying program (that won't start in XP):

1. in Win8.1 record whatever signals the program sends to the driver (log IODeviceControl and similar calls)

2. in XP send those recorded signals to the driver (Sending Commands From Your Userland Program to Your Kernel Driver using IOCTL)

3. in XP if the driver starts working, try to split the recording to smaller parts, so touchpad settings can be changed by sending different signals

I previously linked to a list of suggested programs that might do 1. ; Or, decompile the programs and (try to) find the needed signals.

For 2. someone has to write a small program.

We can omit 3. if not needed.

Edited by RainyShadow
typo
Link to comment
Share on other sites

4 hours ago, jaclaz said:

Good news, :)

The ETDUn_inst.exe and ETDUninst.dll are "irrelevant".

The ETDapi.dll being 10.0.0.9 is instead a good sign.

Try replacing it with the ETDapi.dll 10.0.0.8 coming from Z11521.

If it still works, try with the ETDapi.dll 10.0.0.6 coming from Z11509.

If it still works, try replacing the ETDapix.dll (currently 11.0.0.8) with the 10.0.0.98 from Z11521.

If it still works, try replacing the ETDapix.dll  with the 10.0.0.86 from Z11509.

And so on.

Try only a file at a time and only go back to the nearest earlier version, until the driver stops working (and than revert to the last later version one that was working).

jaclaz

Taking ETDapi.dll down to version 10.0.0.6 was fine.
Unfortunately, taking ETDapix.dll down to version 10.0.0.98 stopped the driver from working properly.
ETDCtrl.exe and ETDCtrlHelper.exe are no longer running, and there is no longer an icon in the system tray.
The touchpad settings have held though, "tap to click" is still disabled.
Changing the setting in the Asus control panel now has no effect, and nor does changing the setting in the registry.
:(

Link to comment
Share on other sites

OK.

So we now know that the version of ETDapix.dll 11.0.0.8 is the minimum version that works with ETDCtrl.exe 11.0.0.13 (and ETDCtrlHelper.exe 11.0.0.7)
Now, what happens (keeping the  ETDapix.dll version 10.0.0.98) if you try "downgrading" (in pairs) ETDCtrl.exe and ETDCtrlHelper.exe?

With:
ETDCtrl.exe 10.0.0.117

ETDCtrlHelper.exe 10.0.0.73

from Z11521

If - by any chance - the driver comes back to life, then try:
ETDCtrl.exe 10.0.0.101

ETDCtrlHelper.exe 10.0.0.67

from Z11509.

If it doesn't, restore the ETDCtrl.exe 11.0.0.13 and ETDCtrlHelper.exe 11.0.0.7 and try downgrading the .sys from the curent one (ETD.sys 11.0.0.31) to 10.0.0.188 and if it works, try again downgrading the two .exe's.

@RainyShadow

The (stupid) .inf of the (only currently installing without mods) Z115203-cab is huge, almost 2 MB and "as is" it is "unworkable", It must (IMHO) be trimmed down removing all the clutter before being able to do the "fine tuning", some parts are clearly needed, but I am pretty sure (but not too much) that most parts are "unneeded", several models, the Windows 10 provision, etc.

As soon as I have some time I'll try looking at it.

The coinstaller is a non-problem (anymore), as the Z115203-cab (which installs just fine) has it not, and the earler "Lenovo" driver currently under test (tp118w7) and that is working also has it not, and all the earlier drivers also have it not, it must have been introduced for *some reasons* in mid 2014, but we are already back to march 2013.

jaclaz

Link to comment
Share on other sites

3 hours ago, jaclaz said:

OK.

So we now know that the version of ETDapix.dll 11.0.0.8 is the minimum version that works with ETDCtrl.exe 11.0.0.13 (and ETDCtrlHelper.exe 11.0.0.7)
Now, what happens (keeping the  ETDapix.dll version 10.0.0.98) if you try "downgrading" (in pairs) ETDCtrl.exe and ETDCtrlHelper.exe?

With:
ETDCtrl.exe 10.0.0.117

ETDCtrlHelper.exe 10.0.0.73

from Z11521

If - by any chance - the driver comes back to life, then try:
ETDCtrl.exe 10.0.0.101

ETDCtrlHelper.exe 10.0.0.67

from Z11509.

If it doesn't, restore the ETDCtrl.exe 11.0.0.13 and ETDCtrlHelper.exe 11.0.0.7 and try downgrading the .sys from the curent one (ETD.sys 11.0.0.31) to 10.0.0.188 and if it works, try again downgrading the two .exe's.

ETDAniConf.exe 11.0.0.7
ETDCtrl.exe 11.0.0.13
ETDCtrlHelper.exe 11.0.0.7
ETDDeviceInformation.exe 11.19.0.1
ETDService.exe 11.0.0.4
ETDUn_inst.exe 10.0.0.9

ETD_DLL.dll 11.0.0.4
ETDApi.dll 10.0.0.6
ETDApix.dll 11.0.0.8
ETDCmds.dll 11.0.0.8
ETDFavorite.dll 11.0.0.7
ETDMcpl.dll 11.0.0.10
ETDUninst.dll 10.0.0.1

ETD.sys 11.0.0.31

This combination is working fine.
ETDCtrl.exe and ETDCtrlHelper.exe are both running.

------------------------------------------------------------------

TEST 1

ETDAniConf.exe 11.0.0.7
ETDCtrl.exe 10.0.0.117
ETDCtrlHelper.exe 10.0.0.73
ETDDeviceInformation.exe 11.19.0.1
ETDService.exe 11.0.0.4
ETDUn_inst.exe 10.0.0.9

ETD_DLL.dll 11.0.0.4
ETDApi.dll 10.0.0.6
ETDApix.dll 11.0.0.8
ETDCmds.dll 11.0.0.8
ETDFavorite.dll 11.0.0.7
ETDMcpl.dll 11.0.0.10
ETDUninst.dll 10.0.0.1

ETD.sys 11.0.0.31

No icon in the system tray.
Driver not functioning.
ETDCtrl.exe is running at the start, but then closes, ETDCtrlHelper.exe not running at all.
If ETDCtrl.exe is subsequently run manually, it starts but then stops.
If ETDCtrlHelper.exe is run manually, it runs and stays running.
I'm guessing that it's normally started by ETDCtrl.exe.

---------------------------------------------------------------------------------------------

TEST 2

ETDAniConf.exe 11.0.0.7
ETDCtrl.exe 10.0.0.101
ETDCtrlHelper.exe 10.0.0.67
ETDDeviceInformation.exe 11.19.0.1
ETDService.exe 11.0.0.4
ETDUn_inst.exe 10.0.0.9

ETD_DLL.dll 11.0.0.4
ETDApi.dll 10.0.0.6
ETDApix.dll 11.0.0.8
ETDCmds.dll 11.0.0.8
ETDFavorite.dll 11.0.0.7
ETDMcpl.dll 11.0.0.10
ETDUninst.dll 10.0.0.1

ETD.sys 11.0.0.31

No icon in the system tray.
Driver not functioning.
ETDCtrl.exe is running at the start, but then closes, ETDCtrlHelper.exe not running at all.
If ETDCtrl.exe is subsequently run manually, it starts but then stops.
If ETDCtrlHelper.exe is run manually, it runs and stays running.

-------------------------------------------------------------------------------------------

TEST 3

ETDAniConf.exe 11.0.0.7
ETDCtrl.exe 11.0.0.13
ETDCtrlHelper.exe 11.0.0.7
ETDDeviceInformation.exe 11.19.0.1
ETDService.exe 11.0.0.4
ETDUn_inst.exe 10.0.0.9

ETD_DLL.dll 11.0.0.4
ETDApi.dll 10.0.0.6
ETDApix.dll 11.0.0.8
ETDCmds.dll 11.0.0.8
ETDFavorite.dll 11.0.0.7
ETDMcpl.dll 11.0.0.10
ETDUninst.dll 10.0.0.1

ETD.sys 10.0.0.188

No icon in the system tray.
Driver not functioning.
ETDCtrl.exe is running at start, and now stays running, ETDCtrlHelper.exe not running at start.
If ETDCtrlHelper.exe is run manually, it runs and stays running.
Even when the two files are running (and the Elan Service which always runs) the system tray icon does not come back, and the driver is still not working.
Running the Asus control panel manually and changing the settings does nothing, and does not change the settings in the registry.
Changing the registry setting manually also has no effect.

:(
 

Link to comment
Share on other sites

OK. good (meaning bad), another data point to be reviewed, I'll check these results :).

In the meantime I have tried "pruning" the ETD.inf in Z115203-cab and compared it to a number of other versions ETD.inf's.

I could not find a reason why the Z115203-cab "as is" installs and previous (not Lenovo, actually Asus) drivers do not. :dubbio:

The only meaningful (but meaningless :w00t:) difference I could find is a different use of the ""  (double quotes) in Registry paths  that include "%ServiceRoot%".

It is strange. :(

Anyway, completely new :yes: test.

1) Save your current situation.
2) uninstall completely the Elan drivers from 8.1
3) try installing again the 
Z115203-cab, BUT using the attached "leaner" .inf (rename the "standard" ETD.inf to Z115203-cab.inf and copy/rename the attached to  ETD.inf
4) hopefully it should install (and work) as the original, I commented out all the .avi's so no animations and a few other files that shouldn't be strictly necessary.

IF it does (which is not given :ph34r:), proceed as follows:
5) uninstall (again) completely the Elan drivers
6) get the Z11566  from here: http://ftp.tekwind.co.jp/pub/asustw/nb/DriversForWin8/Touchpad/Touchpad_Elantech_Win7_8_32_VER11566.zip ("sane" size, 14 MB)
7) replace the ETD.inf with the attached .inf as in #3 above
8) try installing it

jaclaz

 

 

 

Z115203-cab_mod_ETD.zip

Link to comment
Share on other sites

It's working fine with the modified INF. :yes:

It did take an extraordinarily long time to install though, I was on the point of giving up on it when it suddenly completed!
The install completed window showed two identical instances of the device, which I've not seen before, there's always been only one before.
It seems to be installed and working normally though.

It has still transferred the AVI files.

I will now do the second part of the test.
:)

Edited by Dave-H
Correction
Link to comment
Share on other sites

30 minutes ago, Dave-H said:

It's working fine with the modified INF. :yes:

Good.

30 minutes ago, Dave-H said:

It did take an extraordinarily long time to install though, I was on the point of giving up on it when it suddenly completed!
The install completed window showed two identical instances of the device, which I've not seen before, there's always been only one before.

This is "queer", maybe I did some mistake in the editing? :dubbio:(I left both NTx86.6.2 and NTx86.6.3, as they point to the same _Win8 sections).

30 minutes ago, Dave-H said:

It has still transferred the AVI files.

And this is almost extraordinary, there is no ".avi" text in the whole modified  .inf

But did you try installing via Device Manager "have disk" or using the Setup.exe? (Maybe the .avi files are "hardcoded" in the setup.exe or there is a directive that copies all the files in source. :unsure:

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

I installed by running "setup.exe".
I've just tried with version 11.5.6.6, using your INF and it didn't work. :no:
Again the completed window showed two devices, but this time one had failed!

20200506_190336.thumb.jpg.382558678a16f7d238c901c577b012bc.jpg


Previously with 11.5.20.3 there were also two devices, but both had apparently succeeded.
The mouse was "Elan PS/2 Port Smart-Pad", not showing any errors.
The touchpad worked but the settings are at default and can't be changed.
There was a "dead" icon in the system tray.
ETDCtrl.exe and ETDCtrlHelper.exe are both running, but not the Elan Service.
It doesn't seem to have been installed as it's not in the Services list as it normally is.

I then tried updating the mouse driver in Device Manager, as "Elan PS/2 Port Input Device" is also offered, which is what it is with 11.5.20.3.
(I'm wondering if "Elan PS/2 Port Smart-Pad" and "Elan PS/2 Port Input Device" are the two devices being displayed on the installation completed window? :dubbio:)
Doing that produced the same result as before, although I now seem to have "ETD Gesture" running, which I didn't think was before!
Still no Elan Service though.
:no:

 

Edited by Dave-H
Typo
Link to comment
Share on other sites

I've now tried installing 11.5.20.3 using Device Manager.
Two versions of "Elan Input Device" were offered (not "Elan PS/2 Port Input Device", which must be something different!)
This time it didn't transfer the AVI files, so it looks as if you were right about the setup.exe doing it intrinsically, which is rather odd I would have thought when they are normally in the INF!

Unfortunately, it's also not working.
Again the Elan Service hasn't been installed.
Only ETDCtrl.exe is running.
Running ETDCtrlHelper.exe still works, but doesn't change anything.
:(

 

Link to comment
Share on other sites

Ok, so - still in 11.5.20.3 and with the driver installed via the .inf and not via setup.exe  - the issue is now to have the ETDservice.exe install/start.

I.e. in your current situation, we need to find a way to manually do the *whatever* the setup.exe does and the "plain" ETF.inf does not.

Just an idea, but maybe this is connected to the "coinstaller" thingy seen before, is it possible that the setup.exe works in some versions as a coinstaller (and in some other versions the coinstaller is instead external)?

I don't know, it is more likely that I did some mistakes in the editing of the .inf.

What happens (now) if you re-try installing (via Device Manager/Have disk) the 11.5.20.3 with the untouched "ETD.inf"? (or if you prefer, is it possible that I removed "too much" - but WHAT could it be - in the modified .inf?)

What I disabled in the reduced .inf, in a nutshell:
;SensePoint.exe = 1 <- surely unused
;ETDAniConf.exe = 1 <- maybe this is needed even if there is no .avi
;ASUS_UI_Win10.exe = 1 <- surely unused

;ETDMcpl.dll,,,0x00000001 <- maybe this is used

; ETD_DLL.dll,,,0x00000001 <- maybe this is used

IF the 11.5.20.3 with the "original" .inf installs fine, uninstall it and try installing it with the new modified attachment (I restored a few of the files above).

Then (if the original .inf does not work via Device Manager/Have disk) the only possible move ahead is:

1) uninstall completely
2) reinstall the original 11.5.20.3 via Setup.exe (so that it is working/running)
3) take a Registry snapshot
4) uninstall completely
5) reinstall the original 11.5.20.3 BUT via Device Manager/Have Disk
6) take another Registry snapshot
7) compare the two snapshots

Now what would be a suitable tool to do these snapshots/compares? 

(that works under 8.1 I mean)

Try this Nirsoft thingy:
https://www.nirsoft.net/utils/registry_changes_view.html

Cannot say if Regshot V2/unicode runs in 8.1.:

https://www.portablefreeware.com/index.php?id=2505

jaclaz

Z115203-cab_mod_2_ETD.zip

Link to comment
Share on other sites

11.5.20.3 installs from Device Manager using the default INF absolutely fine, fully working.
I then tried installing exactly the same way using your latest INF, and again the service was not installed.
The data for it is not in the registry.
It's the service called "ETDService" which is missing, the service called "ETD" is installed fine.
As you say "ETDService" isn't mentioned in the default INF, only as a file name, which is odd!
:dubbio:
 

Edited by Dave-H
Addition
Link to comment
Share on other sites

OK, I think I see how it works now!
Running <ETDService.exe -install> installs the service, <ETDService.exe -uninstall> removes it.
If I install it and reboot, the service is then running fine.
So, somehow when the normal INF is used, that <ETDService.exe -install> command is presumably being run, but I can't see where it is!

The driver still isn't working, ETDCtrlHelper.exe isn't running, and starting it manually does not make any difference.
:no:

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...