I have a USB function driver, it is a basic bulk transfer USB driver. I passed HCT test and got signed file on Windows XP sp2 from MS in 2006.
It failed in DTM unclassified test on Plug and Play test now. why? it is strange.
the error message is following:
INFORMATION:Marking RunJob Task “RunJob-Plug and Play Driver Test-Library Job” As Failed as the LibraryJob
“Plug and Play Driver Test-Library Job” has Failed
The Library job that was called by this RunJob has failed. Hence this RunJob task will also be marked failed.
Does anyone know why?
thank you very much.
Denny
I suppose it passes the other DTM unclassified tests, so DTM is configured
properly.
Right-click on the job in the job explorer, and choose “view result report”.
This should give you an idea of whether it’s a DTM problem or some pnp test
is simply failing.
If it’s a pnp failure, I would probably try running the plug and play test
alone on your test machine and see if your driver passes the test. You can
find the binary of the plug and play test (pnpdtest.exe and .sys) on the DTM
controller \
Launch the executable, then choose your device on the left and run all the
various tests one by one.
Hope it helps
GV
–
Gianluca Varenni, Windows DDK MVP
CACE Technologies
http://www.cacetech.com
----- Original Message -----
From:
To: “Windows System Software Devs Interest List”
Sent: Tuesday, January 22, 2008 6:06 PM
Subject: [ntdev] HCT test suceed, DTM test failed why?
>I have a USB function driver, it is a basic bulk transfer USB driver. I
>passed HCT test and got signed file on Windows XP sp2 from MS in 2006.
> It failed in DTM unclassified test on Plug and Play test now. why? it is
> strange.
>
> the error message is following:
>
> INFORMATION:Marking RunJob Task “RunJob-Plug and Play Driver Test-Library
> Job” As Failed as the LibraryJob
> “Plug and Play Driver Test-Library Job” has Failed
>
> The Library job that was called by this RunJob has failed. Hence this
> RunJob task will also be marked failed.
>
> Does anyone know why?
>
> thank you very much.
>
> Denny
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
You have to go grovel through the awful DTM logs for the answer to why
the plug and play driver test failed. DTM tests are different than HCT
tests, so there is no guarantee that passing the obsolete HCT implies
that you will pass DTM. Good luck on those error logs.
On Jan 22, 2008 9:06 PM, wrote:
> I have a USB function driver, it is a basic bulk transfer USB driver. I passed HCT test and got signed file on Windows XP sp2 from MS in 2006.
> It failed in DTM unclassified test on Plug and Play test now. why? it is strange.
>
> the error message is following:
>
> INFORMATION:Marking RunJob Task “RunJob-Plug and Play Driver Test-Library Job” As Failed as the LibraryJob
> “Plug and Play Driver Test-Library Job” has Failed
>
> The Library job that was called by this RunJob has failed. Hence this RunJob task will also be marked failed.
>
> Does anyone know why?
>
> thank you very much.
>
> Denny
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>
–
Mark Roddy
Is your driver based on BulkUsb sample? If so, it has to be fixed to pass DTM PnP tests. HCT tests weren’t thorough enough. Examine DTM logs and you should see which test failed. There is a tool in WDK (or DTM?) which allows you to run this test and you should see why it failed. IIRC this sample incorrectly implemented device restart.
Best regards,
Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]
From: xxxxx@lists.osr.com[SMTP:xxxxx@lists.osr.com] on behalf of xxxxx@gmail.com[SMTP:xxxxx@gmail.com]
Reply To: Windows System Software Devs Interest List
Sent: Wednesday, January 23, 2008 3:06 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] HCT test suceed, DTM test failed why?
I have a USB function driver, it is a basic bulk transfer USB driver. I passed HCT test and got signed file on Windows XP sp2 from MS in 2006.
It failed in DTM unclassified test on Plug and Play test now. why? it is strange.
the error message is following:
INFORMATION:Marking RunJob Task “RunJob-Plug and Play Driver Test-Library Job” As Failed as the LibraryJob
“Plug and Play Driver Test-Library Job” has Failed
The Library job that was called by this RunJob has failed. Hence this RunJob task will also be marked failed.
Does anyone know why?
thank you very much.
Denny
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
Dear Michal Vodicka
yes, the driver is based on Bulkusb sample.
How can I fix this issue?
thank you very much.
Denny
Dear all
Thank you very much.
I ran the pnpdtest.exe. It seems that test rebalance->FailQueryStop,->NewResurces failed.
The error looks like the following string in FailQueyStop test.
IRP_MN_QUERY_PNP_DEVICE_STATE
IRP_MN_QUERY_STOP_DEVICE
IRP_MN_CANCEL_STOP_DEVICE
Resources did not change during rebalance.
UnInstalling the filter driver from …
Does anyone know if it is the error, and how can I fix it?
thank you very much.
denny
huaping jiang wrote:
I ran the pnpdtest.exe. It seems that test rebalance->FailQueryStop,->
NewResurces failed. Does anyone know if it is the error, and how can
I fix it?
Rebalance seems to trip up a lot of people writing USB drivers, even on KMDF (myself included). Generally, you have to be able to go through the stop and then start paths of your driver after it’s already been started already, without throwing any errors (if you fail IRP_MN_START_DEVICE, you lose).
Tips here would include don’t do anything in your start path that can’t be done multiple times, because they will fail the second time around (and thus your start path will fail, and you will fail the test).
xxxxx@gmail.com wrote:
Tips here would include don’t do anything in your start path that can’t be done multiple times, because they will fail the second time around (and thus your start path will fail, and you will fail the test).
Another gotcha if you’re using WDF is to tear down resources in the stop
path, without NULL’ing them out in the device context space: If you’re
using WDF contexts hanging off the device object, then WDF zeroes them
out for you, but only when the parent object (probably WDFDEVICE) is
newly created.
MH.
This is not a gotcha that is specific to KMDF, this is a general programming mistake (to free resources and not clear out the pointers/aliases to those resources). In the KMDF model, handling a start/stop/start properly is done by doing the “one time thing” in EvtDevicePrepareHardware and then undoing the “one time thing” in EvtDeviceReleaseHardware and then general cleanup in your object cleanup callback. If there is no undo for the action (let’s say getting the config descriptor which will not change on restart) you can do a != NULL check in EvtDevicePrepareHardware and not free it in EvtDeviceReleaseHardware to make it truly “one time,” but this type of state tracking should not really be needed in a KMDF driver.
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Martin Harvey
Sent: Wednesday, January 23, 2008 7:43 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] HCT test suceed, DTM test failed why?
xxxxx@gmail.com wrote:
Tips here would include don’t do anything in your start path that can’t be done multiple times, because they will fail the second time around (and thus your start path will fail, and you will fail the test).
Another gotcha if you’re using WDF is to tear down resources in the stop
path, without NULL’ing them out in the device context space: If you’re
using WDF contexts hanging off the device object, then WDF zeroes them
out for you, but only when the parent object (probably WDFDEVICE) is
newly created.
MH.
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
Your question was already answered. The driver has to handle repeated stop/start without errors. If I remember correctly, the fix was rather simple but it depends on your own modifications.
As a side note, there can be other way to fix. Throw away BulkUsb sample and use KMDF based project, instead. The BulkUsb sample is rather obsolete and contains a lot of bugs. Even worse, there are design flaws which are very hard to fix. Within past 5 years I had to rewrite at least half of this code and still encounter bugs from original code. The worst thing is this sample somewhat works and passes HCT an DTM tests without complicated modifications. This is because most problems there are race conditions of some kind. In practice, part of code which works for years suddenly starts crashing at a class of a new computers and has to be fixed and signed within few days. This scenario repeats few times per year. If you want to save yourself from this nightmare, don’t use this code.
Best regards,
Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]
From: xxxxx@lists.osr.com[SMTP:xxxxx@lists.osr.com] on behalf of xxxxx@gmail.com[SMTP:xxxxx@gmail.com]
Reply To: Windows System Software Devs Interest List
Sent: Wednesday, January 23, 2008 7:22 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] HCT test suceed, DTM test failed why?
Dear Michal Vodicka
yes, the driver is based on Bulkusb sample.
How can I fix this issue?
thank you very much.
Denny
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer