GigE Vision - automating NIC setup

Hey everyone,

I am always careful about setting up my NICs for GigE cameras and use Intel NICs nearly all of the time (in honesty, I rarely see the difference, but why take that risk?).

This is a pretty long process if you are creating multiple systems, so I am asking if anyone knows a way to automate the NIC setup? Jumbo packets, interrupt moderation rate, receive buffers, all of that stuff - is there a way to set it in a script? I guess it is beyond the remit of the CVB developers, but maybe someone can point me in the right way?

/M

Hi @Mjollnir,

it is quite complex to set all parameters automatically.
I will start to explain the basic concept for the physical NIC parameters like packet size, receive buffers …

The information can be typically found under this registry key on a Windows based system:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}

You will find a number of sub keys from 0000-9999.

If the Characteristics key in this sub key has a value of 0x84(132) it tells you that you have found a physical network device. In the sample below for an INTEL network card.

Depending on the network card manufacturer the parameters for packet size, receive buffers … might have different names.

For INTEL the entry for Jumbo packets is e.g. *JumboPacket.
Changing the neccessary values in the registry will do the job.
But be carefull to use only parameters which are allowed for this network card. E.g. you can not set any value for JumboPackets.

The parameters are used after a reboot (also without reboot but this requires a lot more things to do).

Manfred

3 Likes

Very helpful info thanks Manfred. We have to configure a lot of systems and automating this would be helpful for us too.

Interesting - this is what I was hoping for.

Thanks Manfred,

/M

Here is more information for you:

The values which can be applied for a specific key can be found also in the registry.
As an example let’s take the *JumboPacket key:

If you look into the the sub key below you can find the value range (in this case an enum) here:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0003\Ndi\Params\*JumboPacket\Enum

It is exactly the same for the other parameters like receive buffers.

For non INTEL network cards it works similar but the names for the features might be slightly differnt.

1 Like