Jump to content

[SOLVED] Elan PS/2 Touchpad Driver for XP


Dave-H

Recommended Posts

Yes, it doesn't work any more!
:no:
Strangely, stopping ETDCtrl.exe and disabling ETDFavorite.dll didn't seem to matter at first, when ETDCtrl.exe was restarted everything seemed fine, which was encouraging.
However on a reboot it was a different story, there was no system tray icon, the settings were at the defaults, (although still correct in the control panel) and the device in the Mouse Properties tab had changed to "Elan Smart-Pad instead of "Elan Input Device" as it was before. The device name wss still correct in Device Manager.
So, I guess ETDFavourite.dll is needed, as we found a long time ago IIRC. I think it perhaps was OK until the reboot because it was still in memory or something.
:dubbio:

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


Try using the dud as replacement for ETDfavorite.dll. :dubbio:

http://www3.telus.net/_/dud/

It may or it may not work, of course, it is very strange I cannot find a reference/link to ETDFavorite.dll in ETDCtrl.exe or in ETDMcpl.dll, nor in the Registry.

It is entirely possible that the ETDCtrl.exe looks for it (even if it doesn't trigger any of its functions), but is strange that it doesn't error out when restarted.

Anyway "keeping" it, even if it not used is not a big problem.

jaclaz

 

Link to comment
Share on other sites

I tried using dud.exe (renamed to ETDfavorite.dll, I assume that's the right thing to do with it) in place of the "real" ETDfavorite.dll, and the result was a crash in ETDCtrl.exe on reboot.
I could disable the original ETDfavorite.dll by renaming it while the driver was running, so I guess the file itself isn't "in use" while the driver is running.
I guess it's in memory though, as I thought before.
So, it certainly looks as if ETDCtrl.exe needs a "real" ETDfavorite.dll to be present for it to work.
:)

Link to comment
Share on other sites

Yes, it was worth trying.
:yes:
Anyway, assuming we're not going to carry on trying to get further functions working which aren't there by default, are we close to closing this now?
The files we have for the installation source, including the modified ETDCtrl.exe, can presumably be just zipped up and put somewhere for whoever may want to use them.
I've modified your INF to set the UI_Theme=1, and to copy ETDMcpl.dll to the program folder.
I think it's just a total of 12 files needed -

ETDAniconf.exe
ETDApix.dll
ETDCmds.dll
ETDCtrl.exe
ETDFavorite.dll
ETDMcpl.dll
ETDUn_inst.exe
ETDUninst.dll
ETD.sys
ETD.inf
Setup.ini
Setup.exe

Is that it?
:dubbio:


 

Link to comment
Share on other sites

3 minutes ago, Dave-H said:

Is that it?
:dubbio:


 

Shouldn't be also dpinst.exe (and the dpinst xml also needed)? :unsure: Cannot remember if you tested succesfully the setup.exe "selfstanding".

The files are those ones, though I would also add the (whatever version that works of) ETDMag.exe, and the "Eula*.tx_" files are needed.

but we don't have (yet) a list of what functions should be initially viewable (SmartPadDisplay and SmartPad\*Show_Item) and that will become "default settings".

Basically a .reg of HKCU\HKEY_CURRENT_USER\Software\Elantech\SmartPad and of HKEY_CURRENT_USER\Software\Elantech\SmartPadDisplay set as you have it (and/or that you find "reasonable") so that I can set in the .inf in the [ETD_SmartPadDisplay.AddReg] and [ETD_SmartPadUI.AddReg] the correct values (that will end up in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Elantech and will be copied to HKCU by ETDCtrl.exe or *whatever*).

jaclaz

Link to comment
Share on other sites

I can't remember whether dpinst.exe and dpinst xml were needed or not, I will try an install without them and let you know!

I hadn't included any extra standalone files in my list, but yes the magnifier could be included, as it works as a standalone application, and I would consider ETDDeviceInformation.exe as well, as that does seem to produce quite a lot of potentially useful information.

I had forgotten about the licence files as well! :ph34r:

I think what I will do is make another installation folder with all the files in my list in it, and the licence files.
If it works fine, if not I will add the dpinst files and see if it works then. I can also add ETDMag.exe and ETDDeviveInformation.exe to the INF to be placed in the program folder.
Perhaps it would be nice to add a Windows Start Menu entry via the INF to have access to them, and indeed yet another shortcut to ETDAniConf.exe as well?! :D
ETDMag.exe isn't actually included in driver version 11.4.14.1, which version would be the best to include do you reckon?

I guess the only way we could find out what functions should be there by default in driver 11.4.14.1 is to actually install it on a compatible system, which we can't do of course!
:)

Link to comment
Share on other sites

28 minutes ago, Dave-H said:

ETDMag.exe isn't actually included in driver version 11.4.14.1, which version would be the best to include do you reckon?

 

The 10.0.0.0 from Z11521 seems the nearest by date.

30 minutes ago, Dave-H said:

I guess the only way we could find out what functions should be there by default in driver 11.4.14.1 is to actually install it on a compatible system, which we can't do of course!
:)

I don't know, my idea was that you set everything in smartpaddisplay to 1, then try what works and what makes sense.

As an example,

the three finger press does not work, let us set it to 0.

The double tap two finger, whether it works or not seems like not useful , 0.

The single finger edge zoom is a duplicate of the multifinger zoom which looks more "natural", 0 and 1.

Corner areas seemingly don't work, 0.

Clic, doesn't work, 0.

Fastkey is a duplicate of four finger swipe, let's choose one (possibly the one that works), 0/1 or 1/0

etc.

jaclaz

 

Link to comment
Share on other sites

You were right (of course!) about dpinst.exe (and I assume dpinst.xml as well), as the driver will not install without them.
Running setup without them just seems to refresh the folder, but apart from that it does nothing.
I've modified the INF to copy ETDMag.exe and ETDDeviceInformation.exe, and that all works fine.
As I said, maybe putting something in the INF to add a Start Menu entry to run them might be an idea, and possibly even ETDAniconf.exe as well (giving four ways of accessing it!)
:)

Link to comment
Share on other sites

Good. :)

In the meantime I had a look at the ETDFavorite.dll (actually at the way ETDCtrl.exe accesses it).

It is very strange, the .exe does not import the function, all it does is:

1) check if the ETDFavorite.dll is present (in the Programs\Elantech folder or in PATH)
2) call kernel32.getProcAddress in order to set the address of the four functions in the .dll:

SetFavoriteHWnd
FavoriteShow
FavoriteSetting
FavoriteRun

Most probably the check can be disabled by patching the ETDctrl.exe (the 7453 at offset 0x2642 to 74AC), but it would need to be tested.

jaclaz

Link to comment
Share on other sites

I tried the hex edit, but it didn't seem to work I'm afraid, ETDCtrl.exe still crashes on startup if ETDFavorite.dll isn't in the folder.
Please check the screen grab (thanks again @dencorso!) to make sure I've done it right.

HexEdit.thumb.jpg.c8a30a1ed9f2b4012ba3460f3c114c57.jpg

:)

Link to comment
Share on other sites

Yep, that hexedit i correct :), but it is not enough, later there is another call to ETDFavorite.dll.

Try doing also:
0x2695: 5E -> 90

0x2292:  FF 15 1C 54 58 00 -> 90 90 90 90 90 90

Will it work? :unsure:

Hint:

use FC /B to check the patching , here I edited ETDCtrl.exe and the original is saved by TinyHexer as ETDCtrl.exe.bak:

fc /b ETDCtrl.exe ETDCtrl.exe.bak
Confronto in corso dei file ETDCtrl.exe e ETDCTRL.EXE.BAK
00002292: 90 FF
00002293: 90 15
00002294: 90 1C
00002295: 90 54
00002296: 90 58
00002297: 90 00
00002643: 4C 53
00002695: 90 5E

jaclaz

Link to comment
Share on other sites

5 minutes ago, RainyShadow said:

Why Hex editing?

Professional PE file Explorer - double-click the .DLL/import/checksum/etc. and type a new one, save, done. :P

Why not reading? :dubbio:

5 hours ago, jaclaz said:

In the meantime I had a look at the ETDFavorite.dll (actually at the way ETDCtrl.exe accesses it).

It is very strange, the .exe does not import the function,

Have you actually tried that program on the specific ETDCtrl.exe? :unsure:

If not, try and tell us how to use it. AFAICU that program is very similar to CFF Explorer and similar tools.

jaclaz

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