Detecting Network Adapter Speed and Duplex Settings - Network

This is a discussion on Detecting Network Adapter Speed and Duplex Settings - Network ; Does anyone know of any tools or API calls that can be run on Windows 2000 and XP to display the current network adapter's speed and duplex setting?...

+ Reply to Thread
Results 1 to 5 of 5

Thread: Detecting Network Adapter Speed and Duplex Settings

  1. Detecting Network Adapter Speed and Duplex Settings

    Does anyone know of any tools or API calls that can be run on Windows 2000
    and XP to display the current network adapter's speed and duplex setting?




  2. Re: Detecting Network Adapter Speed and Duplex Settings

    "Pinky" wrote in
    news:42ab4494$0$22584$da0feed9@news.zen.co.uk:

    > Does anyone know of any tools or API calls that can be run on Windows
    > 2000 and XP to display the current network adapter's speed and duplex
    > setting?
    >
    >
    >
    >


    You can find this from the card properties in the configuration applet,
    and also in the registry. See the attached link for information on
    finding the appropriatre reg key for your system

    http://leph.net/b2/

    auditing speed and duplex settings in Windows 2000
    If you've ever tried to audit the speed and duplex settings of NICs in a
    windows environment, I'll bet you've been frustrated by the fact that you
    can't seem to find the answer to this anywhere in the registry or WMI,
    etc. etc. Yet you know it has to be recorded somewhere because the little
    icon at the bottom right of you screen displays it just fine!

    Part of the difficulty of determining this information is that there
    seems to be no one consistent way to present this information - it all
    depends on the driver of the NIC that your system happens to be using.
    So, if you have several systems using the same driver, then this approach
    should work well for you. If you've got a large mishmash of NICs in your
    environment, it will still work, you'll just have a little more work to
    do.

    So, here's what you do to find out what the Speed and Duplex settings are
    for your NIC (based on my experience, at least)
    - Open Network and Dial-up Connections and right-click and go to the
    properties of the target NIC (also note what appears in the 'device
    name' field for that NIC)
    - Click on configure on the General Tab
    - Go to the driver tab
    - click on driver details. Note the driver file name (i.e. q57w2k.sys)
    - Now, do a file search on the OS drive for .inf files, and look for one
    with the same name as the driver file. The idea is that you're trying to
    find the .inf file associated with the driver that is used to control
    your NIC - this file will contain a 'map' of the different registry
    settings controlling things like duplex and line speed and also shows
    where they're located in the registry for that particular driver.
    - once the .inf file is found, open that file in Notepad.
    - Look for the ClassGUID 'variable' in the top section of the file. This
    is what all of the NIC settings will be stored under in the registry.
    - Now go to HKLM\System\CurrentControlSet\Control\Class\ClassG UID - where
    ClassGUID is the value found a few steps earlier.
    - Here you'll find an index for each of the different NICs installed on
    your system. Go through each looking at the DriverDesc key until you find
    the one that matches the 'device name' field from Network and DialUp
    Connections.
    - Now you've found where everything is located, the next step is figuring
    out what key lists the speed and duplex setting. This information will be
    contained within the .inf file, probably towards the bottom. Rather than
    explaining how to read the .inf file, I'd suggest saving the registry key
    you're in to a text file, then making a change to the speed and duplex of
    the NIC, and then saving the registry key again. Then use a diff utility
    to discover what changed in the registry settings. Then you'll have the
    actual key name used and then you can do a find in the .inf file for that
    key name and it will lead you to a section that (hopefully) tells you
    what all of the possible values are and what they mean.
    - in my case, the key I was interested in was HKLM\System
    \CurrentControlSet\Control\Class\longString..\0001 \RequestedMediaType.
    And the possible values were contained in a subkey of 0001 called Ndi
    \Params\RequestedMediaType\Enum (also found in the .inf file).

    Now that you know where the correct key is for this type of NIC, you can
    do some scripting to query the value of several computers in your
    network. If they're all in the same slot, then it's easier and you can
    simply do a reg /query against each remote machine and out it to a file.

    Have fun!
    articles/posts used to figure this out:
    http://www.windowsitlibrary.com/Cont...3/3.html?Ad=1&

    http://groups.msn.com/windowsscript/general.msnw?
    action=get_message&mview=0&ID_Message=12348&LastModified=
    4675518832909655626

    Leave a comment Trackback (0)

  3. Re: Detecting Network Adapter Speed and Duplex Settings

    Thanks for this but this information is not really what I was after. What I
    need to know is, is there a way of finding out what the actual speed and
    duplex settings are. For instance, if we have our network cards set for
    'Auto-Detect' and the switches are also set for 'Auto-Detect' then I need to
    determine what the actual negotiated speed and duplex settings are.

    Thanks
    Pinky

    "Secret Squirrel" wrote in message
    news:Xns9674A6ACDA65Esecretsquirrel69yaho@216.196. 97.131...
    > "Pinky" wrote in
    > news:42ab4494$0$22584$da0feed9@news.zen.co.uk:
    >
    >> Does anyone know of any tools or API calls that can be run on Windows
    >> 2000 and XP to display the current network adapter's speed and duplex
    >> setting?
    >>
    >>
    >>
    >>

    >
    > You can find this from the card properties in the configuration applet,
    > and also in the registry. See the attached link for information on
    > finding the appropriatre reg key for your system
    >
    > http://leph.net/b2/
    >
    > auditing speed and duplex settings in Windows 2000
    > If you've ever tried to audit the speed and duplex settings of NICs in a
    > windows environment, I'll bet you've been frustrated by the fact that you
    > can't seem to find the answer to this anywhere in the registry or WMI,
    > etc. etc. Yet you know it has to be recorded somewhere because the little
    > icon at the bottom right of you screen displays it just fine!
    >
    > Part of the difficulty of determining this information is that there
    > seems to be no one consistent way to present this information - it all
    > depends on the driver of the NIC that your system happens to be using.
    > So, if you have several systems using the same driver, then this approach
    > should work well for you. If you've got a large mishmash of NICs in your
    > environment, it will still work, you'll just have a little more work to
    > do.
    >
    > So, here's what you do to find out what the Speed and Duplex settings are
    > for your NIC (based on my experience, at least)
    > - Open Network and Dial-up Connections and right-click and go to the
    > properties of the target NIC (also note what appears in the 'device
    > name' field for that NIC)
    > - Click on configure on the General Tab
    > - Go to the driver tab
    > - click on driver details. Note the driver file name (i.e. q57w2k.sys)
    > - Now, do a file search on the OS drive for .inf files, and look for one
    > with the same name as the driver file. The idea is that you're trying to
    > find the .inf file associated with the driver that is used to control
    > your NIC - this file will contain a 'map' of the different registry
    > settings controlling things like duplex and line speed and also shows
    > where they're located in the registry for that particular driver.
    > - once the .inf file is found, open that file in Notepad.
    > - Look for the ClassGUID 'variable' in the top section of the file. This
    > is what all of the NIC settings will be stored under in the registry.
    > - Now go to HKLM\System\CurrentControlSet\Control\Class\ClassG UID - where
    > ClassGUID is the value found a few steps earlier.
    > - Here you'll find an index for each of the different NICs installed on
    > your system. Go through each looking at the DriverDesc key until you find
    > the one that matches the 'device name' field from Network and DialUp
    > Connections.
    > - Now you've found where everything is located, the next step is figuring
    > out what key lists the speed and duplex setting. This information will be
    > contained within the .inf file, probably towards the bottom. Rather than
    > explaining how to read the .inf file, I'd suggest saving the registry key
    > you're in to a text file, then making a change to the speed and duplex of
    > the NIC, and then saving the registry key again. Then use a diff utility
    > to discover what changed in the registry settings. Then you'll have the
    > actual key name used and then you can do a find in the .inf file for that
    > key name and it will lead you to a section that (hopefully) tells you
    > what all of the possible values are and what they mean.
    > - in my case, the key I was interested in was HKLM\System
    > \CurrentControlSet\Control\Class\longString..\0001 \RequestedMediaType.
    > And the possible values were contained in a subkey of 0001 called Ndi
    > \Params\RequestedMediaType\Enum (also found in the .inf file).
    >
    > Now that you know where the correct key is for this type of NIC, you can
    > do some scripting to query the value of several computers in your
    > network. If they're all in the same slot, then it's easier and you can
    > simply do a reg /query against each remote machine and out it to a file.
    >
    > Have fun!
    > articles/posts used to figure this out:
    > http://www.windowsitlibrary.com/Cont...3/3.html?Ad=1&
    >
    > http://groups.msn.com/windowsscript/general.msnw?
    > action=get_message&mview=0&ID_Message=12348&LastModified=
    > 4675518832909655626
    >
    > Leave a comment . Trackback (0)




  4. Re: Detecting Network Adapter Speed and Duplex Settings

    "Pinky" wrote in
    news:42adf70d$0$2605$da0feed9@news.zen.co.uk:

    > Thanks for this but this information is not really what I was after.
    > What I need to know is, is there a way of finding out what the actual
    > speed and duplex settings are. For instance, if we have our network
    > cards set for 'Auto-Detect' and the switches are also set for
    > 'Auto-Detect' then I need to determine what the actual negotiated
    > speed and duplex settings are.
    >
    > Thanks
    > Pinky
    >
    > "Secret Squirrel" wrote in message
    > news:Xns9674A6ACDA65Esecretsquirrel69yaho@216.196. 97.131...
    >> "Pinky" wrote in
    >> news:42ab4494$0$22584$da0feed9@news.zen.co.uk:
    >>
    >>> Does anyone know of any tools or API calls that can be run on
    >>> Windows 2000 and XP to display the current network adapter's speed
    >>> and duplex setting?
    >>>
    >>>
    >>>
    >>>

    >>
    >> You can find this from the card properties in the configuration
    >> applet, and also in the registry. See the attached link for
    >> information on finding the appropriatre reg key for your system
    >>
    >> http://leph.net/b2/
    >>
    >> auditing speed and duplex settings in Windows 2000
    >> If you've ever tried to audit the speed and duplex settings of NICs
    >> in a windows environment, I'll bet you've been frustrated by the fact
    >> that you can't seem to find the answer to this anywhere in the
    >> registry or WMI, etc. etc. Yet you know it has to be recorded
    >> somewhere because the little icon at the bottom right of you screen
    >> displays it just fine!
    >>
    >> Part of the difficulty of determining this information is that there
    >> seems to be no one consistent way to present this information - it
    >> all depends on the driver of the NIC that your system happens to be
    >> using. So, if you have several systems using the same driver, then
    >> this approach should work well for you. If you've got a large
    >> mishmash of NICs in your environment, it will still work, you'll just
    >> have a little more work to do.
    >>
    >> So, here's what you do to find out what the Speed and Duplex settings
    >> are for your NIC (based on my experience, at least)
    >> - Open Network and Dial-up Connections and right-click and go to the
    >> properties of the target NIC (also note what appears in the 'device
    >> name' field for that NIC)
    >> - Click on configure on the General Tab
    >> - Go to the driver tab
    >> - click on driver details. Note the driver file name (i.e.
    >> q57w2k.sys) - Now, do a file search on the OS drive for .inf files,
    >> and look for one with the same name as the driver file. The idea is
    >> that you're trying to find the .inf file associated with the driver
    >> that is used to control your NIC - this file will contain a 'map' of
    >> the different registry settings controlling things like duplex and
    >> line speed and also shows where they're located in the registry for
    >> that particular driver. - once the .inf file is found, open that file
    >> in Notepad. - Look for the ClassGUID 'variable' in the top section of
    >> the file. This is what all of the NIC settings will be stored under
    >> in the registry. - Now go to
    >> HKLM\System\CurrentControlSet\Control\Class\ClassG UID - where
    >> ClassGUID is the value found a few steps earlier. - Here you'll find
    >> an index for each of the different NICs installed on your system. Go
    >> through each looking at the DriverDesc key until you find the one
    >> that matches the 'device name' field from Network and DialUp
    >> Connections. - Now you've found where everything is located, the next
    >> step is figuring out what key lists the speed and duplex setting.
    >> This information will be contained within the .inf file, probably
    >> towards the bottom. Rather than explaining how to read the .inf file,
    >> I'd suggest saving the registry key you're in to a text file, then
    >> making a change to the speed and duplex of the NIC, and then saving
    >> the registry key again. Then use a diff utility to discover what
    >> changed in the registry settings. Then you'll have the actual key
    >> name used and then you can do a find in the .inf file for that key
    >> name and it will lead you to a section that (hopefully) tells you
    >> what all of the possible values are and what they mean.
    >> - in my case, the key I was interested in was HKLM\System
    >> \CurrentControlSet\Control\Class\longString..\0001 \RequestedMediaType.
    >> And the possible values were contained in a subkey of 0001 called Ndi
    >> \Params\RequestedMediaType\Enum (also found in the .inf file).
    >>
    >> Now that you know where the correct key is for this type of NIC, you
    >> can do some scripting to query the value of several computers in your
    >> network. If they're all in the same slot, then it's easier and you
    >> can simply do a reg /query against each remote machine and out it to
    >> a file.
    >>
    >> Have fun!
    >> articles/posts used to figure this out:
    >> http://www.windowsitlibrary.com/Cont...3/3.html?Ad=1&
    >>
    >> http://groups.msn.com/windowsscript/general.msnw?
    >> action=get_message&mview=0&ID_Message=12348&LastModified=
    >> 4675518832909655626
    >>
    >> Leave a comment . Trackback (0)

    >
    >
    >


    I'd say in that case, that logging onto the switch is the easiest thing.
    Depending on your enviromnent you may be able to use an automated tool,
    like ciscoworks if you have it, otherwise you may just have to login to
    the switch. Alternatively, the best thing to do regardless is not use
    Autonegotiate, just fix the speed and duplex, and you'll be certain what
    you have.

  5. Re: Detecting Network Adapter Speed and Duplex Settings

    Our network team are saying that auto-negotiate is failing (after 3 years of
    using it), workstations are running slow and that the solution is to fix the
    cards at 100/Full thus I wanted to be able to determine what speed and
    duplex the network card actually negotiated.

    Fixing the network at 100/Full will cause problems for Laptop user
    especially out of the office and also complicate future initiatives such as
    using PXE..

    In a nut shell, I need to determine whether the problem lies with cabling,
    adapter configuration, switch configuration, drivers or the actual network
    adapter.

    I suspect that this will be a mixture of all the above. For instance the
    network team stated that this problem is affecting about 10% of users, after
    a scan of the switch ports for errors this rose to 20%. I requested a list
    of the top 10 problematic machines, I received a list of 16 of which 5 of
    them (30%) had their ports configured to 100/Full and the workstation
    network adapters set to auto-negotiate.

    Thanks for your help, the fight goes on...

    "Secret Squirrel" wrote in message
    news:Xns9675AB1DFAE8Dsecretsquirrel69yaho@216.196. 97.131...
    > "Pinky" wrote in
    > news:42adf70d$0$2605$da0feed9@news.zen.co.uk:
    >
    >> Thanks for this but this information is not really what I was after.
    >> What I need to know is, is there a way of finding out what the actual
    >> speed and duplex settings are. For instance, if we have our network
    >> cards set for 'Auto-Detect' and the switches are also set for
    >> 'Auto-Detect' then I need to determine what the actual negotiated
    >> speed and duplex settings are.
    >>
    >> Thanks
    >> Pinky
    >>
    >> "Secret Squirrel" wrote in message
    >> news:Xns9674A6ACDA65Esecretsquirrel69yaho@216.196. 97.131...
    >>> "Pinky" wrote in
    >>> news:42ab4494$0$22584$da0feed9@news.zen.co.uk:
    >>>
    >>>> Does anyone know of any tools or API calls that can be run on
    >>>> Windows 2000 and XP to display the current network adapter's speed
    >>>> and duplex setting?
    >>>>
    >>>>
    >>>>
    >>>>
    >>>
    >>> You can find this from the card properties in the configuration
    >>> applet, and also in the registry. See the attached link for
    >>> information on finding the appropriatre reg key for your system
    >>>
    >>> http://leph.net/b2/
    >>>
    >>> auditing speed and duplex settings in Windows 2000
    >>> If you've ever tried to audit the speed and duplex settings of NICs
    >>> in a windows environment, I'll bet you've been frustrated by the fact
    >>> that you can't seem to find the answer to this anywhere in the
    >>> registry or WMI, etc. etc. Yet you know it has to be recorded
    >>> somewhere because the little icon at the bottom right of you screen
    >>> displays it just fine!
    >>>
    >>> Part of the difficulty of determining this information is that there
    >>> seems to be no one consistent way to present this information - it
    >>> all depends on the driver of the NIC that your system happens to be
    >>> using. So, if you have several systems using the same driver, then
    >>> this approach should work well for you. If you've got a large
    >>> mishmash of NICs in your environment, it will still work, you'll just
    >>> have a little more work to do.
    >>>
    >>> So, here's what you do to find out what the Speed and Duplex settings
    >>> are for your NIC (based on my experience, at least)
    >>> - Open Network and Dial-up Connections and right-click and go to the
    >>> properties of the target NIC (also note what appears in the 'device
    >>> name' field for that NIC)
    >>> - Click on configure on the General Tab
    >>> - Go to the driver tab
    >>> - click on driver details. Note the driver file name (i.e.
    >>> q57w2k.sys) - Now, do a file search on the OS drive for .inf files,
    >>> and look for one with the same name as the driver file. The idea is
    >>> that you're trying to find the .inf file associated with the driver
    >>> that is used to control your NIC - this file will contain a 'map' of
    >>> the different registry settings controlling things like duplex and
    >>> line speed and also shows where they're located in the registry for
    >>> that particular driver. - once the .inf file is found, open that file
    >>> in Notepad. - Look for the ClassGUID 'variable' in the top section of
    >>> the file. This is what all of the NIC settings will be stored under
    >>> in the registry. - Now go to
    >>> HKLM\System\CurrentControlSet\Control\Class\ClassG UID - where
    >>> ClassGUID is the value found a few steps earlier. - Here you'll find
    >>> an index for each of the different NICs installed on your system. Go
    >>> through each looking at the DriverDesc key until you find the one
    >>> that matches the 'device name' field from Network and DialUp
    >>> Connections. - Now you've found where everything is located, the next
    >>> step is figuring out what key lists the speed and duplex setting.
    >>> This information will be contained within the .inf file, probably
    >>> towards the bottom. Rather than explaining how to read the .inf file,
    >>> I'd suggest saving the registry key you're in to a text file, then
    >>> making a change to the speed and duplex of the NIC, and then saving
    >>> the registry key again. Then use a diff utility to discover what
    >>> changed in the registry settings. Then you'll have the actual key
    >>> name used and then you can do a find in the .inf file for that key
    >>> name and it will lead you to a section that (hopefully) tells you
    >>> what all of the possible values are and what they mean.
    >>> - in my case, the key I was interested in was HKLM\System
    >>> \CurrentControlSet\Control\Class\longString..\0001 \RequestedMediaType.
    >>> And the possible values were contained in a subkey of 0001 called Ndi
    >>> \Params\RequestedMediaType\Enum (also found in the .inf file).
    >>>
    >>> Now that you know where the correct key is for this type of NIC, you
    >>> can do some scripting to query the value of several computers in your
    >>> network. If they're all in the same slot, then it's easier and you
    >>> can simply do a reg /query against each remote machine and out it to
    >>> a file.
    >>>
    >>> Have fun!
    >>> articles/posts used to figure this out:
    >>> http://www.windowsitlibrary.com/Cont...3/3.html?Ad=1&
    >>>
    >>> http://groups.msn.com/windowsscript/general.msnw?
    >>> action=get_message&mview=0&ID_Message=12348&LastModified=
    >>> 4675518832909655626
    >>>
    >>> Leave a comment . Trackback (0)

    >>
    >>
    >>

    >
    > I'd say in that case, that logging onto the switch is the easiest thing.
    > Depending on your enviromnent you may be able to use an automated tool,
    > like ciscoworks if you have it, otherwise you may just have to login to
    > the switch. Alternatively, the best thing to do regardless is not use
    > Autonegotiate, just fix the speed and duplex, and you'll be certain what
    > you have.




+ Reply to Thread