Jump to content

[SOLVED] Elan PS/2 Touchpad Driver for XP


Dave-H

Recommended Posts

Just to confirm -


Then you need to run in couples, i.e. you first run EITHER the Setup/setip.exe from the unmodified 11.5.20.3 folder OR run from the same folder the dpinst.exe,.
Following, you run the ETDUn_inst.exe OR the dpinst.exe /U from the same folder.
Then you try doing the same from the "ETD_new" folder, after having verified that all 6 points above check (as long as install and uninstall the same .inf and folder it shoudl work nicely).

This involves doing four installs/uninstalls, is that right?
An install/uninstall using both setup and dpinst from the original 11.5.20.3 folder, and then from the ETD_new folder.

Checking all of the six points after each install or uninstall and recording the results?
What about SetupApi.log and DPINST.log, can they be submitted to you with all the cumulative entries from each operation, or do they need to be cleared every time after saving the new data as separate files?

:dubbio:

 

Link to comment
Share on other sites


1 hour ago, jaclaz said:

I am not sure to have understood what he meant, it is entirely possible that if you have multiple etd_whatever files in the driverstore the stupid windows attempts to use one before another, but that shouldn't affect the device name :unsure:.

I meant something like a serial number ID, or GUID, or any other kind of pointer to the device, that changes between installs.

Anyways, if @Dave-H uploads an export of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Elantech from a fully working install, i could check it myself. It should be easy to notice (probably).

1 hour ago, Dave-H said:

Yes, your animated GIF does play fine in my browser, but I was hoping to be able to play it in something which would allow me to easily stop and start it at particular points, and ideally move frame by frame, but I guess that won't be possible.

IfranView can extract all frames of a .gif file. Maybe XnView can do the same?

 

Edited by RainyShadow
Link to comment
Share on other sites

I don't know.

This is up to you.

The key point is that the Setup.exe from 11.4.14.1 in the new folder "runs just fine" (here) using a (slightly) modified ,inf file from 11.5.20.3  (with only a few filenames changed and the reference to ETD.cat removed).

While you reported earlier (but maybe there was something else at hand, some leftover from previous attempts, the actual *need* to remove the reference to Etd.cat, whatever) that the only way to run it was renaming it as Setip.exe AND NOT touching in any way not only the .inf but also any of the files in the source folder.

Until I found a way via devcon to add the "fake" *ETD0108 device, I had no way to see/test what happens as the Setup.exe or the dpinst.exe refused to run because they found no compatible hardware. 

After I could do the tests, my claim is [1]:

1) running the setup.exe from the ETD_new folder with my modified .inf installs the driver just fine and uses the files you already tested as working
2) whatever happens here - possibly after a reboot - i.e. whether the driver works at all and if it works it keeps the setting I cannot test nor know
3) running the ETDUn_inst.exe I can not as it "hooks" to the *whatever* real id of the device (and not to my "fake" *ETD108)
4) after having anyway cleaned manually:
5) running the dpinst.exe is EXACTLY the same as running setup.exe in #1 above
6) whatever happens here (same as #2 above) - possibly after a reboot - i.e. whether the driver works at all and if it works it keeps the setting I cannot test nor know
7) running the dpinst.exe /U <full path to the .inf> removes everything was installed and - possibly after a reboot - the system is in the same "clean" state as it was in #4 above, with the exception of the HKLM "Elantech" registry hey that needs to be deleted manually
 

So, if I were you I would try first starting from #4 and only later, having checked that the uninstall in #7 is effective (or cleaning manually what remains) go back to #1.

Of course if any of the above do not even start running, you need to find why.

If they run, and hopefully install correctly, and even more hopefully they install correctly AND keep the settings, we don't need anything else, it would only be a matter of cleaning/reducing the .inf to make it a decent size, remove the stupid windows 8 and windows 10 stuff, etc.

So, as long as you clean the two logs before, you can later extract the last part (starting from the last line after your cleaning of them or first line related to Elan) and state whether you made 1,2,3,4,5,6,7 or 4,5,6,7,0 :w00t:,1,2,3.

jaclaz

 

 

[1] actually I also have the additional claim that since it works here, if it doesn't there :w00t: it is your fault ;)

 

Link to comment
Share on other sites

P.S. and as a side-side note:

http://www.xtreme-lab.net/7gif/en/index.html

Quote

Downloads


7GIF 1.2.2.1298 (released: May 9, 2017)
For Microsoft Windows XP*, Vista* (32bit or 64bit), 7 (32bit or 64bit), 8\8.1 (32bit or 64bit) and 10 (32bit or 64bit).
 

Download the self-installing package (.exe setup, 0.97MB)

MD5: 91af523bd73277577bf5ac0bde666d3f (What is this?)

 

Download the stand-alone package (.zip archive, 412KB)

MD5: 2e595af6b5eb57740730b821f0405572 (What is this?)

needs not to be actually installed, you only need to extract contents of the .zip in a folder.

You can slow down, speed up reproduction besides pause and still frames, and it works just fine with the ETD_install.gif

If you want I can make an animated .gif video of it running ETD_install.gif ... :dubbio:

... no, wait ... ;)

jaclaz

Link to comment
Share on other sites

Wow, thank you so much for putting me onto 7GIF, that is absolutely brilliant, I could have done with that for animated GIF files years ago!
It does exactly what I wanted.

I haven't started the full testing yet, but I just tried running "ETD_new\x86\dpinst.exe /C" just to see what would happen.
The driver installed fine, but is not saving settings.
No complaints about missing files or anything like that though, so that's good.
:)

Link to comment
Share on other sites

Thanks @jumper!
I'm pretty sure that MPC and VLC do not provide a proper full frame by frame navigation facility, certainly not forwards and backwards, but the QuickTime Player does, and I had completely forgotten that it could open GIF files!
Although I have 7GIF now, I could indeed have used the QuickTime Player.
:yes:

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

OK, before I go on into any convoluted investigations, can I just say that I copied the setup.exe file from the 11.4.14.1 folder to the ETD_new folder, ran it, and it installed a perfectly working driver, which saves its settings over reboots absolutely fine.
I have since tried uninstalling and reinstalling it several times, and it just works, exactly as if should do.
So, what are we now worrying about?
:dubbio:

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

So, there is still a difference between installing the SAME set of files via Setup.exe and via dpinst.exe?

The former works AND saves settings whilst the second works BUT NOT saves settings?

It is a again "queer" but if it works, it works. :)

Knowing which differences there are in the two different ways to install it would be useful (for a "next" similar issue) but not in any way *needed*.

Now, there is only a - totally unneeded - further refining step, the ETD.inf is - now - what I would call an unbearable amount of bloat, almost 2 MB, 

To make a comparison, the original ETD.inf from (Lenovo) ETD.inf from 11.4.14.1 (actual ETD.sys 11.0.0.31) is 480 KB AND the one from the "Medion" driver is (actual ETD.sys 11.137.2.2) an interesting 9 KB (though this latter version has a coinstaller, that could change the game).

So, without taking the "Medion" driver as example, it should be possible to reduce the .inf to the "original" 480 KB or less.

Surely we could call this ETD_new an "XP only" driver and remove anything connected to Win8 and Win10, and - additionally - there are a huge amount of "GroupOptions" (or whatever) for programs that either do not exist at all in XP or that exist in versions that those added commands cannot "hook" properly. 

BTW, there are no "groupoptions" in the original 11.4.14.1 .inf, so it is very likely that they - whatever they are - only work in much later driver versions.

Comparing these two .inf's (the modified 11.5.20.3 in use against the "Medion" one, which due to its size is the only "human parsable" one) I have a doubt about the ETDMcpl.dll , as it actually is the *only* file that is registered (in both the .inf's):

Quote

[ETD_System.AddReg]
HKCR,CLSID\{0066D4B3-8DE0-4D08-AA83-EDD50E2431F0}\InProcServer32,,%REG_EXPAND_SZ%,"%ProgramFiles%\%TargetDir%\ETDMcpl.dll"
HKCR,CLSID\{0066D4B3-8DE0-4D08-AA83-EDD50E2431F0}\InProcServer32,ThreadingModel,%REG_SZ%,"Apartment"
HKLM,"Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved",{0066D4B3-8DE0-4D08-AA83-EDD50E2431F0},%REG_SZ%,"ELAN Control Panel"
 

So, it must be *doing something* :dubbio:, very likely that *something* you didn't notice till now.

Side-side note about 7GIF, the idea (mine) is to not use cannons to shoot at flies, 7GIF (in my perverted mind ;)) is the perfect companion to the nice little tool I use to make these animated .gif's (JFYI):

https://msfn.org/board/topic/171205-licecap-useful-screenshot-to-animated-gif-recorder/

the two, summed together, are less than the half the size of the (stupid) ETD.inf :yes:.

jaclaz

 

 

Edited by jaclaz
Link to comment
Share on other sites

That new INF still works fine!
:yes:
Surely all those application specific entries aren't needed?
If they were removed it would be a lot smaller!
:dubbio:
The only other thing I would mention is that the driver is still being recorded as "ELAN Touchpad 11.5.20.3_X86_WHQL".
Now it isn't 11.5.20.3 any more of course, as all the files are from 11.4.14.1, and it certainly isn't "WHQL" now either!

Perhaps that can be changed in the INF to now record the correct details?
:)
 

Link to comment
Share on other sites

1 hour ago, Dave-H said:

The only other thing I would mention is that the driver is still being recorded as "ELAN Touchpad 11.5.20.3_X86_WHQL".
Now it isn't 11.5.20.3 any more of course, as all the files are from 11.4.14.1, and it certainly isn't "WHQL" now either!

Perhaps that can be changed in the INF to now record the correct details?
:)
 

Sure, you just need to change (I already corrected the reference in the beginning to point to the correct strings) the values in the "Strings table" section at the very end of the .inf, currently:

Quote

DriverDate        = "07/20/2015"
DriverVersion        = "11.5.20.3"

I believe that these:

Quote

DriverBit        = "X86"
DriverVersionExtend    = "WHQL"        ; Beta or WHQL

can be *anything* and are just suffixes to the "DriverVersion", i.e. (say):

Quote

DriverDate        = "05/20/2020"
DriverVersion        = "11.4.99.9"
DriverBit        = "X86"
DriverVersionExtend    = "ETD0108"

will result in:

"ELAN Touchpad 11.4.99.9_X86_ETD0108"

Please note how even the "original" 11.4.14.1 is completely arbitrary, as the .sys driver file is actually 11.0.0.31.

1 hour ago, Dave-H said:

That new INF still works fine!
:yes:

Good. :)

1 hour ago, Dave-H said:

Surely all those application specific entries aren't needed?
If they were removed it would be a lot smaller!
:dubbio:

Yep, I believe they can be removed - if not all - in large part.

What I would still do would be checking if re-adding the ETDMcpl.dll is useful (likely it has to do with the "control panel", possibly the added tab to mouse properties?) :unsure:

And of course once you have a "final" version, all the entries for files currently remmed out with ";" can be deleted.

jaclaz

P.S. To clear the note about ETDMcpl.dll, since the entry for it in the .inf is already there, it should be enough to copy to the \Program Files\Elantech\ folder the ETDMcpl.dll (from 11.4.14.1) and see if its presence changes something.

 

Edited by jaclaz
Link to comment
Share on other sites

Returning ETDMcpl.dll to the Elantech folder didn't seem to do anything.
It appears to be a shell extension looking at the registry entries that reference it.

It must be something to do with the icon to launch the touchpad control panel that some versions of the driver put into the Windows Control Panel, or as you say it could be something to do with the Mouse Properties tab, which includes a "properties" launch button for the control panel.
I think they're not there on this driver because it is an Asus Smart Gesture driver, not an Elan driver.
The icon in the system tray is an Asus-style one, not an Elan-style one, and when you hover the cursor over it, what pops up is "Asus Smart Gesture".
Through all this experimentation with different versions of the driver, the Elan ones have had the Mouse Properties tab (and sometimes, but not always, the Windows Control Panel entry) and the Asus ones don't. The only way of launching the control panel with the Asus drivers is to double click the system tray icon as far as I can see. That's why I had to do the renaming trick on the ETDSimpleUI.exe file, as I guess what runs when you double click the icon is hard coded to be "Asus_UI.exe". Quite how it determines the version of the Asus UI to run I don't know as there are different versions for different operating systems, but maybe on a normal install it just senses what OS it is and runs the appropriate version, defaulting to Asus_UI.exe on XP.
:dubbio:

Link to comment
Share on other sites

Hmmm. :dubbio:

Can you try renaming back Asus_UI.exe to ETDSimpleUI.exe?

In ETDCrtl.exe there are hardcoded (snippet from Bintext):

Quote

00000015A1E0   00000055AFE0      0   \ASUS_UI_Win8.exe
00000015A204   00000055B004      0   \ASUS_UI.exe
00000015A224   00000055B024      0   #32770
00000015A234   00000055B034      0   WerFault.exe
00000015A250   00000055B050      0   main.cpl
00000015A268   00000055B068      0   Can't find ETDAniConf or ETDUI or Lenovo.
00000015A2BC   00000055B0BC      0   \ETDSimpleUI_Win8.exe
00000015A2E8   00000055B0E8      0   \ETDSimpleUI.exe
00000015A30C   00000055B10C      0   Can't find ETDSimpleUI.
00000015A33C   00000055B13C      0   \ToshibaTp_Win8.exe
00000015A364   00000055B164      0   \ToshibaTp.exe
 

It seems like the good guys @Elantech made a "one size fits all" executable that calls *all* OEM files, possibly on a "first come first served" basis.

And in ETD.sys there are:

Quote

000000043DCC   0000000549CC      0   @%ProgramFiles%/Elantech/ETDMcpl.dll,-6
000000043E1C   000000054A1C      0   \Registry\Machine\Software\Classes\CLSID\{3EA22083-D5BF-411b-A6D6-A27541794266}
000000043EBE   000000054ABE      0   Elan Control panel
 

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

I tried renaming Asus_UI.exe to ETDSimpleUI.exe and rebooted.

Double clicking the system tray icon now just brings up the Mouse Properties window.

This would be fine I suppose if there was a tab there to allow you to access the control panel, but there isn't!

I seem to remember that some of the Elan drivers did actually work like that on 8.1, to access the touchpad control panel via the Mouse Properties.

:)

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