Link speed and Duplex

(imported topic written by brolly3391)

Hello all,

I was asked today about how to pull link speed and duplex for network adapters. There is an inspector to do it for just link speed:

q: Link speeds of adapters of network

There does not seem to be an inspector for duplex. So I did some spelunking in the registry and this is what I came up with. It works fine on my Broadcom NIC, it would be great if I could get some feedback from people with diverse NICs.

q: Unique values of (item 0 of it & " - " & following text of first “|” of item 2 of it) of ((values “DriverDesc” of it as string, values “RequestedMediaType” of it, (name of it & “|”& it as string ) of values of key “Ndi\Params\RequestedMediaType\Enum” of it) of keys of key “hklm\System\Currentcontrolset\Control\Class{4D36E972-E325-11CE-BFC1-08002be10318}” of registry) whose (item 2 of it as string starts with item 1 of it as string)

A: Broadcom NetXtreme 57xx Gigabit Controller - Auto

Cheers,

Brolly

(imported comment written by chenbr91)

Q - Unique values of (item 0 of it & " - " & following text of first “|” of item 2 of it) of ((values “DriverDesc” of it as string, values “RequestedMediaType” of it, (name of it & “|”& it as string ) of values of key “Ndi\Params\RequestedMediaType\Enum” of it) of keys of key “hklm\System\Currentcontrolset\Control\Class{4D36E972-E325-11CE-BFC1-08002be10318}” of registry) whose (item 2 of it as string starts with item 1 of it as string)

A - HP NC7781 Gigabit Server Adapter - 100 Mb Full

It works nice for me! thanks! i’ve been looking for something like this for a while…

EDIT: Does not work in IBM Blades… They have Broadcomm Gigabit Fiber NICS but the Speed is not listed in the key of RequestedMediaType key of the registry.

(imported comment written by dgibson91)

Brolly, different drivers use different registry value names.

Intel uses the SpeedDuplex key

Our older 3com PCI NICs use 2 seperate keys. Duplexmode and MediaSelect

All our onboard NICs from dell are either Broadcom or intel. So i think that should work for most people.

Also this only works if it is manually set to that speed. If it is autosense, it will say auto, not the speed it connects at.

(imported comment written by brolly3391)

I am going to try to put together an improved bit of relevance based on your feedback, dgibson and chenbr.

dgibson, thanks for pointing out that this will give the nic setting, not the current speed if it is set to auto. that was the desired behavior.

Maybe I can scan the registry there for items under “enum” that contain “half” to attempt to identify the entry that any vendor uses for their duplex setting but with that tuple in play it’s going to take some serious thinking as to how to approach it.

OK - 2 hours of tinkering later this is what I have:

q: unique values of (item 0 of it as string & " - " & following text of first “|” of item 1 of item 2 of it) of (( values “DriverDesc” of it , (name of it & “|” & it as string) of values (names of keys whose (exists values whose (it as string as lowercase contains “half”) of keys “enum” of it) of keys “ndi\params” of it as string) of it, ((name of it,(name of it &"|"& it as string) of values of keys “enum” of it) of keys of it) of keys “NDI\Params” of it) of keys of key “hklm\System\Currentcontrolset\Control\Class{4D36E972-E325-11CE-BFC1-08002be10318}” of registry) whose (item 1 of it as string contains item 0 of item 2 of it as string AND item 1 of it ends with (preceding text of first “|” of (item 1 of item 2 of it)))

Basically, it scans for the name of the value that has an “enum” key that contains the value “half” and gives the tuple that is associated with that set of values and keys. I figure most common NICs will at least support 10half at least.

This is the core tuple that I then filter and manipulate

q: (( values “DriverDesc” of it , (name of it & “|” & it as string) of values (names of keys whose (exists values whose (it as string as lowercase contains “half”) of keys “enum” of it) of keys “ndi\params” of it as string) of it, ((name of it,(name of it &"|"& it as string) of values of keys “enum” of it) of keys of it) of keys “NDI\Params” of it) of keys of key “hklm\System\Currentcontrolset\Control\Class{4D36E972-E325-11CE-BFC1-08002be10318}” of registry)

Looking at it now I can see that I probably could have moved the internal filter and removed one level of tuple, but I am not feeling any more ambitious than this tonight. And it will show duplex only for nics that use a separate settings for speed and duplex.

How does that do on your blade servers and IBM nics?

Cheers,

Brolly

(imported comment written by chenbr91)

Brolly…thanks for the updates… it does nothing… :D… meaning i get no results.

THis is on both IBM LS20 and HS21 blades and HP BL45 blades…

(imported comment written by brolly3391)

Hello chenbr,

Can you get me a registry export from

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E9

72

-E325-11CE-BFC1-08002bE10318}

for the server(s) in question, so that I can adjust things to accomodate?

Cheers,

Brolly

(imported comment written by chenbr91)

Brolly…

The server below is a LS20 from IBM. The relevance above works on HP blades as they are HP nics and they display as gigbit adaptors in the registry key.

Thanks

LS20 Reg Export of hklm\System\Currentcontrolset\Control\Class{4D36E972-E325-11CE-BFC1-08002be10318

Windows Registry Editor Version 5.00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}

“Class”=“Net”

@=“Network adapters”

“EnumPropPages32”=“NetCfgx.dll,NetPropPageProvider”

“Icon”="-5"

“Installer32”=“NetCfgx.dll,NetClassInstaller”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0000

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0000\Linkage

“Export”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,7b,00,35,00,34,\

00,43,00,37,00,44,00,31,00,34,00,30,00,2d,00,30,00,39,00,45,00,46,00,2d,00,\

31,00,31,00,44,00,31,00,2d,00,42,00,32,00,35,00,41,00,2d,00,46,00,35,00,46,\

00,45,00,36,00,32,00,37,00,45,00,44,00,39,00,35,00,45,00,7d,00,00,00,00,00

“Bind”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,7b,00,35,00,34,\

00,43,00,37,00,44,00,31,00,34,00,30,00,2d,00,30,00,39,00,45,00,46,00,2d,00,\

31,00,31,00,44,00,31,00,2d,00,42,00,32,00,35,00,41,00,2d,00,46,00,35,00,46,\

00,45,00,36,00,32,00,37,00,45,00,44,00,39,00,35,00,45,00,7d,00,00,00,00,00

“UpperBind”=hex(7):54,00,63,00,70,00,69,00,70,00,00,00,00,00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001

“TxPacketDescCnt”=“200”

“RxStdDescCnt”=“200”

“RxCoalescingTicks”=“10”

“TxCoalescingTicks”=“30”

“RxMaxCoalescedFrames”=“5”

“TxMaxCoalescedFrames”=“200”

“Characteristics”=dword:00000084

“BusType”=“5”

“ComponentId”=“pci\ven_14e4&dev_16a8”

“Enable8021p”=“0”

“FlowControlCap”=“2147483648”

“LargeSendOffload”=“1”

“RxMtu”=“1500”

“TaskOffloadCap”=“63”

“InfPath”=“oem2.inf”

“InfSection”=“BCM5704S.XPInst”

“InfSectionExt”=".NTx86"

“ProviderName”=“Broadcom”

“DriverDateData”=hex:00,40,23,71,78,93,c3,01

“DriverDate”=“10-16-2003”

“DriverVersion”=“7.33.0.0”

“MatchingDeviceId”=“pci\ven_14e4&dev_16a8”

“DriverDesc”=“Broadcom NetXtreme Gigabit Fiber”

“NetCfgInstanceId”="{D4DDBF4F-89B8-4476-B02B-7BDF6D0AEDC5}"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Linkage

“RootDevice”=hex(7):7b,00,44,00,34,00,44,00,44,00,42,00,46,00,34,00,46,00,2d,\

00,38,00,39,00,42,00,38,00,2d,00,34,00,34,00,37,00,36,00,2d,00,42,00,30,00,\

32,00,42,00,2d,00,37,00,42,00,44,00,46,00,36,00,44,00,30,00,41,00,45,00,44,\

00,43,00,35,00,7d,00,00,00,00,00

“UpperBind”=hex(7):52,00,61,00,73,00,50,00,70,00,70,00,6f,00,65,00,00,00,4e,00,\

64,00,69,00,73,00,75,00,69,00,6f,00,00,00,4e,00,4d,00,00,00,54,00,63,00,70,\

00,69,00,70,00,00,00,00,00

“Export”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,7b,00,44,00,34,\

00,44,00,44,00,42,00,46,00,34,00,46,00,2d,00,38,00,39,00,42,00,38,00,2d,00,\

34,00,34,00,37,00,36,00,2d,00,42,00,30,00,32,00,42,00,2d,00,37,00,42,00,44,\

00,46,00,36,00,44,00,30,00,41,00,45,00,44,00,43,00,35,00,7d,00,00,00,00,00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi

“Service”=“b57w2k”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Interfaces

“UpperRange”=“ndis5”

“LowerRange”=“ethernet”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\Enable8021p

“ParamDesc”=“802.1p QOS”

“default”=“0”

“type”=“enum”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\Enable8021p\enum

“0”=“Disable”

“1”=“Enable”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\FlowControlCap

“ParamDesc”=“Flow Control”

“default”=“2147483648”

“type”=“enum”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\FlowControlCap\enum

“0”=“Disable”

“1”=“Rx PAUSE”

“2”=“Tx PAUSE”

“3”=“Rx/Tx PAUSE”

“2147483648”=“Auto”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\LargeSendOffload

“ParamDesc”=“Large Send Offload”

“default”=“1”

“type”=“enum”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\LargeSendOffload\enum

“0”=“Disable”

“1”=“Enable”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\NetworkAddress

“ParamDesc”=“Locally Administered Address”

“Default”=""

“type”=“edit”

“LimitText”=“12”

“UpperCase”=“1”

“optional”=“1”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\RxMtu

“ParamDesc”=“Jumbo Mtu”

“default”=“1500”

“type”=“dword”

“min”=“1500”

“max”=“9000”

“step”=“500”

“base”=“10”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\TaskOffloadCap

“ParamDesc”=“Checksum Offload”

“default”=“63”

“type”=“enum”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\TaskOffloadCap\enum

“0”=“None”

“42”=“Rx TCP/IP Checksum”

“21”=“Tx TCP/IP Checksum”

“63”=“Tx/Rx TCP/IP Checksum”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002

“TxPacketDescCnt”=“200”

“RxStdDescCnt”=“200”

“RxCoalescingTicks”=“10”

“TxCoalescingTicks”=“30”

“RxMaxCoalescedFrames”=“5”

“TxMaxCoalescedFrames”=“200”

“Characteristics”=dword:00000084

“BusType”=“5”

“ComponentId”=“pci\ven_14e4&dev_16a8”

“Enable8021p”=“0”

“FlowControlCap”=“2147483648”

“LargeSendOffload”=“1”

“RxMtu”=“1500”

“TaskOffloadCap”=“63”

“InfPath”=“oem2.inf”

“InfSection”=“BCM5704S.XPInst”

“InfSectionExt”=".NTx86"

“ProviderName”=“Broadcom”

“DriverDateData”=hex:00,40,23,71,78,93,c3,01

“DriverDate”=“10-16-2003”

“DriverVersion”=“7.33.0.0”

“MatchingDeviceId”=“pci\ven_14e4&dev_16a8”

“DriverDesc”=“Broadcom NetXtreme Gigabit Fiber”

“NetCfgInstanceId”="{E3FE18C9-7CDD-4ED8-A4F8-948C54C9BA33}"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Linkage

“RootDevice”=hex(7):7b,00,45,00,33,00,46,00,45,00,31,00,38,00,43,00,39,00,2d,\

00,37,00,43,00,44,00,44,00,2d,00,34,00,45,00,44,00,38,00,2d,00,41,00,34,00,\

46,00,38,00,2d,00,39,00,34,00,38,00,43,00,35,00,34,00,43,00,39,00,42,00,41,\

00,33,00,33,00,7d,00,00,00,00,00

“UpperBind”=hex(7):52,00,61,00,73,00,50,00,70,00,70,00,6f,00,65,00,00,00,4e,00,\

64,00,69,00,73,00,75,00,69,00,6f,00,00,00,4e,00,4d,00,00,00,54,00,63,00,70,\

00,69,00,70,00,00,00,00,00

“Export”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,7b,00,45,00,33,\

00,46,00,45,00,31,00,38,00,43,00,39,00,2d,00,37,00,43,00,44,00,44,00,2d,00,\

34,00,45,00,44,00,38,00,2d,00,41,00,34,00,46,00,38,00,2d,00,39,00,34,00,38,\

00,43,00,35,00,34,00,43,00,39,00,42,00,41,00,33,00,33,00,7d,00,00,00,00,00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi

“Service”=“b57w2k”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Interfaces

“UpperRange”=“ndis5”

“LowerRange”=“ethernet”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Params

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Params\Enable8021p

“ParamDesc”=“802.1p QOS”

“default”=“0”

“type”=“enum”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Params\Enable8021p\enum

“0”=“Disable”

“1”=“Enable”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Params\FlowControlCap

“ParamDesc”=“Flow Control”

“default”=“2147483648”

“type”=“enum”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Params\FlowControlCap\enum

“0”=“Disable”

“1”=“Rx PAUSE”

“2”=“Tx PAUSE”

“3”=“Rx/Tx PAUSE”

“2147483648”=“Auto”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Params\LargeSendOffload

“ParamDesc”=“Large Send Offload”

“default”=“1”

“type”=“enum”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Params\LargeSendOffload\enum

“0”=“Disable”

“1”=“Enable”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Params\NetworkAddress

“ParamDesc”=“Locally Administered Address”

“Default”=""

“type”=“edit”

“LimitText”=“12”

“UpperCase”=“1”

“optional”=“1”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Params\RxMtu

“ParamDesc”=“Jumbo Mtu”

“default”=“1500”

“type”=“dword”

“min”=“1500”

“max”=“9000”

“step”=“500”

“base”=“10”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Params\TaskOffloadCap

“ParamDesc”=“Checksum Offload”

“default”=“63”

“type”=“enum”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\Ndi\Params\TaskOffloadCap\enum

“0”=“None”

“42”=“Rx TCP/IP Checksum”

“21”=“Tx TCP/IP Checksum”

“63”=“Tx/Rx TCP/IP Checksum”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0003

“PnPCapabilities”=dword:00000001

“Characteristics”=dword:0000002a

“ComponentId”=“sw{eeab7790-c514-11d1-b42b-00805fc1270e}”

“InfPath”=“netrasa.inf”

“InfSection”=“Ndi-Mp-AsyncMac”

“ProviderName”=“Microsoft”

“DriverDateData”=hex:00,40,2a,7c,dd,68,c2,01

“DriverDate”=“10-1-2002”

“DriverVersion”=“5.2.3790.0”

“MatchingDeviceId”=“sw{eeab7790-c514-11d1-b42b-00805fc1270e}”

“DriverDesc”=“RAS Async Adapter”

“NetCfgInstanceId”="{1C6ABF84-7380-4B60-A142-3BC8728B97A7}"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0003\Linkage

“RootDevice”=hex(7):7b,00,31,00,43,00,36,00,41,00,42,00,46,00,38,00,34,00,2d,\

00,37,00,33,00,38,00,30,00,2d,00,34,00,42,00,36,00,30,00,2d,00,41,00,31,00,\

34,00,32,00,2d,00,33,00,42,00,43,00,38,00,37,00,32,00,38,00,42,00,39,00,37,\

00,41,00,37,00,7d,00,00,00,00,00

“UpperBind”=hex(7):4e,00,64,00,69,00,73,00,57,00,61,00,6e,00,00,00,00,00

“Export”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,7b,00,31,00,43,\

00,36,00,41,00,42,00,46,00,38,00,34,00,2d,00,37,00,33,00,38,00,30,00,2d,00,\

34,00,42,00,36,00,30,00,2d,00,41,00,31,00,34,00,32,00,2d,00,33,00,42,00,43,\

00,38,00,37,00,32,00,38,00,42,00,39,00,37,00,41,00,37,00,7d,00,00,00,00,00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0003\Ndi

“Service”=“AsyncMac”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0003\Ndi\Interfaces

“UpperRange”=“ndiswanasync”

“LowerRange”=“nolower”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0004

“MinWanEndpoints”=dword:00000000

“MaxWanEndpoints”=dword:000003e8

“WanEndpoints”=dword:00000005

“Characteristics”=dword:00000029

“ComponentId”=“ms_l2tpminiport”

“InfPath”=“netrasa.inf”

“InfSection”=“Ndi-Mp-L2tp”

“ProviderName”=“Microsoft”

“DriverDateData”=hex:00,40,2a,7c,dd,68,c2,01

“DriverDate”=“10-1-2002”

“DriverVersion”=“5.2.3790.0”

“MatchingDeviceId”=“ms_l2tpminiport”

“DriverDesc”=“WAN Miniport (L2TP)”

“NetCfgInstanceId”="{9F968B81-2805-48D5-B939-B3EFC05F5CBC}"

“EnableForRas”=dword:00000001

“EnableForRouting”=dword:00000000

“EnableForOutboundRouting”=dword:00000000

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0004\Linkage

“RootDevice”=hex(7):7b,00,39,00,46,00,39,00,36,00,38,00,42,00,38,00,31,00,2d,\

00,32,00,38,00,30,00,35,00,2d,00,34,00,38,00,44,00,35,00,2d,00,42,00,39,00,\

33,00,39,00,2d,00,42,00,33,00,45,00,46,00,43,00,30,00,35,00,46,00,35,00,43,\

00,42,00,43,00,7d,00,00,00,00,00

“UpperBind”=hex(7):4e,00,64,00,69,00,73,00,57,00,61,00,6e,00,00,00,00,00

“Export”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,7b,00,39,00,46,\

00,39,00,36,00,38,00,42,00,38,00,31,00,2d,00,32,00,38,00,30,00,35,00,2d,00,\

34,00,38,00,44,00,35,00,2d,00,42,00,39,00,33,00,39,00,2d,00,42,00,33,00,45,\

00,46,00,43,00,30,00,35,00,46,00,35,00,43,00,42,00,43,00,7d,00,00,00,00,00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0004\Ndi

“Service”=“Rasl2tp”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0004\Ndi\Interfaces

“UpperRange”=“ndiscowan”

“LowerRange”=“nolower”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0005

“MinWanEndpoints”=dword:00000000

“MaxWanEndpoints”=dword:000003e8

“TapiLineName”=“RAS VPN Line”

“InactivityIdleSeconds”=“60”

“TcpPortNumber”=dword:000006bb

“TcpDisconnectTimeout”=dword:0000001e

“TcpConnectTimeout”=dword:0000001e

“ClientIpAddresses”=hex(7):00,00

“ClientIpMasks”=hex(7):00,00

“AuthenticateIncomingCalls”=dword:00000000

“WanEndpoints”=dword:00000005

“Characteristics”=dword:00000029

“ComponentId”=“ms_pptpminiport”

“InfPath”=“netrasa.inf”

“InfSection”=“Ndi-Mp-Pptp”

“ProviderName”=“Microsoft”

“DriverDateData”=hex:00,40,2a,7c,dd,68,c2,01

“DriverDate”=“10-1-2002”

“DriverVersion”=“5.2.3790.0”

“MatchingDeviceId”=“ms_pptpminiport”

“DriverDesc”=“WAN Miniport (PPTP)”

“NetCfgInstanceId”="{077024CF-CC3A-4B0D-8A8D-E4F5E81E8B93}"

“EnableForRas”=dword:00000001

“EnableForRouting”=dword:00000000

“EnableForOutboundRouting”=dword:00000000

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0005\Linkage

“RootDevice”=hex(7):7b,00,30,00,37,00,37,00,30,00,32,00,34,00,43,00,46,00,2d,\

00,43,00,43,00,33,00,41,00,2d,00,34,00,42,00,30,00,44,00,2d,00,38,00,41,00,\

38,00,44,00,2d,00,45,00,34,00,46,00,35,00,45,00,38,00,31,00,45,00,38,00,42,\

00,39,00,33,00,7d,00,00,00,00,00

“UpperBind”=hex(7):4e,00,64,00,69,00,73,00,57,00,61,00,6e,00,00,00,00,00

“Export”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,7b,00,30,00,37,\

00,37,00,30,00,32,00,34,00,43,00,46,00,2d,00,43,00,43,00,33,00,41,00,2d,00,\

34,00,42,00,30,00,44,00,2d,00,38,00,41,00,38,00,44,00,2d,00,45,00,34,00,46,\

00,35,00,45,00,38,00,31,00,45,00,38,00,42,00,39,00,33,00,7d,00,00,00,00,00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0005\Ndi

“Service”=“PptpMiniport”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0005\Ndi\Interfaces

“UpperRange”=“ndiswan”

“LowerRange”=“nolower”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0006

“MinWanEndpoints”=dword:00000000

“MaxWanEndpoints”=dword:000003e8

“TapiLineName”=“RAS PPPOE Line”

“WanEndpoints”=dword:00000001

“Characteristics”=dword:00000029

“ComponentId”=“ms_pppoeminiport”

“InfPath”=“netrasa.inf”

“InfSection”=“Ndi-Mp-Pppoe”

“ProviderName”=“Microsoft”

“DriverDateData”=hex:00,40,2a,7c,dd,68,c2,01

“DriverDate”=“10-1-2002”

“DriverVersion”=“5.2.3790.0”

“MatchingDeviceId”=“ms_pppoeminiport”

“DriverDesc”=“WAN Miniport (PPPOE)”

“NetCfgInstanceId”="{CE44B845-7924-440A-BA43-5A3E257DE509}"

“EnableForRas”=dword:00000001

“EnableForRouting”=dword:00000000

“EnableForOutboundRouting”=dword:00000000

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0006\Linkage

“RootDevice”=hex(7):7b,00,43,00,45,00,34,00,34,00,42,00,38,00,34,00,35,00,2d,\

00,37,00,39,00,32,00,34,00,2d,00,34,00,34,00,30,00,41,00,2d,00,42,00,41,00,\

34,00,33,00,2d,00,35,00,41,00,33,00,45,00,32,00,35,00,37,00,44,00,45,00,35,\

00,30,00,39,00,7d,00,00,00,00,00

“UpperBind”=hex(7):4e,00,64,00,69,00,73,00,57,00,61,00,6e,00,00,00,00,00

“Export”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,7b,00,43,00,45,\

00,34,00,34,00,42,00,38,00,34,00,35,00,2d,00,37,00,39,00,32,00,34,00,2d,00,\

34,00,34,00,30,00,41,00,2d,00,42,00,41,00,34,00,33,00,2d,00,35,00,41,00,33,\

00,45,00,32,00,35,00,37,00,44,00,45,00,35,00,30,00,39,00,7d,00,00,00,00,00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0006\Ndi

“Service”=“RasPppoe”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0006\Ndi\Interfaces

“UpperRange”=“ndiswan”

“LowerRange”=“nolower”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0007

“MinWanEndpoints”=dword:00000000

“MaxWanEndpoints”=dword:00000000

“WanEndpoints”=dword:00000000

“Characteristics”=dword:00000029

“ComponentId”=“ms_ptiminiport”

“InfPath”=“netrasa.inf”

“InfSection”=“Ndi-Mp-Pti”

“ProviderName”=“Microsoft”

“DriverDateData”=hex:00,40,2a,7c,dd,68,c2,01

“DriverDate”=“10-1-2002”

“DriverVersion”=“5.2.3790.0”

“MatchingDeviceId”=“ms_ptiminiport”

“DriverDesc”=“Direct Parallel”

“NetCfgInstanceId”="{6C353F8F-6E60-4993-BAD2-B1A374AF6AAF}"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0007\Linkage

“RootDevice”=hex(7):7b,00,36,00,43,00,33,00,35,00,33,00,46,00,38,00,46,00,2d,\

00,36,00,45,00,36,00,30,00,2d,00,34,00,39,00,39,00,33,00,2d,00,42,00,41,00,\

44,00,32,00,2d,00,42,00,31,00,41,00,33,00,37,00,34,00,41,00,46,00,36,00,41,\

00,41,00,46,00,7d,00,00,00,00,00

“UpperBind”=hex(7):4e,00,64,00,69,00,73,00,57,00,61,00,6e,00,00,00,00,00

“Export”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,7b,00,36,00,43,\

00,33,00,35,00,33,00,46,00,38,00,46,00,2d,00,36,00,45,00,36,00,30,00,2d,00,\

34,00,39,00,39,00,33,00,2d,00,42,00,41,00,44,00,32,00,2d,00,42,00,31,00,41,\

00,33,00,37,00,34,00,41,00,46,00,36,00,41,00,41,00,46,00,7d,00,00,00,00,00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0007\Ndi

“Service”=“Raspti”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0007\Ndi\Interfaces

“UpperRange”=“ndiscowan”

“LowerRange”=“nolower”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0008

“Characteristics”=dword:00000029

“ComponentId”=“ms_ndiswanip”

“InfPath”=“netrasa.inf”

“InfSection”=“Ndi-Mp-Ip”

“ProviderName”=“Microsoft”

“DriverDateData”=hex:00,40,2a,7c,dd,68,c2,01

“DriverDate”=“10-1-2002”

“DriverVersion”=“5.2.3790.0”

“MatchingDeviceId”=“ms_ndiswanip”

“DriverDesc”=“WAN Miniport (IP)”

“NetCfgInstanceId”="{7FA716F8-EB58-4125-8D9A-ADFDF63FCC05}"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0008\Linkage

“RootDevice”=hex(7):4e,00,64,00,69,00,73,00,57,00,61,00,6e,00,49,00,70,00,00,\

00,00,00

“UpperBind”=hex(7):54,00,63,00,70,00,69,00,70,00,00,00,00,00

“Export”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,4e,00,64,00,69,\

00,73,00,57,00,61,00,6e,00,49,00,70,00,00,00,00,00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0008\Ndi

“BindForm”=“NdisWanIp”

“Service”=“NdisWan”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0008\Ndi\Interfaces

“UpperRange”=“ndiswanip”

“LowerRange”=“wan”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0009

“EnumExportPref”=dword:00000000

“Characteristics”=dword:00000029

“ComponentId”=“ms_ndiswanbh”

“InfPath”=“netrasa.inf”

“InfSection”=“Ndi-Mp-Bh”

“ProviderName”=“Microsoft”

“DriverDateData”=hex:00,40,2a,7c,dd,68,c2,01

“DriverDate”=“10-1-2002”

“DriverVersion”=“5.2.3790.0”

“MatchingDeviceId”=“ms_ndiswanbh”

“DriverDesc”=“WAN Miniport (Network Monitor)”

“NetCfgInstanceId”="{536601A6-CE20-40DB-9736-4062A2C13795}"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0009\Linkage

“RootDevice”=hex(7):4e,00,64,00,69,00,73,00,57,00,61,00,6e,00,42,00,68,00,00,\

00,00,00

“UpperBind”=hex(7):4e,00,4d,00,00,00,00,00

“Export”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,4e,00,64,00,69,\

00,73,00,57,00,61,00,6e,00,42,00,68,00,00,00,00,00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0009\Ndi

“BindForm”=“NdisWanBh”

“Service”=“NdisWan”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0009\Ndi\Interfaces

“UpperRange”=“ndiswanbh”

“LowerRange”=“wan”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010

“BusNumber”=“0”

“Characteristics”=dword:00000081

“ComponentId”=“root\afs”

“ClientIpAddress”=“3232237572”

“ClientSubnet”=“4294967288”

“DebugLevel”=“0”

“DhcpAddress”=“3232237570”

“NetworkAddress”=“00-15-5E-BA-C0-01”

“RuntimeFlags”=“65536”

“InfPath”=“oem9.inf”

“InfSection”=“AfsAdapter.ndi”

“ProviderName”=“Morgan Stanley Dean Witter, Inc.”

“DriverDateData”=hex:00,c0,57,0c,40,d4,c5,01

“DriverDate”=“10-19-2005”

“DriverVersion”=“1.8.1.21”

“MatchingDeviceId”=“root\afs”

“DriverDesc”=“Morgan Stanley Virtual Ethernet Adapter”

“NetCfgInstanceId”="{50BEFBCB-2046-4294-BB65-AF94D98B8633}"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Linkage

“RootDevice”=hex(7):7b,00,35,00,30,00,42,00,45,00,46,00,42,00,43,00,42,00,2d,\

00,32,00,30,00,34,00,36,00,2d,00,34,00,32,00,39,00,34,00,2d,00,42,00,42,00,\

36,00,35,00,2d,00,41,00,46,00,39,00,34,00,44,00,39,00,38,00,42,00,38,00,36,\

00,33,00,33,00,7d,00,00,00,00,00

“UpperBind”=hex(7):52,00,61,00,73,00,50,00,70,00,70,00,6f,00,65,00,00,00,4e,00,\

64,00,69,00,73,00,75,00,69,00,6f,00,00,00,4e,00,4d,00,00,00,54,00,63,00,70,\

00,69,00,70,00,00,00,00,00

“Export”=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,7b,00,35,00,30,\

00,42,00,45,00,46,00,42,00,43,00,42,00,2d,00,32,00,30,00,34,00,36,00,2d,00,\

34,00,32,00,39,00,34,00,2d,00,42,00,42,00,36,00,35,00,2d,00,41,00,46,00,39,\

00,34,00,44,00,39,00,38,00,42,00,38,00,36,00,33,00,33,00,7d,00,00,00,00,00

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Ndi

“Service”=“AfsAdapter”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Ndi\Interfaces

“UpperRange”=“ndis5”

“LowerRange”=“nolower”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Ndi\Params

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Ndi\Params\ClientIpAddress

“ParamDesc”=“Adapter client dhcp address allocated”

“Default”=“3232237572”

“Type”=“DWORD”

“Min”=“3232237572”

“Max”=“3232237583”

“Base”=“10”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Ndi\Params\ClientSubnet

“ParamDesc”=“Adapter client dhcp subnet mask”

“Default”=“4294967288”

“Type”=“DWORD”

“Min”=“4294967288”

“Max”=“4294967288”

“Base”=“10”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Ndi\Params\DebugLevel

“ParamDesc”=“Adapter Debug Level Flags, used only when running debug version”

“Default”=“0”

“Type”=“Enum”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Ndi\Params\DebugLevel\enum

“0”=“Error”

“1”=“Warning”

“2”=“Trace”

“3”=“Information”

“4”=“Loud”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Ndi\Params\DhcpAddress

“ParamDesc”=“Adapter masquerade dhcp server address”

“Default”=“3232237570”

“Type”=“DWORD”

“Min”=“3232237570”

“Max”=“3232237583”

“Base”=“10”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Ndi\Params\NetworkAddress

“ParamDesc”=“Adapter Locally administered Address”

“Default”=“00-15-5E-BA-C0-01”

“Type”=“Edit”

“LimitText”=“12”

“UpperCase”=“1”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Ndi\Params\RuntimeFlags

“ParamDesc”=“Adapter Runtime Flags”

“Default”=“65536”

“Type”=“DWORD”

“Min”=“0”

“Max”=“65791”

“Base”=“10”

(imported comment written by brolly3391)

Thanks for that reg dump chenbr.

There is nothing that looks like duplex in there to me except maybe

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\FlowControlCap\enum

“0”=“Disable”

“1”=“Rx PAUSE”

“2”=“Tx PAUSE”

“3”=“Rx/Tx PAUSE”

“2147483648”=“Auto”

or

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi\Params\TaskOffloadCap\enum

“0”=“None”

“42”=“Rx TCP/IP Checksum”

“21”=“Tx TCP/IP Checksum”

“63”=“Tx/Rx TCP/IP Checksum”

When you check the properties of the nics in your blade server, do they have a property for duplex? If they do, what is it named and what are the possible settings for it.

Cheers,

Brolly

(imported comment written by chenbr91)

Brolly…

Unfortunately no, I’ve attached a screentshot to show the properites.

The NIC’s on these blades are not physically attached to each blade but rather on a Blade Switch that is part of the Chassis.

http://www-03.ibm.com/systems/bladecenter/bladeh/features.html

Thanks

Brian

(imported comment written by SystemAdmin)

That’s what I love about this community. I had the need for just this information so I came here first, knowing that someone else had already done it and was willing to share.

This works perfectly for me, thanks Brolly!

Jim

(imported comment written by SystemAdmin)

Thank you so much for the work on this. Works great for our HP and Compaq systems (with exception of the HP blade servers - shows as “none”). On the servers that it works - it will show if running in half duplex. Thanks!

Mike

(imported comment written by rharmer91)

How have you guys been dealing with the “Multiple Results” for machines with multiple NICs?

Thanks,

Rich

(imported comment written by kwdobbin)

How can I use relevance substition in an action to make changes to the network adapter in the results? I would like to set speed/duplex to auto/auto.

(imported comment written by BenKus)

Hi kwdobbin,

You will need to have a commandline tool or application that will allow you to make this change manually and then we can build a Fixlet around it… Do you have such a tool?

Ben

(imported comment written by dzillner91)

Hate to dig up such an old thread, but I’m looking at using this relevance, but I’m getting some inconsistent results.

From everything I looked up on the internet for trying to find this information from systems, it’s a tough one to crack due to the inconsistent key usage and naming between vendors.

The inconsistent results I’m seeing are servers where 3 network adapters are identified by “mac address of adapter of network”, but 4 results are returned for the duplex settings from this relevance. I would appear that at one time, this 4th phantom network card was enabled on the server, but is no longer, but these settings still hold in the registry. Can anyone think of a way to filter out non active nics from the results? I’m not seeing a key/subkey in this registry set that shows whether it’s enabled or disabled, but I hope I’m missing it.

(imported comment written by jpeppers91)

Has anyone developed relevance that will encompass all flavors of Windows and various NIC manufacturers for Link speed and duplex? Windows 7 seems not report properly for the relevance listed in this thread.

(imported comment written by dzillner91)

Try this update I made, it returns properly for active NICS on Win7 for me at least.

(item 0 of it as string & 
" - " & following text of first 
"|" of item 1 of item 2 of it) of (( values 
"DriverDesc" of it , (name of it & 
"|" & it as string) of values (names of keys whose (exists values whose (it as string as lowercase contains 
"half") of keys 
"enum" of it) of keys 
"ndi\params" of it as string) of it, ((name of it,(name of it &
"|"& it as string) of values of keys 
"enum" of it) of keys of it) of keys 
"NDI\Params" of it) of keys whose ((concatenation of string values of selects 
"SettingID from Win32_NetworkAdapterConfiguration where ipenabled = 'true'" of wmi) contains (value 
"NetCfgInstanceId" of it as string)) of key 
"hklm\System\Currentcontrolset\Control\Class\{4D36E972-E325-11CE-BFC1-08002be10318}" of registry) whose (item 1 of it as string contains item 0 of item 2 of it as string AND item 1 of it ends with (preceding text of first 
"|" of (item 1 of item 2 of it))))

Added in a filter based on WMI to only return enabled NIC’s and it has worked out pretty well over results from the previous version posted in this thread.

((concatenation of string values of selects 
"SettingID from Win32_NetworkAdapterConfiguration where ipenabled = 'true'" of wmi)

I never like to bring dead posts back to life but this was something I needed to get today and the code in here is outdated - this works better:

(( values "DriverDesc" of it , (name of it & "|" & it as string) of values (names of keys whose (exists values whose (it as string as lowercase contains "half") of keys "enum" of it) of keys "Ndi\params" of it as string) of it, ((name of it,(name of it &"|"& it as string) of values of keys "enum" of it) of keys of it) of keys "Ndi\params" of it) of keys of key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}" of native registry)

2 Likes