Great. The next step is to load symbols for both tcpip.sys and wanarp.sys.
Stack trace will seem better after that. It will show names of functions
called and maybe give you an idea what occured. It seems as DHCP tried to
send broadcast to achieve IP address for this adapter. WanArp driver is
protocol driver layered above NdisWan and provides raw IP layer for WAN
lines.
If the crash occurs after QueryInformation handler call it can mean that
both NDIS a WanArp configured their adapters and tried to use it. Something
is wrong and WanArp used uninitialized pointer. Unfortunately, this driver
doesn’t check anything and this type of problem is common if you have a bug
in your driver. You can also try checked version of wanarp.
Stack command show return addresses. Maybe you should try read SoftICE
manual (command reference). And again, read NDIS_WAN_LINE_UP docs.
Best regards,
Michal Vodicka
Veridicom
(RKK - Skytale)
[WWW: http://www.veridicom.com , http://www.skytale.com]
From: iban[SMTP:brucie@263.net]
Reply To: NT Developers Interest List
Sent: Thursday, September 27, 2001 4:40 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Problems when implement NAT using NDIS
Intermediate d riverThanks.
Last night I debugged my driver again. A pagefault occurred after
mpqueryinformation. The last OID is OID_GEN_LINK_SPEED. I used “stack”
command of Softice to see the stack information.The following lines are the output of “stack -v -r” command.It seems
the error occurred while DHCP. What is the meaning of the text in the
output line, such as tcpip!.text+00012C38?ED24F8A4 ED2E4977 00000000
… wanarp!.text+4697
tcpip!.text+00013EF2
tcpip!.text+ABBC
tcpip!.text+00012C38tcpip!.text+00013897
tcpip!.text+00013665
tcpip!.text+0001370B
tcpip!.text+00011CBF
afd!PAGEAFD+6D87
ntoskrnl!RtlOemStringToUnicodeString+0295
ntoskrnl!NtDeviceIoControlFile+0028
ntdll!.text+00015BE2
ws2_32!.text+20F1
dhcpcsvc!.text+3631
dhcpcsvc!.text+EEB2
dhcpcsvc!.text+EF25
dhcpcsvc!.text+00010A97
dhcpcsvc!.text+00010DE7
dhcpcsvc!.text+00010E93dhcpcsvc!.text+000112B2
dhcpcsvc!.text+0001132E
dhcpcsvc!.text+E020
dhcpcsvc!.text+E255
dhcpcsvc!.text+812C
dhcpcsvc!.text+90DD
>Thanks Michal.
>Actually I have debug my driver using softice. But I could not find what
> caused page fault. There is no QOS packet scheuler installed on my OS.
>
>Passthru runs very well with one wan adapter and one ethernet adapter.
>I made me very confused because I could not find the essential difference
>between Passthru and my driver.
>>Everything can be wrong. The only good way how to solve such a problem
is to
>>take a debugger and find what causes page fault.
>>
>>It is important to understand how NdisWan uses Ethernet addresses to
>>distinguigh WAN lines – see NDIS_WAN_LINE_UP docs. It may not be your
>>problem now but it may be necessary for the future.
>>
>>An idea: do you have QOS packet scheduler installed (layered over your
>>driver)? If so, try to disable (uninstall) it and see if there is still
a
>>problem.
>>
>>Best regards,
>>
>>Michal Vodicka
>>Veridicom
>>(RKK - Skytale)
>>[WWW: http://www.veridicom.com , http://www.skytale.com]
>>
>>
>>
>>> ----------
>>> From: iban[SMTP:brucie@263.net]
>>> Reply To: NT Developers Interest List
>>> Sent: Tuesday, September 25, 2001 6:56 AM
>>> To: NT Developers Interest List
>>> Subject: [ntdev] Problems when implement NAT using NDIS Intermediate
>>> driver
>>>
>>> First I have to appologized for my poor English.
>>>
>>> I am doing an NAT project which uses NDIS IM Driver based on
>>> Passthru for 2k and IMSAMP for NT4.0. My driver runs very well
>>> when working with two ethernet cards.
>>>
>>> But when I tried to run my driver with one Modem and one ethernet
>>> card,
>>> I encoutered some problems.
>>>
>>> I read Passthru example of XP DDK, and add NdisMediumWan to
>>> NdisMediuArray.
>>> In MpInitialize, I add the following lines as Passthru for XP:
>>> Medium=pAdapt->Medium;
>>> if (Medium == NdisMediumWan)
>>> {
>>> Medium = NdisMedium802_3;
>>> }
>>> And the inf was also modified as “ethernet, tokenring, fddi, wan”.
>>>
>>> Ok, My driver can bind with wan adapter and ethernet adapter. All are
>>> well.
>>>
>>> But when I dial up to connect to my ISP, a Page Fault occured when
>>> “registering computer on the network”.
>>>
>>> Then I added some DbgPrint to my driver, I found the Page Fault
>>> occured after
>>> MpQueryInformation return. The codes of MpQueryInformation are quite
>>> similar to that of IMSAMP.
>>>
>>> What is wrong? Please help me, any suggestions are appreciated.
>>> Thanks
>>> brucie
>>> brucie@263.net
>>> b??.??????‘???i???)m???u??b?(?
>>> (
>>>
>>
>>—
>>You are currently subscribed to ntdev as: brucie@263.net
>>To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
b??.??????’???i???)m???u??b?(?(
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com