Jump to content

Recommended Posts

Posted (edited)

This thread is in response to a PM - from this post I made, I guess, although I might have metionned it in another thread:

 

Hello, for what it's worth, I did the upgrade to Win10 from Win7 Pro, I didn't deactivate any module or reinstall anything and it worked just fine.

I can't tell if Win10 works better. It's same or better than Win7, no issues at all for me but you may get some depending on your hardware, do some resarch first.

 

P.S.: Actually the only problem I had was with Saitek rudder, my mouse would freeze and beep when unplugging the rudder. After a while I did an in-depth cleanup of inf files, registry keys related to Saitek and it's all good now, I can unplug the rudder without fear of freezing my computer.

 

I think it might interest other people, so I write it here instead of answering only by PM.

 

On windows 7 I had this beeping only half of the time, it seemed I had it less often when I would let my computer idling for 1 minute then unplug. However on windows 10 I had this 100% of the time. The only way to unplug the rudder without a painful restart was to shutdown the PC first.

 

There no list of files to remove, I had already tried deleting the USB ports/hubs and reinstalling them (which deletes some inf files, linked to that USB device), with no effect. I didn't find any tool that would work (I think I tried a couple of registry cleanup tools) or that I would trust to fiddle elbow-deep with my registry.

 

What I did is actually a series of back-and-forth from the file system and the windows registry, it's a lengthy process (expect an hour or more), that requires a lot of double checking and a lot af backups:

- Write down every string you find into a text file, every string you use as search token too

- Do not delete any files, instead, move them to a backup folder

- Make an export of every registry entry before deleting it (or maybe only the ones you're not sure about).

Make sure you have the time, some coffe and gummybears at hand.

 

Everytime an item was found, I would write down it's name and the ID's it was attached to and every string that seem to be a link to another item.

Here is an example of how I proceeded, step by step - bear in mind that the inf file names and CSLIDs (ex: {678DCF40-E2E6-11D5-8CD5-E960089EA00A}) will be different for you.

 

1- For startup, using notepad++ or any good text editor, search of "saitek" in all windows INF files (also try "mad catz"):

 

ex:

 C:\Windows\INF\oem31.inf (15 hits)
C:\Windows\INF\oem34.inf (3 hits)
C:\Windows\System32\DriverStore\FileRepository\sai0764.inf_amd64_6bdaaeadf0069c38\sai0764.inf (3 hits)
C:\Windows\System32\DriverStore\FileRepository\saibus.inf_amd64_b55edd864f0ae8f0\saibus.inf (15 hits)
C:\Windows\Temp\MadCatz\Pro_Flight_Combat_Rudder_Pedals_7_0_47_1_x64_Drivers\Inf\Pro_Flight_Combat_Rudder_Pedals_Saitek_0764\Sai0764.inf (3 hits)
C:\Windows\Temp\MadCatz\Pro_Flight_Combat_Rudder_Pedals_7_0_47_1_x64_Drivers\Inf\SaiBus\saibus.inf (15 hits)

2- I open each file and I gather all data and names of interest from them (put that in a text file):

 oem31.inf
{678DCF40-E2E6-11D5-8CD5-E960089EA00A}
SaiBus.cat
SaiBus.sys
SaiMini.sys
SaiNtBus
SaiClass
SaitekMagicBus
SaitekMouse
SaitekHotKeys
SaitekJoystick
VID_06A3&PID_5011
VID_06A3&PID_5021
VID_06A3&PID_5041
VID_06A3&PID_5081
SaiMini
SaiMini_Service

oem34.inf
{745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Sai0764.cat
VID_06A3&PID_0764
VID_06A3&PID_0764
SaiK0764.sys
SaiC0764.dll
SaiC0764_0402.dll
SaiC0764_05.dll
SaiC0764_07.dll
SaiC0764_09.dll
SaiC0764_0A.dll
SaiC0764_0C.dll
SaiC0764_10.dll
SaiC0764_11.dll
SaiC0764_12.dll
SaiC0764_19.dll
SaiK0764.sys
{3B0BC249-97F2-49c7-A5B4-8AF34040E48D}
{44474645-6B00-4359-B2AE-F94026EA050D}

repeat for all .inf files...

 

Note that some files mentioned might belong to Windows, check every file name that doesn't look very "Sai-ish", e.g. WdfCoInstaller.dll or gchand.dll which are actually Windows dlls, you don't need to hunt these ones down.

 

3- Now I start regedit.exe (as administrator) and I search and note/write every ID that is linked to those entries. You must make use of good judgement to know if an entry shall be deleted or not. Most of the time entries that only link to Sai.. stuff can be deleted, make sure to do backups and check on the internet when doubts arise.

To search with regedit, click on the tree root ("Computer"), hit Ctrl+F. After first match, F3 key will show next match.

 

Couple of examples, following oem31.inf in the registry:

 

 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\PnpLockdownFiles\%SystemRoot%/System32/Drivers/SaiBus.sys]
This one should be OK to delete, I just copy the path that comes with it in my text file:
%SystemRoot%\System32\DriverStore\FileRepository\saibus.inf_amd64_b55edd864f0ae8f0\.\SaiBus.sys

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{678dcf40-e2e6-11d5-8cd5-e960089ea00a}]
Doesn't contains much stuff, it's only a repeat of what I found in the .inf file, (class names and GUID), should be OK to delete too.

Examples with search of VID_06A3&PID_0764:

 

[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_06A3&PID_0764]
Nothing of interest here, delete.

[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_06A3&PID_0764]
This one has link to a CSLID: {44474645-6B00-4359-B2AE-F94026EA050D}
I write this down, delete the key, continue (actually that CSLID was already in one of the .inf files).

Rince, repeat, search for the names, the CSLIDs, write down what they are linked to, check what's the content of the registry key, again and again.

I had some doublts about [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ROOT\PROGRAMMING_SUPPORT] but it appeared that it was a Saitek-only thing, so I deleted it as well (the entire PROGRAMMING_SUPPORT).

Most key and files were quite easy guesses, most of the time you will loop back to strings you already found, you might occasionally find some new CSLIDs, new string (class names, that kind of stuff) and new .inf files.

Make sure write the new ones in your text file in a section that reminds you what was the origin of it.

Check the [strings] at the end of the inf files to make sure it belongs to Saitek.

etc, etc.

 

I admit it's not for the faint or heart :D

 

4- After this thorough cleanup, I rebooted a couple of times, then I reinstalled the driver for the rudder (I didn't reinstall SST as I had no use for it), and "magic", no more frozen/beeping mouse.

 

Hope this helps, happy cleaning :smartass:

Edited by PiedDroit
  • Recently Browsing   0 members

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