Re: USB device driver development

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Quoted text here. Click to load it

My USB page has links to a couple of articles about HIDs:

My USB Code page has example code:

And USB Complete has 4 chapters about device and host HID programming:

HID isn't the only class supported by Windows. For a list of what USB
class drivers each edition of Windows includes, see:

Jan Axelson

Re: USB device driver development
Quoted text here. Click to load it

WinDriver USB (from Jungo) cost me $3000. I have a support contract at
$1200 a year. They generally give good support (usually same day maybe
next and the answers usually address the question and not "we fixed it
in the next version", although that happens too occasionally)


Re: USB device driver development
Quoted text here. Click to load it

check the registry and you will find all attached devices to
compare your Product ID. This is a long expression chained
with a GUID from Microsoft.

Quoted text here. Click to load it

High bandwith and low latency are contrary. Isochronous
is the only USB method supporting both on the cost of
no handshake and possible data lost. Low latency is done
by interrupt pipe where data will be limited to one buffer
size (normally 64 bytes for full speed) per frame (1 mSec
full speed). If you requiere bulk transfer, the bytes per
frame are higher but no spezified latency becouse the Host
waits until there is no traffic and then gives full bandwitdh.
HID is definitly wrong if you require bulk or isochronous
but also most chips cannot support isochronous mode for
streaming data what is very special topic.

If bulk is requierd, another attempt is to make a composite
device what is HID and Mass-Storage same time. Bulk
data is then written to a file while low latency uses the
interrupt pipe of HID for smaller amount of data more time

Another source for a very good custom driver is
and I used the demo for tests during developement
But dont forget the next service pack from Microsoft -
you probably need new version for custum driver...


Re: USB device driver development
Hello all,

Based upon my research so far: USB firmware written to comply with the
CDC specification only requires the device's VID/PID be registered
with Windows 2000/XP (overly simplistic, yes--an INF file is required)
to support the built-in CDC drivers.  I'm also assuming the same holds
true for the HID class.

Am I way off on this.  If not, could any point me toward some good CDC
firmware resources (like that found in USB Complete regarding HID

Thanks -- Peter (jan axelson) wrote in message
Quoted text here. Click to load it

Re: USB device driver development
Quoted text here. Click to load it

Choose the ACM (abstract Communication Model) Subclass and CDC provides
a virtual COM Port for your application. There are some bugs in current
windows CDC drivers and the host is doing some requests what are never
announced. This case you have to return anything for confirmation, other
while you will get a blue screen. Another thing is the bandwidth what is
poor for CDC but this cannot be considered as a bug becouse modem
devices have much lower throughput than 12 Mbit fullspeed. Furthermore
WinXP has some Plug and Play bugs. When removing the device e.g. error
message "unexpected removal" and if you plug back it needs a while to
be enumerated again. But probably you like to design for Linux where
the CDC driver is available in experimetal state more stable than Win.

Site Timeline