CONNECT-0124 USB Kernel-Mode drivers use the WDF-KMDF or WDF-UMDF driver model

I’m not sure if USB developers here are aware about this future
requirement (see below). Effective Date 2010-June-01 which isn’t so far
in the future if we consider it means complete rewrite for WDM drivers.
It seems as it is for Win7 and Server 2008 R2 and above but I’m not
quite sure.

I was under impression it was promised (when WDF project started)
something like this would never happen and it is possible to use pure
WDM drivers if one prefers it. Which may not make too much sense for new
drivers but if one has stable and mature legacy driver, rewrite would
decrease reliability.


Details

Third party USB kernel mode drivers must be ported to the WDF-KMDF or
WDF-UMDF driver model for communication with USB devices that have Bulk
and Interrupt endpoints. The WDF driver model provides higher
reliability (such as incorrect power handling and doubly complete IRPs).
More information on WDF driver model can be found here:
http://www.microsoft.com/whdc/driver/wdf/wdf-intro.mspx

Design And Implementation Notes :

For an overview of the WDF driver model and a list of resources
associated with WDF

http://www.microsoft.com/whdc/driver/wdf/wdf-intro.mspx

Best regards,

Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]

Michal,

There are other categories that have already gone this route. While it
may be annoying and there are drivers that are solid it KMDF is a better
approach. If you really have a solid WDM driver, on could always “port” it
to KDMF by liberal use of WdfDeviceInitAssignWdmIrpPreprocessCallback :wink:


Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

“Michal Vodicka” wrote in message
news:xxxxx@ntdev…
I’m not sure if USB developers here are aware about this future
requirement (see below). Effective Date 2010-June-01 which isn’t so far
in the future if we consider it means complete rewrite for WDM drivers.
It seems as it is for Win7 and Server 2008 R2 and above but I’m not
quite sure.

I was under impression it was promised (when WDF project started)
something like this would never happen and it is possible to use pure
WDM drivers if one prefers it. Which may not make too much sense for new
drivers but if one has stable and mature legacy driver, rewrite would
decrease reliability.

-----
Details

Third party USB kernel mode drivers must be ported to the WDF-KMDF or
WDF-UMDF driver model for communication with USB devices that have Bulk
and Interrupt endpoints. The WDF driver model provides higher
reliability (such as incorrect power handling and doubly complete IRPs).
More information on WDF driver model can be found here:
http://www.microsoft.com/whdc/driver/wdf/wdf-intro.mspx

Design And Implementation Notes :

For an overview of the WDF driver model and a list of resources
associated with WDF

http://www.microsoft.com/whdc/driver/wdf/wdf-intro.mspx

Best regards,

Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]

Information from ESET NOD32 Antivirus, version of virus signature
database 4305 (20090804)


The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

Information from ESET NOD32 Antivirus, version of virus signature database 4305 (20090804)

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

Don,

I know but I’m almost sure about the promise in the past…

For Win7 it is bad but for Vista it’d be a disaster because I had to
implement several workarounds there to solve RTM bugs. None could be
probably implemented using KMDF although
WdfDeviceInitAssignWdmIrpPreprocessCallback idea seems promising :wink:

For Win7 we have new UMDF driver but unfortunately, some OEMs decided to
stay with the legacy one. For good reasons not directly related to the
driver but to layers above it. So I’ll have to rewrite legacy one or
emulate it in the new UMDF driver. Even more work for no reason :-/

Best regards,

Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Tuesday, August 04, 2009 6:42 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] CONNECT-0124 USB Kernel-Mode drivers use
the WDF-KMDF or WDF-UMDF driver model

Michal,

There are other categories that have already gone this
route. While it
may be annoying and there are drivers that are solid it KMDF
is a better
approach. If you really have a solid WDM driver, on could
always “port” it
to KDMF by liberal use of
WdfDeviceInitAssignWdmIrpPreprocessCallback :wink:


Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

“Michal Vodicka” wrote in message
> news:xxxxx@ntdev…
> I’m not sure if USB developers here are aware about this future
> requirement (see below). Effective Date 2010-June-01 which
> isn’t so far
> in the future if we consider it means complete rewrite for
> WDM drivers.
> It seems as it is for Win7 and Server 2008 R2 and above but I’m not
> quite sure.
>
> I was under impression it was promised (when WDF project started)
> something like this would never happen and it is possible to use pure
> WDM drivers if one prefers it. Which may not make too much
> sense for new
> drivers but if one has stable and mature legacy driver, rewrite would
> decrease reliability.
>
> -----
> Details
>
> Third party USB kernel mode drivers must be ported to the WDF-KMDF or
> WDF-UMDF driver model for communication with USB devices that
> have Bulk
> and Interrupt endpoints. The WDF driver model provides higher
> reliability (such as incorrect power handling and doubly
> complete IRPs).
> More information on WDF driver model can be found here:
> http://www.microsoft.com/whdc/driver/wdf/wdf-intro.mspx
>
>
> Design And Implementation Notes :
>
> For an overview of the WDF driver model and a list of resources
> associated with WDF
>
> http://www.microsoft.com/whdc/driver/wdf/wdf-intro.mspx
>
>
> Best regards,
>
> Michal Vodicka
> UPEK, Inc.
> [xxxxx@upek.com, http://www.upek.com]
>
>
> Information from ESET NOD32 Antivirus, version of
> virus signature
> database 4305 (20090804)

>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
>
>
> Information from ESET NOD32 Antivirus, version of
> virus signature database 4305 (20090804)

>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
>
>
> —
> 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
>

Michal Vodicka wrote:

I’m not sure if USB developers here are aware about this future
requirement (see below). Effective Date 2010-June-01 which isn’t so far
in the future if we consider it means complete rewrite for WDM drivers.
It seems as it is for Win7 and Server 2008 R2 and above but I’m not
quite sure.

I was under impression it was promised (when WDF project started)
something like this would never happen and it is possible to use pure
WDM drivers if one prefers it. Which may not make too much sense for new
drivers but if one has stable and mature legacy driver, rewrite would
decrease reliability.

I, too, am dismayed by this, but remember that this is only a logo
requirement. Your “stable and mature legacy drivers” won’t be affected,
because the logo signature you already have will continue to work. If
you modify the driver and need to resubmit it for a new logo, THEN
you’re faced with a rewrite. And if that does happen, you can always
submit under “unclassified” to get the signature, and quietly drop the
logo from your marketing material.

Details

Third party USB kernel mode drivers must be ported to the WDF-KMDF or
WDF-UMDF driver model for communication with USB devices that have Bulk
and Interrupt endpoints. The WDF driver model provides higher
reliability (such as incorrect power handling and doubly complete IRPs).

They should have asked me to proofread the grammar before posting that.
The way that sentence is written, it implies that the WDF driver model
provides incorrect power handling and doubly complete IRPs. Not what
they wanted to say, I suspect.

This doesn’t seem to address what happens to devices that have both bulk
and isochronous endpoints.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Tim,

Somewhere over a year ago the WHQL requirements were changed so that
devices that fall into a category cannot be submitted as unclassified for
later OS’es. I spoke with the WHQL folks at DDC about this, since I have
clients who took your approach.


Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

“Tim Roberts” wrote in message news:xxxxx@ntdev…
> Michal Vodicka wrote:
>> I’m not sure if USB developers here are aware about this future
>> requirement (see below). Effective Date 2010-June-01 which isn’t so far
>> in the future if we consider it means complete rewrite for WDM drivers.
>> It seems as it is for Win7 and Server 2008 R2 and above but I’m not
>> quite sure.
>>
>> I was under impression it was promised (when WDF project started)
>> something like this would never happen and it is possible to use pure
>> WDM drivers if one prefers it. Which may not make too much sense for new
>> drivers but if one has stable and mature legacy driver, rewrite would
>> decrease reliability.
>>
>
> I, too, am dismayed by this, but remember that this is only a logo
> requirement. Your “stable and mature legacy drivers” won’t be affected,
> because the logo signature you already have will continue to work. If
> you modify the driver and need to resubmit it for a new logo, THEN
> you’re faced with a rewrite. And if that does happen, you can always
> submit under “unclassified” to get the signature, and quietly drop the
> logo from your marketing material.
>
>> Details
>>
>> Third party USB kernel mode drivers must be ported to the WDF-KMDF or
>> WDF-UMDF driver model for communication with USB devices that have Bulk
>> and Interrupt endpoints. The WDF driver model provides higher
>> reliability (such as incorrect power handling and doubly complete IRPs).
>>
>
> They should have asked me to proofread the grammar before posting that.
> The way that sentence is written, it implies that the WDF driver model
> provides incorrect power handling and doubly complete IRPs. Not what
> they wanted to say, I suspect.
>
> This doesn’t seem to address what happens to devices that have both bulk
> and isochronous endpoints.
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
>
> Information from ESET NOD32 Antivirus, version of virus
> signature database 4305 (20090804)

>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>

Information from ESET NOD32 Antivirus, version of virus signature database 4305 (20090804)

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

> -----Original Message-----

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Tuesday, August 04, 2009 7:01 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] CONNECT-0124 USB Kernel-Mode drivers use
the WDF-KMDF or WDF-UMDF driver model

I, too, am dismayed by this, but remember that this is only a logo
requirement. Your “stable and mature legacy drivers” won’t
be affected,
because the logo signature you already have will continue to work. If
you modify the driver and need to resubmit it for a new logo, THEN
you’re faced with a rewrite.

Which will occur sooner or later. We regularly create new devices with
new PIDs so at least INF change is inevitable. I guess we will sign a
driver with several not-yet-existing PIDs. Which will make our DTM guy
happy, he always cries when has to make new signature :slight_smile: We aren’t doing
it now to be safe although it cost money and resources.

And if that does happen, you can always
submit under “unclassified” to get the signature, and quietly drop the
logo from your marketing material.

Don already addressed it but even from wording of the details part it
doesn’t seem as possible. In addition, I’m not sure how our OEMs would
take it…

They should have asked me to proofread the grammar before
posting that.
The way that sentence is written, it implies that the WDF driver model
provides incorrect power handling and doubly complete IRPs. Not what
they wanted to say, I suspect.

Nice catch :slight_smile:

This doesn’t seem to address what happens to devices that
have both bulk
and isochronous endpoints.

Maybe we could remove interrupt endpoint to avoid it :wink:

Best regards,

Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]

Don Burn wrote:

Somewhere over a year ago the WHQL requirements were changed so that
devices that fall into a category cannot be submitted as unclassified for
later OS’es. I spoke with the WHQL folks at DDC about this, since I have
clients who took your approach.

I guess that depends on what “later” means. I have a client with a USB
camera that is not USB Video Class compliant, so it no longer meets the
logo requirements. They submitted for and received an unclassified
signature for XP and Vista late in 2008.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.