continous reader for interrupt pipes for USB devices in WDM

Hi,

I need to interface with an USB device having 2 interrupt endpoints. To be on the
safe side, I need to do the continous polling on the driver side. I checked out
Walter Oney’s book on the topic, but naturally that covers one single int. endpoint.
I also know that it would be a piece of cake in KMDF but I need to have the driver
in plain WDM. Can you guys recommend a document, code snippet, example,
whatever that I should check out that covers multiple continous reading on
more than one interrupt endpoint per device (with regards to race issues, when
to start to submit the continous urb, when to stop, etc.)?
Sorry if I put way too lame questions, but I am quite new to the topic, was
more familiar with Linux USB drivers up until know (and there it’s easier, as there
is direct callback support for int ep.s).
Thanks in advance,

why are you not considering KMDF? as for oney’s code that handles only one interrupt endpoint, just make another instance of the data structures in your device extension and have 2 cont readers.

d


From: xxxxx@lists.osr.com [xxxxx@lists.osr.com] On Behalf Of xxxxx@chello.hu [xxxxx@chello.hu]
Sent: Saturday, September 27, 2008 12:16 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] continous reader for interrupt pipes for USB devices in WDM

Hi,

I need to interface with an USB device having 2 interrupt endpoints. To be on the
safe side, I need to do the continous polling on the driver side. I checked out
Walter Oney’s book on the topic, but naturally that covers one single int. endpoint.
I also know that it would be a piece of cake in KMDF but I need to have the driver
in plain WDM. Can you guys recommend a document, code snippet, example,
whatever that I should check out that covers multiple continous reading on
more than one interrupt endpoint per device (with regards to race issues, when
to start to submit the continous urb, when to stop, etc.)?
Sorry if I put way too lame questions, but I am quite new to the topic, was
more familiar with Linux USB drivers up until know (and there it’s easier, as there
is direct callback support for int ep.s).
Thanks in advance,


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

Hello Doron,

thanks for the hints, the thing is that it will be a driver of a corporate device used in Embedded XP,
and currently we (company) are not sure whether are allowed to use KMDF at all (so technically
speaking it’s more or less only “policital” issue rather than technical).
About the suggestion, yeah I was thinking about putting the continous reader data into the
pipe information as they are connected to the pipes rather than to the device generally.
Thanks,
t.

You can easily use KMDF in an embedded XP environment, I know of quite a few companies who have done it. What other aspects are there that make this “political”?

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@chello.hu
Sent: Saturday, September 27, 2008 10:45 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] continous reader for interrupt pipes for USB devices in WDM

Hello Doron,

thanks for the hints, the thing is that it will be a driver of a corporate device used in Embedded XP,
and currently we (company) are not sure whether are allowed to use KMDF at all (so technically
speaking it’s more or less only “policital” issue rather than technical).
About the suggestion, yeah I was thinking about putting the continous reader data into the
pipe information as they are connected to the pipes rather than to the device generally.
Thanks,
t.


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

Hi,
AOK I give a kind of “intro” on the development.
We’ve (Scientific Games) been doing lottery applications together with the system around the application (+ the hardware as well) since ages.
One of our customers decided to change our system (which is Linux based) to their own XP based one. But as we’re the supplier of the hardware as well they claim that the device drivers for the OS are our task as well. So we need to create at least one XP driver for our USB scanner (well not the same scanner you would think of, it’s a home made hardware).
As a matter of fact our company (the american Scientific Games, we’re doing the driver port in
Hungary) already has a middleware layer for XP Embedded. Surely it’s a middleware layer only,
thus it’s above the driver layer for sure. But, and here comes the political part, as they have
the “knowledge” for XP Embedded development, they tell us the “guidelines” we should follow
when creating the drivers. And one the guidelines are that we need to use WDM :slight_smile:
Yeah I know it sound a bit nuts, as afterall a KMDF driver ends up in a .sys as well, but hey!
it’s their decision, so we bow :slight_smile: