Network Card Speed and Duplex

  • Thread starter Thread starter Matt Brandes
  • Start date Start date
M

Matt Brandes

Can anybody tell me how to tell what speed and duplex a machine is currently
running at.
It is very easy to find on a switch, however it is incredibly difficult if
not impossible on the PC.

For instance 100Half vs. 100Full vs. 10Half vs. 10Full

I'll take anything utilities, reading material, Log files, Windows API's....

Thanks in Advance
 
If your NIC comes with a monitoring utility then these will usually tell
you.

Or alternatively, you can force the connection speed/duplex - that way you
know exactly what it's set to.
 
That's very easy if you see the registry :)
On my machine 0008 - mean one of few NICs ( first ) so :
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0008\Ndi\params\SpeedDuplex
show 0
and enum subkey show all options
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0008\Ndi\params\SpeedDuplex\enum
HTH
Arkady
 
Unfortunately these settings are vendor specific, no standard API
exists to get or set duplex.
If your netcards are from major brand (3com, Intel) contact their support.
Link speed (10, 100, 1000...) is standard parameter, can be obtained from WMI
( MSNdis_LinkSpeed )

--PA
 
Pavel A. said:
Unfortunately these settings are vendor specific, no standard API
exists to get or set duplex.

Setting duplex may be difficult (haven't tried it), but getting it is standarised
via the OID_GEN_MAC_OPTIONS oid. From NtddNdis.h:

#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002
#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004
#define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008
#define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010 // < !!

And the speed is obtained from OID_GEN_LINK_SPEED.

--gv
 
Back
Top