Wince6.0 R2, PPPoE 拨号失败, 数据包时发送出去了.
但是一收到局端返回的应答数据包,ndis.dll 就发生Prefetch Abort 和 data abort 2种异常各一个,然后网络崩溃,网络部分没法使用了. 只能重启设备.
调试输出信息如下:
SMSC LAN91C111 Windows Embedded CE 6.0 (NDIS5.0) Driver V2.1 Build#260204
LAN91C111: MAC Address:02-24-09-01-12-09
LAN91C111:==> Adapter Reset d0830300
LAN91C111: Packet #0 Allocated
Done getting Registry values:
bpp: 0x20
CxScreen: 0x280
CyScreen: 0x1e0
Display Type: CLAA057VAO1CW
Init CLAA057VAO1CW...
Display Driver Initialization Complete
SA2Video::SA2Video---
LayMgr.cpp: Layout Manager successfully initialized to 1
TouchRegistrySet++
TouchPanelPowerHandler
LAN91C111: Packet #0 Allocated (这个是网卡发送数据的一个调试信息)
LAN91C111: Packet #0 Allocated
LAN91C111: Packet #0 Allocated
LAN91C111: Packet #0 Allocated
Exception 'Prefetch Abort' (3): Thread-Id=02700002(pth=83db1cfc), Proc-Id=004000
02(pprc=81999308) 'NK.EXE', VM-active=03a6000a(pprc=82dbc288) 'explorer.exe'
PC=00000000(???+0x00000000) RA=c05cb5dc(ndis.dll+0x0000b5dc) SP=d082fdf8, BVA=00
000000
Exception 'Data Abort' (4): Thread-Id=00cc000e(pth=83d831e0), Proc-Id=00400002(p
prc=81999308) 'NK.EXE', VM-active=03a6000a(pprc=82dbc288) 'explorer.exe'
PC=c05cfde4(ndis.dll+0x0000fde4) RA=c05cfd98(ndis.dll+0x0000fd98) SP=d07afe10, B
VA=00000008
从出错的PC位置,定位的出错函数是
1000FDE4, NDIS.DLL, NdisIMInitializeDeviceInstance,
但是没法定位到相应的源码.
大家如何解决这个PPPoe问题,
再求 ndis.dll 对应的源码出 \Wince600 哪个目录下?
谢谢
问题应该不会出在NDIS.dll吧。恐怕你还是要从自己的代码多分析。
wince600 是不是没有带有NDIS部分源码,找不到?
还是多找找自己的问题吧,不要一出问题,就怀疑这个、怀疑那个
如果是系统的问题,在google上search一下,肯定是一大堆人提出这个问题。
这么明显的BUG微软会放出来吗。
估计还是其他问题引起的。