Uninstalling siFilter.sys / siNetFilter.sys completely

Hi guys,

I am currently fighting with a new installation of SaperaLT from Dalsa. According to Dalsa I have installed to many filter drivers on my system (Windows 7 has a maximum of 14) and therefore the GigE Filter Driver from Dalsa will not install correctly.
As this issue is regarding my working system I suspect that over the last years I just collected some filter drivers I do not need anymore.

Looking into my Network-Settings I figured out that I have many different versions of siFilterIP and siNetFilter drivers on my system. So I assume that somehow I managed to forget those drivers while uninstalling the corresponding CVB versions.

So now the question: What is the best and safest way to unsinstall those drivers completely?

Regards,
Theo

Ps.: Yes I know…this is more a Microsoft question but until now my google search did not reveal anything usefull. :confounded:

Hi Theo,

It the dialog from your screenshot which shows the different versions of the siFilterIP is not the list of active filter drivers. It is a list of available driver versions on the local windows driver database. All drivers which where installed over time are in this database and could be used as filter driver.
The Properties list of your NIC is usually a good indicator how many filter drivers are installed. And this looks fine for me.
But maybe some other filters are hidden.
Normally CVB uninstalls the used filter driver after uninstallation or during an update to a newer version.

It is correct that Windows 7 is limited to a maximum of 14 filter drivers.
But by default the limit is set to 8
And this can be changed with following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\MaxNumFilters

Change it to 14 and try again if it works then.

1 Like

Hi @Sebastian,

I checked this registry key before and it is set to 14 already. But don’t ask why I never changed it myself. :slight_smile:

From here I also know that the following key shows all possibly filter drivers and in my case that are currently 12 entries (with SaperaLT and CVB currently uninstalled).

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4d36e974-e325-11ce-bfc1-08002be10318}

To summerize:
My issue does not have anything to do with CVB as those filter driver are currently not installed.
I will investigate further and answer on this topic as soon as I have a solution.

Regards,
Theo

Hi,

you might want to uninstall/remove unused drivers using the command line utility pnputil. If you just type pnputil on the command line it will give you the options.

Regards

1 Like

Hi @Theo,

the follwoing might not refer to your problem but still is something to keep in mind.

On embedded windows versions check “C:\Windows\System32\DriverStore” after uninstalling any filter drivers etc…
This folder is per default readonly, and stores pretty much every driver that was installed on your system.
This often causes problems when going back to an earlier CVB Version, as windows compares the drivers that are to be installed with the versions in the DriverStore.
If the version that is to be installed is older than the one in the DriverStore, then Windows will automatically install the newer version.
Maybe you already had a newer version of the GigE filter driver from Dalsa installed, that is not compatible with the Sapera Version you are aiming for.

The problem can be fixed using pnputil.exe as already mentioned by @dusalf.

I never checked, if this driver management behaviour is the same on non embedded versions, but I thought the information might be useful.

1 Like

Thanks guys,

I will check asap.

regards,
Theo

Hi,

I still had a version of the Teledyne Dalsa GigE Vision driver installed which really caused some issues. Sometimes after a reboot I had no network connection anymore. After uninstalling this version I can work quite normally again with my Windows version.

I still can not install the Sapera LT Networking Package but I will check this out with Dalsa now as I suspect that this has nothing to do with those other filter drivers.

Thanks to all you guys! (@Chris, @Sebastian, @dusalf, @m.wuetschner).

Finally I have installed SaperaLT and the Network Imaging Package but without acutally solving the issue. As it often is …completely accidentally.

I tried to activate an install shield logging by starting the installation file from Dalsa via command line. I did not manage to log anything this way but I figured out that Sapera installs pretty well if the installation is started via command line :see_no_evil:

Started via Desktop I will run in the same issue again but to be @frank (:wink:) I really don’t care anymore :laughing:

However I have informed Dalsa. Maybe they have some ideas about it.

regards,
Theo

1 Like

As I ran headfirst into the same problem, a nice command to check the number of filter drivers;

run the following in powershell (administrator)

get-itemproperty hklm:\SYSTEM\CurrentControlSet\Control\Network | format-list -property MaxNumFilters
$children = get-childitem -path hklm:\system\currentcontrolset\control\network\"{4d36e974-e325-11ce-bfc1-08002be10318}" | get-childitem | where-object {$_.PSChildName -eq "Ndi"} | get-itemproperty | where-object {$_.FilterClass} |get-itemproperty -name FilterClass
"Filter Count: " + $children.count
"Filter List: "
$children | foreach-object -process { get-itemproperty -path $_.PSParentPath } | format-list -property Description,PSPath

Between your virus scanner, firewall and GigE vision drivers, you can quickly reach the soft cap of 8 filter drivers.

1 Like

To remove the siNetFilter and siFilterIP from the Windows driver store you can also use the batch jobs attached. Copy the files on your hard disk and start UninstallDriverClass.cmd with Administrator rights.
This will remove all siNetFilter and siFilterIP driver packages from the driver store.
Keep in mind that this will only work if you have uninstalled them before e.g. through the Network Settings Dialog.

RemoveFromDriverStore_siNetFilter_siFilterIP.zip (602 Bytes)

The batch jobs are searching through all OEMxxx.inf files for the phrase siNetFilter and siFilterIP and uses pnputil to remove those files together with the driver package:

for /f "delims=" %%i in ('dir /b "%windir%\inf\oem*.inf"') do call UninstallDriver.cmd %windir%\inf\%%i "siFilterIP.cat"
for /f "delims=" %%i in ('dir /b "%windir%\inf\oem*.inf"') do call UninstallDriver.cmd %windir%\inf\%%i "siNetFilter.cat"
1 Like