NICs (and LAN connections) enumerate differently on different machines.

  • Thread starter Thread starter Mark K Vallevand
  • Start date Start date
M

Mark K Vallevand

I have 2 very, very similar machine types that run the same image. If I
configure the NICs and connections on the image on one machine, when the
image run on the other type, a new set of NICs and connections are
enumerated. So the master image with all the default network connection
configurations will only run on half the machines. I think there is a way
to tell the device enumeration to ignore unique instances of the same device
that appear in the same order. NIC_zero is always NIC_zero.
Connection_zero is always connection_zero. PCI device enumeration is not so
restrictive.

I read something about working around this in the last year or so. I can't
find it in google. Can someone else remember how to do it?

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.
 
Mark,

The problem probably appears because of the fact that the "default" network GUIDs are left in the registry under
[HKLM\SYSTEM\CurrentControlSet-\Control\Network] and connected there to the setup Connection names (see a few level deeper the
Connection subkey).

So you either tweak the reg.settings manually (e.g., you can remove the Connection subkeys from the golden image just before you
deploy it to all the devices) or do the new associations with the netsh tool, or INetCfg interface, or IP helper API
(GetAdaptersInfo/GetInterfaceIn-fo) or etc.
 
So if I remove all the connection subkeys, won't I loose the connection
names and stuff?

This might work, because when the golden image first boots on a new machine,
default connections will be created, and my setup code can handle that, I
think. It gets confused if it sees connection information for old
connections.

But, its not the answer I was looking for. I was hoping that there was a
way to setup all the NIC and connection information in the golden image, and
not have it be sensitive to the PCI discovery process. I have 3 NICs (same
chip) that are discovered in different locations on the PCI bus on different
machines. I'd like to have the 3 NICs and their associated connections
always be discovered and used without any extra setup programs to configure
them.

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.


KM said:
Mark,

The problem probably appears because of the fact that the "default"
network GUIDs are left in the registry under
[HKLM\SYSTEM\CurrentControlSet-\Control\Network] and connected there to
the setup Connection names (see a few level deeper the
Connection subkey).

So you either tweak the reg.settings manually (e.g., you can remove the
Connection subkeys from the golden image just before you
deploy it to all the devices) or do the new associations with the netsh
tool, or INetCfg interface, or IP helper API
(GetAdaptersInfo/GetInterfaceIn-fo) or etc.

--
Regards,
KM, BSquare Corp.

I have 2 very, very similar machine types that run the same image. If I
configure the NICs and connections on the image on one machine, when the
image run on the other type, a new set of NICs and connections are
enumerated. So the master image with all the default network connection
configurations will only run on half the machines. I think there is a
way
to tell the device enumeration to ignore unique instances of the same
device
that appear in the same order. NIC_zero is always NIC_zero.
Connection_zero is always connection_zero. PCI device enumeration is not
so
restrictive.

I read something about working around this in the last year or so. I
can't
find it in google. Can someone else remember how to do it?

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.
 
Mark,
So if I remove all the connection subkeys, won't I loose the connection names and stuff?

You will but then you have more control on how to set them up on the final deployment end.
This might work, because when the golden image first boots on a new machine,
default connections will be created, and my setup code can handle that, I
think. It gets confused if it sees connection information for old connections.

But, its not the answer I was looking for. I was hoping that there was a
way to setup all the NIC and connection information in the golden image, and
not have it be sensitive to the PCI discovery process. I have 3 NICs (same
chip) that are discovered in different locations on the PCI bus on different
machines. I'd like to have the 3 NICs and their associated connections
always be discovered and used without any extra setup programs to configure them.


Well.. then you can try to get the same image working on all the targets with different NICs consecutively and set up connections
manually (e.g., with netsh or through registry) on the final target. Only then you capture the golden image.

Also, you can "capture" all the NICs' required registry entries and integrate them in the golden image. Then you won't need to run
the image through all the targets/NICs.

--
Regards,
KM, BSquare Corp.

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.


KM said:
Mark,

The problem probably appears because of the fact that the "default"
network GUIDs are left in the registry under
[HKLM\SYSTEM\CurrentControlSet-\Control\Network] and connected there to
the setup Connection names (see a few level deeper the
Connection subkey).

So you either tweak the reg.settings manually (e.g., you can remove the
Connection subkeys from the golden image just before you
deploy it to all the devices) or do the new associations with the netsh
tool, or INetCfg interface, or IP helper API
(GetAdaptersInfo/GetInterfaceIn-fo) or etc.

--
Regards,
KM, BSquare Corp.

I have 2 very, very similar machine types that run the same image. If I
configure the NICs and connections on the image on one machine, when the
image run on the other type, a new set of NICs and connections are
enumerated. So the master image with all the default network connection
configurations will only run on half the machines. I think there is a
way
to tell the device enumeration to ignore unique instances of the same
device
that appear in the same order. NIC_zero is always NIC_zero.
Connection_zero is always connection_zero. PCI device enumeration is not
so
restrictive.

I read something about working around this in the last year or so. I
can't
find it in google. Can someone else remember how to do it?

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.
 
OK. Its not the PCI location that is the problem. It looks like the
subsystem ID is different for the same devices on different machines. Is
there a way to tell the PCI enumeration to ignore the subsystem ID and only
match on the MFG and Type IDs?

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.


Mark K Vallevand said:
So if I remove all the connection subkeys, won't I loose the connection
names and stuff?

This might work, because when the golden image first boots on a new
machine, default connections will be created, and my setup code can handle
that, I think. It gets confused if it sees connection information for old
connections.

But, its not the answer I was looking for. I was hoping that there was a
way to setup all the NIC and connection information in the golden image,
and not have it be sensitive to the PCI discovery process. I have 3 NICs
(same chip) that are discovered in different locations on the PCI bus on
different machines. I'd like to have the 3 NICs and their associated
connections always be discovered and used without any extra setup programs
to configure them.

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.


KM said:
Mark,

The problem probably appears because of the fact that the "default"
network GUIDs are left in the registry under
[HKLM\SYSTEM\CurrentControlSet-\Control\Network] and connected there to
the setup Connection names (see a few level deeper the
Connection subkey).

So you either tweak the reg.settings manually (e.g., you can remove the
Connection subkeys from the golden image just before you
deploy it to all the devices) or do the new associations with the netsh
tool, or INetCfg interface, or IP helper API
(GetAdaptersInfo/GetInterfaceIn-fo) or etc.

--
Regards,
KM, BSquare Corp.

I have 2 very, very similar machine types that run the same image. If I
configure the NICs and connections on the image on one machine, when the
image run on the other type, a new set of NICs and connections are
enumerated. So the master image with all the default network connection
configurations will only run on half the machines. I think there is a
way
to tell the device enumeration to ignore unique instances of the same
device
that appear in the same order. NIC_zero is always NIC_zero.
Connection_zero is always connection_zero. PCI device enumeration is
not so
restrictive.

I read something about working around this in the last year or so. I
can't
find it in google. Can someone else remember how to do it?

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.
 
Mark,
It looks like the subsystem ID is different for the same devices on
different machines.
This is strange.
Is there a way to tell the PCI enumeration to ignore the subsystem ID and
only match on the MFG and Type IDs?

Not that I know :-(


Check:
- PCI Bus number.
- PCI Slot number.

And whether there are differences there between different boards.

Basically fighting with PnP enumeration process is always a hard battle and
success mostly depending on BUS driver and special registry switches to
tweak its behavior. Unfortunately for PCI I do not know such switches.

Regards,
Slobodan

PS: Could you give us enum\PCI braches from your machines so that we can
analyze your enum key names.


Mark K Vallevand said:
OK. Its not the PCI location that is the problem. It looks like the
subsystem ID is different for the same devices on different machines. Is
there a way to tell the PCI enumeration to ignore the subsystem ID and
only match on the MFG and Type IDs?

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.


Mark K Vallevand said:
So if I remove all the connection subkeys, won't I loose the connection
names and stuff?

This might work, because when the golden image first boots on a new
machine, default connections will be created, and my setup code can
handle that, I think. It gets confused if it sees connection information
for old connections.

But, its not the answer I was looking for. I was hoping that there was a
way to setup all the NIC and connection information in the golden image,
and not have it be sensitive to the PCI discovery process. I have 3 NICs
(same chip) that are discovered in different locations on the PCI bus on
different machines. I'd like to have the 3 NICs and their associated
connections always be discovered and used without any extra setup
programs to configure them.

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.


KM said:
Mark,

The problem probably appears because of the fact that the "default"
network GUIDs are left in the registry under
[HKLM\SYSTEM\CurrentControlSet-\Control\Network] and connected there to
the setup Connection names (see a few level deeper the
Connection subkey).

So you either tweak the reg.settings manually (e.g., you can remove the
Connection subkeys from the golden image just before you
deploy it to all the devices) or do the new associations with the netsh
tool, or INetCfg interface, or IP helper API
(GetAdaptersInfo/GetInterfaceIn-fo) or etc.

--
Regards,
KM, BSquare Corp.


I have 2 very, very similar machine types that run the same image. If
I
configure the NICs and connections on the image on one machine, when
the
image run on the other type, a new set of NICs and connections are
enumerated. So the master image with all the default network
connection
configurations will only run on half the machines. I think there is a
way
to tell the device enumeration to ignore unique instances of the same
device
that appear in the same order. NIC_zero is always NIC_zero.
Connection_zero is always connection_zero. PCI device enumeration is
not so
restrictive.

I read something about working around this in the last year or so. I
can't
find it in google. Can someone else remember how to do it?

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE
PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.
 
Mark,

IIRC, if there is no subsystem ID or subsystem vendor ID, then hardware ID collapses into the format of compatible ID.
So you may want to check compatible IDs for all the NICs you've got (through INFs).

I know that for Video port (display adapters) there is a switch to ignore the subsystem IDs: VideoPortCheckForDeviceExistence
(!CDE_USE_SUBSYSTEM_IDS)
But it does not apply to all PCI devices.

--
Regards,
KM, BSquare Corp.

OK. Its not the PCI location that is the problem. It looks like the
subsystem ID is different for the same devices on different machines. Is
there a way to tell the PCI enumeration to ignore the subsystem ID and only
match on the MFG and Type IDs?

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.


Mark K Vallevand said:
So if I remove all the connection subkeys, won't I loose the connection
names and stuff?

This might work, because when the golden image first boots on a new
machine, default connections will be created, and my setup code can handle
that, I think. It gets confused if it sees connection information for old
connections.

But, its not the answer I was looking for. I was hoping that there was a
way to setup all the NIC and connection information in the golden image,
and not have it be sensitive to the PCI discovery process. I have 3 NICs
(same chip) that are discovered in different locations on the PCI bus on
different machines. I'd like to have the 3 NICs and their associated
connections always be discovered and used without any extra setup programs
to configure them.

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.


KM said:
Mark,

The problem probably appears because of the fact that the "default"
network GUIDs are left in the registry under
[HKLM\SYSTEM\CurrentControlSet-\Control\Network] and connected there to
the setup Connection names (see a few level deeper the
Connection subkey).

So you either tweak the reg.settings manually (e.g., you can remove the
Connection subkeys from the golden image just before you
deploy it to all the devices) or do the new associations with the netsh
tool, or INetCfg interface, or IP helper API
(GetAdaptersInfo/GetInterfaceIn-fo) or etc.

--
Regards,
KM, BSquare Corp.


I have 2 very, very similar machine types that run the same image. If I
configure the NICs and connections on the image on one machine, when the
image run on the other type, a new set of NICs and connections are
enumerated. So the master image with all the default network connection
configurations will only run on half the machines. I think there is a
way
to tell the device enumeration to ignore unique instances of the same
device
that appear in the same order. NIC_zero is always NIC_zero.
Connection_zero is always connection_zero. PCI device enumeration is
not so
restrictive.

I read something about working around this in the last year or so. I
can't
find it in google. Can someone else remember how to do it?

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.
 
Mark:

Search the XPe newsgroup for "NIC default settings". This may be the thread
that you remember.

What I did was ugly but it seems to work ;-)

HTH... Doug
 
Thanks! I think this is it, but memory is is a funny thing. Still, the
thread has really useful info.

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.
 
maybe it was all that beer ;-)

Mark K Vallevand said:
Thanks! I think this is it, but memory is is a funny thing. Still, the
thread has really useful info.

--
Regards.
Mark K Vallevand (e-mail address removed)

Beer is living proof that God loves us and wants us to be happy.
- Benjamin Franklin


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.
 
Back
Top