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