Dave-H Posted May 16, 2020 Author Posted May 16, 2020 After deleting HKLM\SYSTEM\CurrentControlSet\Control\Elantech\OtherSetting the settings are still being saved OK. After then deleting HKLM\SYSTEM\CurrentControlSet\Control\Elantech\ the driver stops working completely. The Asus style icon in the system try is replaced with the Elan style icon with a red "no entry" sign in it, and the touchpad is dead. Over-installing with the INF then did fix this, after replacing the necessary files and rebooting. HKLM\SYSTEM\CurrentControlSet\Control\Elantech\ has been restored. The settings had reverted to the defaults, and when changed they don't "stick". I exported the two keys you detailed (I assume the second one should have been saved to Elantech_OtherSetting_saving_NOT.reg, not as stated Elantech_OtherSetting_saving_OK.reg). Importing Elantech_OtherSetting_saving_OK.reg did not return the settings to being saved. Importing Elantech_saving_OK.reg did not return the settings to being saved either. So, it looks like the "magic" is not in that key!
jaclaz Posted May 16, 2020 Posted May 16, 2020 (edited) Hmmm. It's queer. So the .inf installing must be changing *something else* outside HKLM\SYSTEM\CurrentControlSet\Control\Elantech\ and that something is part of the "magic" (otherwise restoring the saved .regs should have brought the situation to an "as before" state). BUT the .inf installing does not change anything when over-installing on the working/saving settings driver. It makes no sense. jaclaz Edited May 16, 2020 by jaclaz
Dave-H Posted May 16, 2020 Author Posted May 16, 2020 How about trying this the other way around? What about using 11.4.14.1 as the starting point instead of 11.5.20.3, as we know that all the files have to actually come from that version to work on XP anyway, and adding bits of the 11.5.20.3 INF to the 11.4.14.1 INF to see if we can get it to do what the 11.5.20.3 INF does?
jaclaz Posted May 16, 2020 Posted May 16, 2020 No, there is something that simply does not make sense. Here I am trying to replicate the situation, using devcon too create the *ETD0108 node and here the Setip.exe (setup.exe from 11.4.14.1 renamed) has no issues with an ETD.inf from 11.5.20.3 modified and without the .cat file. Give me some time I'll see if I can come out with something that is hopefully reproducible on the real hardware on your machine. Can you confirm that - besides the .inf - the only *needed* files (all coming from 11.4.14.1) are the ones I listed earlier?: ASUS_UI.exe ETDApix.dll ETDCmds.dll ETDCtrl.exe ETDFavorite.dll ETDUn_inst.exe ETDUninst.dll or, maybe better, can you make a DIR "C:\Program Files\Elantech\*.*">C:\elantech.dir of your system (with the driver "fully" installed and working)? I lost track of which "other" files (if any) you have there (i.e. the .avi's). BTW, also can you get devcon.exe from here (so that we will be using the same version): https://msfn.org/board/topic/173201-gavottes-ramdisk-automation-package/?do=findComment&comment=1091396 and run these commands (and post results): devcon.exe listclass mouse devcon.exe hwids =mouse devcon.exe stack =mouse devcon.exe driverfiles *mouse* devcon.exe driverfiles "HID\Vid_13ee&Pid_0003&Rev_0000" <- here replace with the *whatever* is the ID of the Elantecg trackpad devcon.exe drivernodes *mouse* devcon.exe drivernodes "HID\Vid_13ee&Pid_0003&Rev_0000" <- here replace with the *whatever* is the ID of the Elantecg trackpad devcon findall =mouse devcon classfilter mouse upper jaclaz
RainyShadow Posted May 16, 2020 Posted May 16, 2020 @Dave-H, is there something in those registry keys, that looks like a pointer to "install-specific" device? (Sorry, i can't think of a way to word this simpler currently) Like, when you reinstall your i.e. LAN card, and the first time it's named "ethernet adapter blabla", but the second install changes the name to "ethernet adapter blabla #2" and so on... Maybe, the backup you made points to the previous install of the device, but the following reinstall points to the new name, so importing the backup won't just work?
Dave-H Posted May 16, 2020 Author Posted May 16, 2020 Thanks @RainyShadow! What do you think @jaclaz? The only way to completely eliminate that possibility would be to completely clean the system before every time an install is done I suppose, but I think one of the things we were testing was to see if an in-place INF install over the top of a non-working install would get the driver working properly again (which it didn't). @jaclaz Here's the directory file. As regards the control panel and the avi files, what is in there is actually ETDSimpleUI.exe renamed to Asus_UI.exe, so I can use that instead of the Asus control panel, which is really slow and unresponsive. The avi files are the ones that go with ETDSimpleUI.exe, from driver version 4.9.0.0. Also the first lot of output from devcon. I will do the others later on if that's OK (dinner time now!) Before I do, can I just confirm that I need to replace "HID\Vid_13ee&Pid_0003&Rev_0000" with "*ETD0108" in those commands? elantech.dir devcon1.txt
jaclaz Posted May 17, 2020 Posted May 17, 2020 Good. The other two commands should be: devcon.exe driverfiles "ACPI\ETD0108\4&1B919E6A&0" and devcon.exe drivernodes "ACPI\ETD0108\4&1B919E6A&0" jaclaz
jaclaz Posted May 17, 2020 Posted May 17, 2020 (edited) Ok, there must be *something* on your install (maybe SP3 changes something? I doubt it) or setting or some other program (like antivirus/anti-whatever) that prevents the running on your system of a Setup.exe with unsigned drivers (or possibly a Group policy, I have NO idea what could it be). Here Setup.exe (from 11.4.14.1) runs just fine, both with the original .inf from 11.5.20.3 and with it modified (removed the .cat file, changed files to the ones you are actually using, etc.). Of course I cannot say if the driver works or not. At first sight the only difference I can find is that devcon (as well as .inf install from device manager "Have disk") does not add anything to the driverstore. Doing a few random tests, it does seems like ,inf installing checks date/version of drivers and installs "whatever it seems better" (but no real prove of this). Anyway, here everything works as it should (as far as I can test it). Find attached a modified 11.5.20.3 .inf and a (quick and half-@§§ed as always) small video (actually animated .gif) showing you what happens here. Let me know when you got the file so that I can remove it from attachments. (EDIT: Ok, removed) jaclaz Edited May 17, 2020 by jaclaz
Dave-H Posted May 17, 2020 Author Posted May 17, 2020 OK, here's the second part of the devcon results. It didn't seem to be able to find the device using ACPI\ETD0108\4&1B919E6A&0 for some reason. I downloaded your attachment. devcon2.txt
jaclaz Posted May 17, 2020 Posted May 17, 2020 OK, it doesn't really matter, devcon is a "strange beast", and I am not at all an expert in its use. Anyway, further update. The Setup (or Setip) .exe seems (a lot) like a wrapper around DPINST.EXE. I.e. all the Setup does with (from a command prompt opened in a directory one level higher than the one where the driver files are): .\x86\Setup.exe can be replicated with the command: .\x86\dpinst.exe /C (the /C is optional, what actually happens is logged anyway in C:\Windows\DPINST.LOG) Here the ETDUn_inst.exe does not work (as I need to force with devcon the device *ETD0108, whilst the ETDUn_inst is probably intended to uninstal the actual "real" device, i.e. the "ACPI\ETD0108\4&1B919E6A&0" you have). Anyway the following command: .\x86\dpinst.exe /U C:\appoggio\Daveh\ETD_new\x86\ETD.inf /D /C Seemingly does all that is needed (the /C is optional as seen above BUT - for some reasons the path to the .inf neeeds to be a FULL path and you'll need to change it according to your situation), namely: 1) it removes the device 2) it removes the etd_inserthereacrazylongstring folder from C:\WINDOWS\system32\DRVSTORE\ 3) it deletes the the OEMnn.inf and OEMnn.PNF from C:\WINDOWS\inf\ 4) it deletes the ETD.SYS from C:\WINDOWS\system32\drivers\ 5) it removes files from C:\Program Files\Elantech\ 6) it removes the Elantech entry from Add/Removeprograms You should open the: C:\Windows\SetupApi.log and the: C:\Windows\DPINST.log with a text editor and remove all the last lines related to Elantech related attempts, so that it will be easier to try the above DPINST commands and compare the log entries with the ones created when Setup.exe and ETDUn_inst.exe are run. jaclaz
Dave-H Posted May 17, 2020 Author Posted May 17, 2020 (edited) So, after I've removed all the (many!) entries relating to the Elan driver in SetupApi.log and DPINST.log, I should run - .\x86\dpinst.exe /U <path to INF>\ETD.inf /D /C What folder should I be in to run that though, the "Frankendriver" folder? And should the path to the INF be the Frankendriver folder too? Also am I using the existing unmodified INF or the modified one you attached earlier? That command will presumably uninstall the driver. So I do that, and then .\x86\dpinst.exe /C will reinstall it. Again, what folder should I be in and which INF file should I use? Sorry, so many questions, but I don't want to risk invalidating any test by not doing it absolutely correctly. Edited May 17, 2020 by Dave-H Addition
jaclaz Posted May 17, 2020 Posted May 17, 2020 Well, you should recreate a new "source" directory identical to the one you can see on top left of the video/gif. The files are the same that you have in the \Program Files\Elantech folder plus: dpinst.exe dpinst.xml a couple Eula files (I left in it only Italian and English but you can re-add the whole lot or add none) the ETD.sys (from 11.4.14.1) the modified ETD.inf (that originates from 11.5.20.3 and where I only removed the .cat reference and changed files to reflect your "final" \Program Files\Elantech folder Here is anyway the detailed dir.txt of it. Quote Directory di C:\appoggio\Daveh\ETD_new\x86 17/05/2020 09.40 <DIR> . 17/05/2020 09.40 <DIR> .. 08/10/2012 22.04 1.933.168 ASUS_UI.exe 15/08/2011 20.45 664.064 DnD01.avi 15/08/2011 20.45 782.336 DnD02.avi 15/08/2011 20.45 716.084 DnD03.avi 22/07/2015 04.31 931.560 dpinst.exe 22/07/2015 04.10 29.176 dpinst.xml 22/07/2015 04.10 12.550 ELANLogo.ico 22/07/2015 04.10 6.966 ELANTP.bmp 17/05/2020 09.28 1.986.643 ETD.inf 05/03/2013 17.25 311.696 ETD.sys 05/03/2013 17.25 1.693.072 ETDApix.dll 05/03/2013 17.25 1.799.056 ETDCmds.dll 05/03/2013 17.25 2.248.080 ETDCtrl.exe 05/03/2013 17.25 1.676.176 ETDFavorite.dll 05/03/2013 17.25 1.620.880 ETDUninst.dll 05/03/2013 17.25 1.787.792 ETDUn_inst.exe 22/07/2015 04.10 627 Eula0409ENU.tx_ 22/07/2015 04.10 684 Eula0410ITA.tx_ 15/08/2011 20.46 904.192 Rotation_Twist.avi 15/08/2011 20.46 2.144.978 Scroll_Inertial.avi 09/07/2012 15.21 864.768 Scroll_Reverse_H.avi 09/07/2012 15.21 968.192 Scroll_Reverse_V.avi 05/03/2013 17.25 1.792.400 Setup.exe 16/05/2020 17.05 55 Setup.ini 15/08/2011 20.46 786.944 Swipe_3F_Down_SwitchWnd.avi 15/08/2011 20.46 1.615.872 Swipe_3F_LR_PageupDown.avi 15/08/2011 20.46 461.312 Swipe_3F_Up_Computer.avi 15/08/2011 20.46 354.816 Tapping_1F.avi 15/08/2011 20.46 990.904 Tapping_2F_Middle_Button.avi 15/08/2011 20.46 763.392 Tapping_2F_Popup.avi 15/08/2011 20.47 1.783.296 Zooming.avi 31 File 31.631.731 byte 2 Directory 117.333.360.640 byte disponibili BUT BEFORE doing any attempt, you need to clean the system which namely means: 1) uninstall from device manager the touchpad device 2) verify that you have no ETD.sys file in \Windows\drivers\ 3) verify that you have no OEMnn.inf and OEMnn.PNF file in \Windows\inf related to Elantech installs 4) verify that you have no etd_inserthereacrazylongstring folder in \WINDOWS\system32\DRVSTORE\ 5) verify that you have not any Elantech related item in Add/Remove programs 6) delete the Registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Elantech key and all its subkeys AND "clean" the SetupApi.log and DPINST.log, 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). If you setup your desktop similar to what I showed you in the video, you will have most relevant places of the 6 above under control in "real time". Unfortunately you will probably need intermediate reboots to check what happens after a driver install or uninstall, so you will have to re-compose the desktop each time, I used 7-zip because it is more compact and updates faster when copying/deleting files, but you can use a set of explorer windows. or a batch in another command prompt *like* (I am using C: you will need to use D: of course) : DIR C:\Windows\drivers\ETD.sys DIR C:\Windows\inf\oem15.* <- in my case it is OEM15 adapt to your situation DIR C:\WINDOWS\system32\DRVSTORE\etd_* Get: https://docs.microsoft.com/en-us/sysinternals/downloads/regjump regjump HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Elantech jaclaz
Dave-H Posted May 17, 2020 Author Posted May 17, 2020 OK, I've already cleared the files, I'll now have a go at all that! Presumably I'll have to clean the files again after I've uninstalled the driver so that information isn't included in them. I had trouble with your animated GIF BTW, I normally use XnView to view them, but that file just crashes it, it says the file type can't be determined. I have managed to view it using my ancient copy of Ulead GIF Animator, but it's very difficult to get it all on the screen, and that program is also struggling to play it. I'll let you know how it goes! What did you think about @RainyShadow's hypothesis yesterday BTW? Cheers, Dave.
jaclaz Posted May 17, 2020 Posted May 17, 2020 31 minutes ago, Dave-H said: I had trouble with your animated GIF BTW, I normally use XnView to view them, but that file just crashes it, it says the file type can't be determined. I have managed to view it using my ancient copy of Ulead GIF Animator, but it's very difficult to get it all on the screen, and that program is also struggling to play it. Well, it plays just fine in Opera 12.something series, Presto. It plays fine in chrome (Iron 49.0.2623.112), though it is very slow to load. It plays fine in Basilisk/Serpent 2019.08.16 It plays fine in Firefox 47.1 It is as widely compatible as an animated .gif can be made. 46 minutes ago, Dave-H said: What did you think about @RainyShadow's hypothesis yesterday BTW? 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 . Anyway doing a registry wide search on the Registry with Registrar Lite (Reglite) or use any other registry tool that has search with multiple results. for strings *like* Elan Elantech ETDCtrl.exe ETD.sys etc. should clear easily if this is the case. jaclaz
Dave-H Posted May 17, 2020 Author Posted May 17, 2020 (edited) Thanks. 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. Anyway, I am working through your instructions, logging what I'm doing so I can let you see exactly what I've done and the results I got. I use Registry Workshop BTW, which has an extremely good search facility which lists everything that it finds so you can easily review things (and it has multiple undo levels too I'm very glad to say!) I shouldn't need regjump as I can just set that key up as a "favourite" in Registry Workshop. Edited May 17, 2020 by Dave-H Addition
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now