------------------------------------------------------- Microsoft NDIS Test Readme File Windows Hardware Quality Labs http://www.microsoft.com/hwtest (c) Microsoft Corporation, 2000. All rights reserved. ------------------------------------------------------- Use this document with the NDIS Test when pretesting network drivers. This NDIS Test should not be used for HCT Kit submissions. For submissions, you should use the current version of the NDIS Tester built into the latest version of the HCT and other Network Tests kits. ------------------------------------------------------- TABLE OF CONTENTS ------------------------------------------------------- I. Ndt 3.91.exe (NDIS version 3.91) General Description II. Fixed and Changes for Ndt 3.91.exe III. Ndt390.exe (NDIS version 3.90) General Description IV. Fixes and Changes for Ndt390.exe and Ndt390_64.exe (NDIS version 3.90) V. NDISbeta.exe (version 3.86) General Description VI. Fixes and Changes for NDISbeta.exe Version 3.86 VII. Known Issues with NDISbeta.exe Version 3.86 VIII. NDTST377.exe General Description IX. NDWin95.exe General Description X. NDT386_64.exe General Description ------------------------------------------------------- I. Ndt 391.exe (NDIS version 3.91) General Description: NDdt391.exe (NDIS version 3.91) General Description: File Ndt391.exe File Ndt391_64.exe The new NDIS Test Version 3.91 Beta Release consist of two executable files, the Ndt391.exe is for 32-bit components and the Ndt391_64.exe is for 64-bit components. Use the NDIS 3.91 for 32-bit components on: * Windows 98 SE * Windows Millennium Edition * Windows 2000 * Windows Whistler Use the NDIS 3.91 for 64-bit components on: * Windows Whistler 64. The NDIS 3.91 test tool also contains a TDI test. II. Fixes and Changes for Ndt391.exe and Ndt391_64.exe (NDIS version 3.91) Posted 8/23/2000 1. NDIS 5.1 miniports must use "safe" versions of certain NDIS calls to operate under Windows Whistler. 2. Developed a worked around for a problem with the configuration manager that causes 1c_fault to incorrectly fail to load a driver under Windows Whistler. 3. Modified ndistest.sys to make it more difficult to bugcheck when losing the connection with the server during testing under Windows 2000 and Windows Whister. 4. Bumped the number of buffers used in stress tests to make sure NDIS handles the stress tests correctly under Windows Whistler. III. NDdt390.exe (NDIS version 3.90) General Description: File Ndt390.exe File Ndt390_64.exe The new NDIS Test Version 3.9 Beta Release consist of two executable files, the Ndt390.exe is for 32-bit components and the Ndt390_64.exe is for 64-bit components. Use the NDIS 3.9 for 32-bit components on: * Windows 98 SE * Windows Millennium Edition * Windows 2000 * Windows Whistler Use the NDIS 3.9 for 64-bit components on: * Windows Whistler 64. The NDIS 3.9 test tool also contains a TDI test. IV. Fixes and Changes for Ndt390.exe and Ndt390_64.exe (NDIS version 3.90) Posted 8/10/2000 1. Added support for CoWan drivers. 2. Modified 2m_prior.tst to use functional packets when testing token ring adapters. 3. Modified the following performance tests to query OID_GEN_MAXIMUM_SEND_PACKETS: lan\2m_pprof.tst lan\2m_pblst.tst atm\2m_cprof.tst atm\2m_pprof.tst 4. Added lan\1c_oid64.tst to examine 64 bit implementations of OID_GEN_XMIT_OK and OID_GEN_RCV_OK. 5. Added a new test for cancel packets, Whistler functionality. 6. Modified to support 1394 changes for Whistler. 7. Fixed problem with 2m_ipsecoff test that an opening if the server adapter did not support ip sec offloading. 8. Modified NDIS so that the encapsulation size is set to default at the end of the task offload tests. 9. Added functionality to detect pptp miniport for wan testing. 10. Added functionality to detect WDM NDIS drivers, and allows them to make any necessary WDM calls. V. NDISbeta.exe (version 3.86) General Description: File: NDISbeta.exe You can use the most current version of NDISbeta.exe version 3.86 with the Windows 98 SE, Windows Millennium Edition, and Windows 2000 operating systems only. Use the NDTST377.exe if you are testing with the Windows 98 Gold or Windows NT 4.0 Operating Systems. Use the ndwin95.exe if you are testing with the Windows 95 OS. To Extract: NDISbeta VI. Fixes and Changes for NDISbeta.exe Version 3.86 Posted: 3/27/00 1. Fixed incorrect failure for wan tests on Win98 and WinNT4.0. “!!!Failure : no WAN line is selected” 2. Ndistest.sys is now unloaded when ndtest.exe exits. 3. Added a get help screen to help menu of ndtest.exe 4. Added IPSec offload functional and stress tests. 5. If the stop driver call fails it is tried again after a 5 second delay up to 10 times. This fixes a problem that appeared in 1c_fault.tst 6. 1c_gtime and 2m_media were modified to give drivers 2 seconds after starting to generate their media connect/disconnect event. 7. Added the 1c_hiber, 1c_stndb, and 1c_load tests to the hct suite for ATM adapters. 8. Added calls to nd_link.tst after coming out of hibernation and standby so adapters could establish link before trying to send. 9. The force irq sharing test now defaults to off. It no longer generates a failure if it is not enabled. 10. If the service control manager fails to start then a popup is displayed and ndtest.exe is terminated. This can happen if the user is not an adminstrator. 11. Allocate packet buffers in high memory on pae machines (>4 gig of ram) 12. Device detection has been redone for Win2k. More wan and IM drivers will be visible. 13. Removed 1c_gguid from the HCT suit for Win98. It was failing all wmi queries after the driver was unloaded. (NDIS bug) 14. Fixed a problem with receiving priority packets when the driver set NDIS_STATUS_RESOURCES in the packet status field. 2m_prior test. 15. Clarified receive result print statements in the log files. They mentioned ndis3 and ndis4 drivers. It now uses ProtocolReceive and ProtocolReceivePacket. 16. Lengthened shutdown delay at the end of the priority tests. 2m_prior issue. 17. Added check for laptop to not fail for single processor and pci bus. 18. Fixed the warning for mismatching card/company/copyright info. 19. Removed last vestiges of full mac driver testing. 20. Fixed a bug in ndistest.sys. Ndistest.sys was ignoring NDIS_STATUS_RESOURCES in the OOB portion of packets. This was causing corrupt packet failures “Too much data indicated”, “Not enough data indicated”, and double reception of packets. 21. Ndis tester, now, calculates the pseudo TCP checksum on packets offloaded for largesend. It used to compute the complete xsum 22. If the computed xsum is zero, 0xFFFF (all ones) must be entered as the checksum.Ndis tester did not do this and did not expect the card to do this. This is fixed in this version. 23. If sends are not completed during stress tests then the NDIS tester will break into the debugger and give the user the option of waiting longer. 24. Made 2m_wolpt test optional for dsl adapters. 25. Added 2c_simul.tst to test deserialzied drivers on multiproc machines. 26. Cut down the max number of calls attempted from 32 to 16 for Win 98/Me because of the call manager limitation. 27. Removed support for WinNT 4.0 and Win98 Gold. 28. Changed algorithm to detect invalid import calls. It now has a list of invalid calls instead of a list of valid ones. VII. Known issues with NDISbeta.exe Version 3.86: Posted: 3/27/00 1. The NDISTEST 3.86 locks your machine if you use it on a network device that supports IPSEC, but the server network card does not support IPSEC. Only use NDISTEST 3.86 if both your network device and server network card supports IPSEC. 2. Perf tests use 450 packets. It is possible to run out of packets which would artificially lower throughput values. This does NOT happen on speeds of 135 mbit and slower. (This does not cause a variation failure.) 3. There is a problem with the perf test that causes the elapsed time to be less than the actual test time. This causes the throughput to be greater than physically possible. (I do not think these two issues counteract each other :) (This does not cause a variation failure.) 4. Getevents will report 3 (for instance) status indications but then only list 2 status events. Some events are not accounted for. 2m_media.(This does not cause a variation failure.) 5. We are seeing send failures during the stress tests on dma adapters using ScatterGatherDma. (Win2k only)(This does not cause a variation failure.) 6. There are three known user mode breaks in hapi.exe and ndistst.dll. a. A break occures when a popup button is pressed. b. A driver verifier break occures during the performance tests because freed memory has been accessed. c. A break occures in 1c_gguid when wmi returns a corrupted buffer. 7. Warnings in the following files are caused by “QoS Packet Scheduler” bug. It is best to not run the NDIS tester with this bound to the adapter. Disable this in the property page of the driver. This is not bound by default. This is in Win2k, it will not be fixed for RTM. _____________________________________________________________ FILES _____________________________________________________________ 1c_srecv.leth 182 90 0 92 0 0:3:2 2c_srrdi.leth3 50 26 0 24 0 0:4:27 2c_srrdi.leth4 50 26 0 24 0 0:5:32 2m_srrdi.leth3 50 26 0 24 0 0:5:36 2m_srrdi.leth4 50 26 0 24 0 0:5:36 The warnings indicate that too many packets were received. getreceiveresults - OpenInstanceHandle = 000929A8 Packets Received = 300 (Sum of next two lines) -- Receive handler = 300 (Test packets received - Ndis 3 driver) -- ReceivePacket handler = 0 (Test packets received - Ndis 4+ driver) Packet Receives Complete = 302 (Ndis calls to ProtocolReceiveComplete) Packets Resent = 100 Packet Resends Pended = 100 Packet Resends Completed = 100 VARIATION WARNED WARNING: should have received 200 packets ____________________________________________________________ 7. The 2 machine irda tests for Win98 do not work. They have been disabled. If you want to try to run them then edit scripts\irda\nd_irda. tst to remove the “goto endoftest” statement. The irda protocol needs to be unloaded in Win2k. You can do this by using the “net stop irda” command from the command line. 8. Ndis tester does not calculate the pseudo TCP checksum on packets offloaded for largesend. It computes the complete xsum. 9. Running with "QoS Packet Scheduler" enabled causes the 2m_prior.tst to fail. The priority is stripped before the drivers see get the packet on the send side. NOTE: On the the ftp site ftp.microsoft.com/services /whql/ndis you will find Readme.txt (this file), ndisbeta.exe, ndtst377.exe, and ndwin95.exe VIII. NDTST377.exe General Description: File: NDTST377.exe (posted 11/19/99) You can use the NDTST377.exe file for testing the Windows 98 Gold and Windows NT 4.0 operating systems. To extract: ndtst377 -d IX. NDWin95.exe General Description: File: ndwin95.exe (posted 9/7/99) You can use the NDWin95.exe to test the Windows 95 OS only. This version does not work with WAN adapters. This is the last version of the Ndis Tester that we know works with Windows 95. To extract: ndwin95 -d X. NDT386_64.exe General Description: File: NDT386_64.exe (posted 05/19/00) You can use the ND386_64.exe file for testing Win64 (build 2229 or higher), which runs on machines with Itanium processors. This tool includes only the LAN and ATM scripts. WHQL has not yet tested NDT386_64.exe for WAN and TDI. Due to a bug in NDIS, you can reach a debug breakpoint when handling WMI requests. Note: The NDT386_64.exe is a beta version, and has received limited testing. To extract: ndt386_64