Diagnostics

Diagnostic Classes

IANet_DiagTest

Purpose
IANet_DiagTest is subclassed from CIM_DiagnosticTest. The class provides a generic vehicle to run and control diagnostic tests for an Intel® PROSet supported Ethernet adapter. The superclass, CIM_DiagnosticTest, is designed to generically support the testing of any computer hardware on a CIM enabled system. Properties of the class are descriptive in nature and the mechanics of the testing are provided by the exposed methods.

Instances
Key is Name and in this provider it is the concatenation of a numeric index of the test at the GUID of the referenced adapter (e.g. 1@{12345678-9ABC-DEF0-1234-123456789012}). This key value is, in one sense, redundant information, as all information to reference an adapter and test is passed as object parameters to the RunTest and other methods. Still, the instance must be consistent with parameters to the method or the provider will reject the command. The caption property provides the name of the test that this instance will run. Other properties provide other description and run-time information.

Creating Instances
You cannot create instances of IANet_DiagTest.

Deleting Instances
You cannot delete instances of IANet_DiagTest.

Modifying Properties
There are no user-modifiable properties for this class.

Associations

Unsupported Properties
Install Date, OtherCharacteristicDescription

Methods
This class supports the following methods:

Class Hierarchy

For CimV2. Unused properties and methods not shown.

Executing RunTest, and Other Methods in WbemTest

The RunTest method from the MOF file is as follows:

uint32
RunTest([IN] CIM_ManagedSystemElement ref SystemElement,
[IN] CIM_DiagnosticSetting ref Setting,
[OUT] CIM_DiagnosticResult ref Result);

The first two parameters are In parameters. You must get the object path of both objects referenced. You must also get the object path of the IANet_DiagTest object, which is exporting the RunTest object.

  1. From the main WBEM test dialog box, click Connect.
  2. Enter the appropriate Server\Namespace. Namespaces IntelNCS and CimV2 are supported.
  3. Click the Enum Instances button of WBEM test and enter IANet_DiagTest.
  4. Double-click the instance of IANet_DiagTest. The name will be in the form X@[AdapterGUID}, where X is the test name and AdapterGUID will be the Adapter Name, same as the Name key of the IANet_EthernetAdapter.
  5. The following is an example of the object path retrieved:
    \\MYCOMPUTER\root\Cimv2:IANet_DiagTest.Name="1@{4A0CDABE-F6C3-45D0-B60D-F6E7BAFA2C2C}"
  6. Save the object path.
  7. Click the Enum Instances button of WBEM test and enter IANet_EthernetAdapter.
  8. Double-click on the adapter to be tested.
  9. The following is an example of the object path retrieved:
    \\MYCOMPUTER\root\cimv2:IANet_EthernetAdapter.DeviceID="{4A0CDABE-F6C3-45D0-B60D-F6E7BAFA2C2C}"
  10. Save the object path.
  11. Click the Enum Instances button of WBEM test and enter IANet_DiagSetting.
  12. Double-click on the setting that represents the adapter/test combination.
  13. The following is an example of the object path retrieved:
    \\MYCOMPUTER\root\cimv2:IANet_DiagSetting.SettingID="1@{4A0CDABE-F6C3-45D0-B60D-F6E7BAFA2C2C}"
  14. Save the object path.
  15. From the main WBEM test dialog box, click Execute Method.
  16. Paste the IANet_DiagTest object path into the dialog box. Click OK.
  17. Select the test in the drop-down box under method.
  18. Click the Edit In Parameters button.
  19. For RunTest, Setting and SystemElement are the In parameters. Paste the previously saved Setting and Adapter object paths and close.
  20. Click the Execute button.
  21. Enumerate the IANet_DiagResult class, in the same manner as the In parameters.
  22. Examine the selected result object as needed.

IANet_DiagSetting

Purpose
Instances of IANet_DiagSetting provide specific run-time diagnostic test directives. Directives used are common to all tests and are bound to the superclass CIM_DiagnosticSetting. These include properties, such as ReportSoftErrors and HaltOnError. There are no additional properties added to the subclass IANet_DiagSetting.

Creating Instances
You cannot create instances of this class.

Deleting Instances
You cannot delete instances of this class.

Modifying Properties
UpdateInstanceAsync is implemented and can be used to set test parameters to "Halt On Error", "Report Soft Errors", "Report Status Messages", "Quick Mode", "Test Warning Level" and "Percent Of Test Coverage".

Associations
An instance of IANetDiagSettingForTest associates an IANet_DiagTest with an IANet_DiagSetting.

Unsupported Properties
The following properties are not supported by NCS:

Methods
None

Class Hierarchy

For CimV2. Unused properties and methods not shown.

IANet_DiagResult

Purpose
Instances of IANet_DiagResult display result data for a particular test run on a particular adapter. Instances of this class correspond identically to instances of IANet_DiagTest and IANet_DiagSetting.

Instances
Instances of IANet_DiagResult correspond to results of a particular test run on a specific adapter. The format for the key is the same as IANet_DiagTest and IANet_DiagSetting. The instance can store any arbitrary test results as any data, which does not fit the defined properties, can be placed into the TestResults Array property. Any time a new test is run on an adapter, the new instance overwrites the existing instance of test results corresponding to that adapter and test combination.

Creating Instances
You cannot create instances of this class.

Deleting Instances
You cannot delete instances of this class.

Modifying Properties
You cannot modify instances of this class.

Associations
An instance of IANet_DiagResultForTest associates an IANet_DiagTest with an IANet_DiagnosticResult instance.

Unsupported Properties
The following properties are not supported by NCS:

Methods
None

Class Hierarchy

For CimV2. Unused properties and methods not shown.

Registry Entries

The following entries are entered into the registry during installation under HKLM\Software\Intel\NETWORK_SERVICES\NCS\NcsDiag. These keys and values control the execution of the diagnostic tests and are defined below.

The following table contains the values in the key, their type, and a brief explanation of their usage:

Value

Type

Default

Usage

Check Time

REG_DWORD

2 seconds

Duration of time period between checks for completion of sender or responder test

Enable

REG_DWORD

0

Enable (1) or Disable (0) usage of a results log file.

FileAppend

REG_DWORD

1

Append (1) log results file to existing log results file. If 0, delete existing file.

LogFileName

REG_SZ

NcsDiag.log

The name of the log results file.

MaxFileSize

REG_DWORD

0x10000

Maximum size of the log results file.

MaxPktsRcvd

REG_DWORD

200

In Quick Mode (from IANet_DiagSetting), send/receive test will terminate when the number of packets received is greater than this value.

TimeoutSndRsp

REG_DWORD

100

Test is exited when duration of test (in seconds) has exceeded this value.

Logging

Results Log

The Results log primarily shows information, which could also be obtained from IANet_DiagResult objects. The difference is that information obtained from a CIM browser will only show the immediate last results of particular tests on a particular adapter. Subsequent tests overwrite earlier test results. The Results log is more convenient for setting up and viewing multiple runs of such a test.

Enabling the Results Log

To enable the results log:

  1. In the registry key HKLM\Software\Intel\NETWORK_SERVICES\NCS\NCSDiag, set the value Enable to 1.
  2. Set the value LogFileName to the preferred log filename or leave at default NcsDiag.log.
  3. The log file will be found in the directory indicated by the value InstalledDir.

Associative Classes

Associative Class

Reference Property/Value

Reference Property/Value

IANet_DiagTestForMSE

Antecedent = IANet_DiagTest

Dependent = IANet_EthernetAdapter

IANet_DiagResultForTest

DiagnosticResult = IANet_DiagResult

DiagnosticTest = IANet_DiagTest

IANet_DiagSettingForTest

Element = IANet_DiagTest

Setting = IANet_DiagSetting

IANet_DiagResultForTest

DiagnosticResult = IANetDiagResult

DiagnosticTest = IANet_DiagTest

Tests

The implemented tests can run on a single machine or on two machines. Detailed descriptions of the tests are beyond the scope of this document because the CDM Provider is intended to be a generic test vehicle, which is not dependent on the particulars of the tests. However, there is some dependency built into the code and that is explained in this section.

Single Adapter Tests

The following tests are run on a single adapter and need no interaction with any other adapter:

All error messages from these tests result from HRESULT error codes returned from calls to lower stack layers. The error codes are stored internally as error codes and are not translated into error messages until the IANet_DiagResult objects are de-referenced by enumeration or object calls are received from a management application.

Tests Requiring Two Adapters

The sender and responder tests are codependent tests in which one adapter (the sender) sends packets to another adapter (the responder), which sends packets back to the sender, thus completing the loop. These are the same tests, which can be run from Intel® PROSet. However, Intel® PROSet does not use CDM and does not allow you to run two tests on the same machine at the same time. CDM will allow different tests to be run concurrently on the same machine.

Sender/Responder Tests

Sender/Responder requires two Intel adapters, one to be the sender and one to be the responder. This test is the only one in which the test is run based on a second thread that continues running until the test completes according to completion criteria or is stopped by the primary thread. The completion criteria are timeouts based either on the length of the testing time or number of packets received. Both of these values are obtained from the registry. The test may only be ended based on the number of packets received if Quick mode has been enabled. Quick Mode is a property of the IANet_DiagSetting class and hence may be set on a per adapter basis. CDM responders will respond to PROSet responders and vice versa.

Two types of error values are returned from the sender/responder tests. First, an Error Code (HRESULT) may be returned from the lower layers. Secondly, while the test is running and, unless the test is terminated prematurely by returned error code, the test thread will return intermediate and then final test statistics, which will include the following:

Home


Copyright© 2002 Intel Corporation. Legal Information