@herman As a programmer and electronic interface design engineer, you're not "locked" into using isochronous mode: You have bandwidth and buffers so if i can transfer 500 MBps+ (using SATA SSD = 4 Gbps+) of data without error (well, if there are errors, they are corrected), it should't be a problem to playback music!
The USB spec has a enough protocol sophistication to handle many things. Of course, computer setup, minimal cabling care (lenght, compliance, etc) and other evidences must be met.
Want to test cables for performance?
https://www.passmark.com/downloads/USB3LoopbackPlugUsersGuide.pdf
It's about 100$ so for those who want to spend big money on cables, that shouldn't be a problem.
On the Linux platform, you can hook to the kernel and you have a rich set entry points / data to monitor USB for performance and errors. Windows / Mac should have a couple of tools too (i'm a Linux user, so not sure about those 2). So imagine testing a USB cable with NVMe to USB adaptor and pushing gigabits of data through it. If your cable is not good, it'll show.
cp /dev/nvme0n1 /dev/null
(copy from external NVMe USB drive to NULL = Max Speed of the source). Of course it's bulk mode!
As for transfer mode, here is a user question and a response from usb.org:
https://thepenguin.eu/2018-01-19-audiophile-usb-cables/
USB transmits information digitally. Bits are either received correctly or not received. What a bit looks like on the wire has no effect on quality if the bit is received correctly. If a bit is not receive correctly, error checking in USB protocols will flag the error in data transmission. Jitter is not a cable problem. Jitter is a transceiver (PHY) issue on the devices. Can bits get scrambled within a cable assembly on occasion? Yes, primarily due to EMI but this is highly unlikely -- more on that later. Is occasional data scrambling a problem for audio/video?
Maybe. The answer depends on the hardware receiving/rendering the data. USB supports isochronous transport which is a timely delivery of data. The isochronous transport has guaranteed bandwidth on USB. Isochronous protocol, however, does not support error recovery. In other words, if data is flagged as an error by the receiver, there will be no attempt at data retransmission.
So if the receiver is using the isochronous protocol, then there can be errors in data. Most webcams use the isochronous transport. High-end audio/video equipment that does not mandate real-time delivery of data should not use the isochronous transport because accurate data delivery is not guaranteed.
USB also supports bulk transport. The Bulk transport shares bandwidth and timely delivery is not guaranteed. Bulk protocol does have error recovery and errors in data will be retried. If the receiver uses the bulk USB protocol, then there will be no errors in the data.
This is why USB mass storage devices always use the Bulk transport. Most USB audio/video devices use the bulk transport because real-time delivery of the data is not necessary. Bulk audio/video devices will buffer data before rendering it.
I can think of only two situations where the audio/video will be disturbed when rendered: 1) If the host is busy performing IO to other USB devices, or 2) There are errors in data transmission where continual retries cause buffer under-run to occur.
The second point could be cable related -- it could also be poor hardware design of the host or peripheral as well. The USB Bulk transport works very nicely for audio and video because data is accurately delivered. Now onto cable quality. A cheap USB cable will work perfectly fine in the vast majority of home/office environments. All USB certified cables use certified connectors and are shielded, have minimal skew on the data lines, and meet criteria regarding impedance and voltage drop. If the environment is extremely noisy with EMI, then a better shielded cable may be necessary. Usually relocating the cable or power strips will suffice to mitigate EMI. Personally, I would never recommend anyone buy an expensive USB cable unless they are experiencing problems not related to their hardware and there exists definitive suspicions of environmental interference.
I do always recommend that the cable purchased be USB certified which provides assurance that the product is properly designed for USB. Using USB certified audio/video equipment also assures that the USB signal quality and other packet parameters of the transceiver meets specifications. Of course, all of the above is premised upon properly designed and functioning hardware. Regards, Mark Paxson USB-IF Compliance Administrator TechAdmin@usb.org
The USB spec has a enough protocol sophistication to handle many things. Of course, computer setup, minimal cabling care (lenght, compliance, etc) and other evidences must be met.
Want to test cables for performance?
https://www.passmark.com/downloads/USB3LoopbackPlugUsersGuide.pdf
It's about 100$ so for those who want to spend big money on cables, that shouldn't be a problem.
On the Linux platform, you can hook to the kernel and you have a rich set entry points / data to monitor USB for performance and errors. Windows / Mac should have a couple of tools too (i'm a Linux user, so not sure about those 2). So imagine testing a USB cable with NVMe to USB adaptor and pushing gigabits of data through it. If your cable is not good, it'll show.
cp /dev/nvme0n1 /dev/null
(copy from external NVMe USB drive to NULL = Max Speed of the source). Of course it's bulk mode!
As for transfer mode, here is a user question and a response from usb.org:
https://thepenguin.eu/2018-01-19-audiophile-usb-cables/
USB transmits information digitally. Bits are either received correctly or not received. What a bit looks like on the wire has no effect on quality if the bit is received correctly. If a bit is not receive correctly, error checking in USB protocols will flag the error in data transmission. Jitter is not a cable problem. Jitter is a transceiver (PHY) issue on the devices. Can bits get scrambled within a cable assembly on occasion? Yes, primarily due to EMI but this is highly unlikely -- more on that later. Is occasional data scrambling a problem for audio/video?
Maybe. The answer depends on the hardware receiving/rendering the data. USB supports isochronous transport which is a timely delivery of data. The isochronous transport has guaranteed bandwidth on USB. Isochronous protocol, however, does not support error recovery. In other words, if data is flagged as an error by the receiver, there will be no attempt at data retransmission.
So if the receiver is using the isochronous protocol, then there can be errors in data. Most webcams use the isochronous transport. High-end audio/video equipment that does not mandate real-time delivery of data should not use the isochronous transport because accurate data delivery is not guaranteed.
USB also supports bulk transport. The Bulk transport shares bandwidth and timely delivery is not guaranteed. Bulk protocol does have error recovery and errors in data will be retried. If the receiver uses the bulk USB protocol, then there will be no errors in the data.
This is why USB mass storage devices always use the Bulk transport. Most USB audio/video devices use the bulk transport because real-time delivery of the data is not necessary. Bulk audio/video devices will buffer data before rendering it.
I can think of only two situations where the audio/video will be disturbed when rendered: 1) If the host is busy performing IO to other USB devices, or 2) There are errors in data transmission where continual retries cause buffer under-run to occur.
The second point could be cable related -- it could also be poor hardware design of the host or peripheral as well. The USB Bulk transport works very nicely for audio and video because data is accurately delivered. Now onto cable quality. A cheap USB cable will work perfectly fine in the vast majority of home/office environments. All USB certified cables use certified connectors and are shielded, have minimal skew on the data lines, and meet criteria regarding impedance and voltage drop. If the environment is extremely noisy with EMI, then a better shielded cable may be necessary. Usually relocating the cable or power strips will suffice to mitigate EMI. Personally, I would never recommend anyone buy an expensive USB cable unless they are experiencing problems not related to their hardware and there exists definitive suspicions of environmental interference.
I do always recommend that the cable purchased be USB certified which provides assurance that the product is properly designed for USB. Using USB certified audio/video equipment also assures that the USB signal quality and other packet parameters of the transceiver meets specifications. Of course, all of the above is premised upon properly designed and functioning hardware. Regards, Mark Paxson USB-IF Compliance Administrator TechAdmin@usb.org