Two-Card Network Card Miniport Driver (NDIS 6) Test (Compact 2013)
3/26/2014
The Two-Card Network Card Miniport Driver test assesses the functionality of a miniport driver on a target device with two network cards.
Test Prerequisites
Your device must meet the following requirements before you run this test.
The following table shows the hardware requirements for the Two-Card Network Card Miniport Driver Test.
Your device must confirm to one of the following configurations:
- Configuration 1: Device can support three network cards: a test card, a support card, and a card for kernel independent transport layer (KITL).
- Configuration 2: Device can support two network cards: a test card and a card for KITL. Two such devices would be needed for the test, each connected to its own Platform Builder instance.
- Configuration 3: Device has only one network card, but KITL is available over USB or other medium. Two such devices would be needed for the test, each connected to its own Platform Builder instance.
If you want to monitor traffic on the test network with network monitoring software, you can install a second network card on the development computer, and then connect the second card to the test network. The second network card on the development computer is not required to run the Two-Card Network Card Miniport Driver test, but can assist in troubleshooting problems that may arise.
Note: VMINI should not be used as a test or support card for this test.
Subtests
This test has no subtests.
Setting Up the Test
Configuration 1
- Boot the device, and then verify that the network cards are operational.
- Connect to the device by using the Windows Embedded Compact Test Kit (CTK).
- Replace the [TestCard] and [SupportCard] parts of the command line with the name of your miniport adapters, as reported by ndisconfig. Running
s ndisconfig -d
from the Platform Builder Windows Embedded Compact command prompt shows you the names of miniport adapters in the system.
The test and support cards should be connected to an isolated network with no other network traffic. The test can run on a network segment with traffic, but is likely to interfere with other network traffic.
Configuration 2 or 3
You can run the two-card test in a scenario that includes two devices. This is done when the test device has only one Ethernet card and more cannot be added.
In such a scenario, each device has one network card for testing. Each device is connected to the same isolated network. Some form of KITL connection must also exist so that you can connect to the Windows Embedded Compact Test Kit (CTK) and give commands via Platform Builder. This KITL connection can either be through a second Ethernet card on each device, or through another medium such as USB.
- Boot the device, and then verify that the network card is operational. (ipconfig)
- Connect to the device by using the Windows Embedded Compact Test Kit (CTK).
- Boot the support device (connected to another Platform Builder instance), and then verify that the network card is operational. (ipconfig)
- On the support device, start ndtserver6. ("s ndtserver6" via Platform Builder)
- Note the IP address of the support device's Ethernet adapter <ip address>
- Modify the test's command line so that instead of
-s [SupportCard]
, you have-s [SupportCard]@<ip address>
.
Example
You have two devices, each with one network card, apart from KITL. You boot up images on both devices via Platform Builder. The test device has an e100bex card that comes up as PCI\E100BEX1.
Let the support device have an RTL8139 card that comes up as PCI\RTL81391. Let the IP address of this card be 169.254.47.27 when connected to the isolated hub that the e100bex is connected to.
First, you would start ndtserver6 on the support device via its Platform Builder connection: s ndtserver6.
Once the server starts, your command line on the test device would be
-o -d \release\ndt_2c6.dll -c"-t PCI\E100BEX1 -s PCI\RTL81391@169.254.47.27 -nounbind"
Running the Test
To run this test:
- Select this test from the System.Xml.XmlElement category in the Tree or List View in Windows Embedded Compact Test Kit (CTK).
- Right-click the test, and then click "Run Test".
Sample:tux -o -d \release\ndt_2c6.dll -c"-t PCI\E100BEX1 -s PCI\RTL81391@169.254.47.27 -nounbind"
Verifying the Test
All tests should pass.
Troubleshooting the Test
The following list shows test failures and what they mean for your miniport driver.
- Test 1: Your miniport is having trouble sending packets, even in non-stress conditions.
- Test 2: Your miniport is having trouble receiving packets, even in non-stress conditions.
- Test 3: Your miniport is not setting up receive filters correctly. Check your OID_GEN_CURRENT_PACKET_FILTER handlers in the miniport code.
- Test 4: Your miniport is having trouble handling multicast addresses. Check your OID_802_3_MULTICAST_LIST, OID_802_3_MAXIMUM_LIST_SIZE handlers in your miniport code.
- Test 5 and 6: Your miniport is having trouble handling simultaneous send and receive of many packets.