Does USB have a quality of service guarantee for data sent between my USB-CDC device and the USB host?
I know with traditional RS232 in a noisy situation (e.g. automotive diagnostic port) bad bits happen often enough that checksums are important to the protocol. If I were to adapt such a protocol to a pure-USB application, can I safely omit the checksum and related error handling routines?
For reference, I am using an AT91SAM7S256 with the USB-CDC framework provided by Atmel.
I exercised my Google-Fu a bit longer on this problem and found the following article:
This article describes a CDC subclass for Ethernet emulation and it states:
Over the USB cable, encapsulated Ethernet frames flow starting with the destination MAC address and ending just before the frame checksum. (The frame checksum is not needed since USB is a reliable transport.)
They may mean USB-CDC is reliable transport, not USB in general, since some device classes intended for high-throughput bursty data (webcam?) might not want to fill up buffers if a program can't poll for data fast enough.
I would still like additional confirmation on this.