Microsoft KB Archive/182539

{|
 * width="100%"|

HOWTO: Debug NDIS WAN Miniports for MSDUN 1.2x

 * }

Q182539

-

The information in this article applies to:


 * Microsoft Win32 Device Driver Kit (DDK) Windows 95, on platform(s):
 * the operating system: Microsoft Windows 95

-

SUMMARY
This article shows you how to set tracing options to debug Network Driver Interface Specification (NDIS) wide area network (WAN) miniports on Windows 95 with Microsoft Dial-Up Networking 1.2x. It also includes the address of the Web site you can visit to download debug binaries.

MORE INFORMATION
NDIS WAN miniports are binary compatible drivers for Windows NT 4.0 and Windows 95. To use NDIS WAN miniports on Windows 95, you must install the Microsoft Dial-Up Networking upgrade. You can get the latest Microsoft Dial- Up Networking upgrade and debug binaries from the Device Driver Development Support Web page, located at:

"http://support.microsoft.com/support/ddk_hardware/" Click the Windows DDK link and then the Device Driver Tools link.

When you debug an NDIS WAN miniport on Windows 95, you can install several debug binaries. Ndis.vxd, Wan.tsp, and Isdnui.dll all emit trace information to a kernel debugger if the debug version of the respective driver is installed.

To enable Ndis.vxd tracing, you must set the NdisTraceImpt symbol to TRUE in the debugger. For example:

  >>e NdisTraceImpt 1

This line sets the global variable NdisTraceImpt to TRUE, and Ndis.vxd begins emitting trace information once processing resumes. When tracing is enabled, Ndis.vxd emits a text string each time an NDIS API function is entered and exited. In addition, most Plug and Play and enumeration steps are logged with the debugger. NDIS tracing helps debug any NDIS client driver, including miniports, transport drivers, and NDIS network interface card (NIC) drivers.

Wan.tsp and Isdnui.dll have more tracing options. You can set tracing options for these DLLs with an initialization file located in the base Windows directory. The debug versions of both DLLs refer to Bowman.ini using GetPrivateProfileString. The following sample code presents the format for Bowman.ini:

Sample Code
  [WanTSP] ; DumpFlags: ;   00000001   Linedev ;   00000002   Phonedev ;   00000004   Callback ;   00000008   Miniport

DumpFlags=0x00000000

; TraceFlags: ;           00000001   Warnings ;           00000002   Errors ;           00000004   General ;           00000008   Function trace ;           00000100   Linedev ;           00000200   Phonedev ;           00000400   Miniport ;           00000800   Callback ;           00001000   Utility ;           00002000   Size variables (needed, used, size, and so on) ;           00008000   Misc

TraceFlags=0x0000210F

; BreakFlags: ;   00000001   Break on validate ;   00000040   Break on process attach

BreakFlags=0x00000001

[ISDNUI] ; DumpFlags: ;   00000001   ISDNCONFIG ;   00000002   ISDNLINE ;   00000004   ISDNCHANNEL ;   00000008   ISDNDEVCAPS ;   00000010   ISDNLINECAPS ;   00000020   Vendor data

DumpFlags=0x00000000

; TraceFlags: ;   00000001   Warnings ;   00000002   Errors ;   00000004   General ;   00000008   Function trace

TraceFlags=0x00000003

; BreakFlags: ;   00000001   Break on validate ;   00000040   Break on process attach

BreakFlags=0x00000001

All trace output is emitted to the current kernel debugger.