I toke the ndislwf sample code from the WDK, compiled and installed it on
two Vista computers. On one computer ACER TM8000, it all worked as expected.
However on another newly bought computer Dell Inspiron6400 with Core 2 Duo,
the lwf driver is loaded, the call to NdisFRegisterFilterDriver return 0.
However from that moment on there is no callback on FilterAttach. Therefore
the lwf driver just sits in the memory doing nothing. I have debugged a bit
into NdisFRegisterFilterDriver. Especially its call to
ndisCheckFilterMiniports. Inside ndisCheckFilterMiniports, I traced several
times over the loop between ndisAttachFilterToMinipor and
ndisFilterQueueBindWorkitem. In ndisFilterQueueBindWorkitem, I traced it
down to the call of ExQueueWorkItem. So everything seems to be perfectly Ok but there is no work item callback.
Checking the filters in the system produced the following :
NDIS Driver verifier level: 0
NDIS Failed allocations : 0
Filter Driver Block: 8598c008
Filter Driver Block: 94f71970
Filter: 94f69a50 Intel(R) Wireless WiFi Link 4965AGN-Native WiFi Filter
Driver-0000
Miniport 86a130e8 Intel(R) Wireless WiFi Link 4965AGN
Filter Driver Block: 87e62008
Filter: 8bfc7c28 Intel(R) Wireless WiFi Link 4965AGN-QoS Packet
Scheduler-0000
Miniport 86a130e8 Intel(R) Wireless WiFi Link 4965AGN
Filter: 87e585b0 Broadcom 440x 10/100 Integrated Controller-QoS Packet
Scheduler-0000
Miniport 86a12488 Broadcom 440x 10/100 Integrated Controller
Filter: 87e5d958 WAN Miniport (IP)-QoS Packet Scheduler-0000
Miniport 86ada4c0 WAN Miniport (IP)
Filter: 87e59c28 WAN Miniport (IPv6)-QoS Packet Scheduler-0000
Miniport 86af30e8 WAN Miniport (IPv6)
The 1st filter is the ndislwf sample driver and does not bind to any
miniports. The 2nd being MS native Wifi lwf and the 3rd being the MS pacer
lwf both work fine on the Dell laptop.
Has anyone seen this before? Could an MS guy or expert on the list kindly
explain what is going on here?
Thanks!
Jicun