Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging

The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.

Check out The OSR Learning Library at:

Single Machine NDISTest Scripts

David12345David12345 Member Posts: 2

Hello everyone,

I've discovered NDISTest a little late into my driver's development, and now I'm somewhat worriedly running these scripts against my driver being dogfooded and seeing failures. I'm trying to port a Linux driver to Windows, so a lot of this is excitingly new to me. I have an NDIS miniport driver running on a virtual machine, and it's currently failing at 1c_Mini6PerfSend after running this command in my test environment:

ndtest.exe /auto /client /dvi /u /target:Miniport /tc:{virtual_driver_mac} /script:{1c_Mini6PerfSend.wsf}

The failure seems to be an uncaught assert in ndprot630.sys, which from the logs is probably happening because of:

CNDTPerformanceCommManager::WaitForSendsToComplete: Miniport is probably not send completing pending sends

This test runs a bunch of iterations, and in most of the iterations NBLs sent == NBLs send completed == NBL sends successful. Before I dive into my driver and see if there's any way I could not be calling NdisMSendNetBufferListsComplete (feels unlikely), has anyone seen this before where it's just been a timing issue? Where the test possibly isn't waiting quite long enough for a slow virtual device to complete the send? If so are there any command line flags allowing me to extend the wait per iteration, and reduce the number of iterations?


Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 15 Jun 2020 LIVE ONLINE
Writing WDF Drivers 22 June 2020 LIVE ONLINE
Internals & Software Drivers 28 Sept 2020 Dulles, VA