Re: USB device driver development

My only experience with HID has been implementing a game controller HID

> firmware so I didn't need using hidparse.dll. Do you know good books or > articels about this?

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

formatting link

My USB Code page has example code:

formatting link

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

formatting link

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

formatting link

Jan Axelson

formatting link

Reply to
jan axelson
Loading thread data ...

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)

Yaakov

Reply to
Yaakov

right

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.

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 critical.

Another source for a very good custom driver is

formatting link
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...

Jürgen

Reply to
Juergen Veith

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 firmware)?

Thanks -- Peter

Reply to
Peter Ritchie

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.

Reply to
Jürgen Veith

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.