On Wed, Mar 12, 2014 at 7:32 AM, Jef Driesen jef@libdivecomputer.org wrote:
With USB being the Universal *Serial* Bus, it's kind of funny that one thing it doesn't do very well is serial communication :-)
You spelled "sad" wrong.
Isn't USB CDC-ACM supposed to be the standardized way for emulating legacy serial communication over USB?
That is indeed supposed to be the standardized way to implement almost-legacy serial communications over USB. But it's not really a "cable replacement" standard, it tries to go further than that, which is probably why pure cable replacements seem to never use it.
As you mention, it *does* get used by people who actually end up implementing real USB on the other side.
So it is commonly used as a "virtual serial port" by people who actually implement USB natively but I've actually never seen it in an actual *physical* USB to serial port converter.
I'm not 100% sure why, but I suspect it is due to CDC-ACM simply being over-engineered for the solution, resulting in both unnecessarily complex silicon and various driver problems. It may also have been late to the party, and by the time it arrived there were three or four vendors who had solved it their own way. And then it just remained that way.
Linus