Unrecognized diSturbing Bus
USB kills audio

»Technical Information Index

Pre-Introduction

In the beginning of 2000 RME made some stir by publishing this Tech Info about an obvious problem of USB and low latency audio.

After the first release we were flooded with feedback: other manufacturer's, magazines and users reported their experiences. In magazines and online forums many reports about bugs and compatibility problems when using USB were posted. The universal bus seemed to cause a lot more problems as many people had taken notice of so far.

Well, USB is part of our today's computers, and they cause problems every day (even without USB....) This makes it very difficult to find the exact cause of an error or misbehavior. For example: buggy USB drivers are (of course) a problem of the corresponding manufacturer, and not a general problem of USB. A good source of information on everything around USB is the website www.usbman.com. Here you'll find Tips & Tricks, compatibility tests, background information on drivers and chipsets, and much more.

But we are only interested in the low latency problem, as it directly hits our products. The first information was more mysterious, but then more and more facts allowed a serious analysis. Meanwhile the background and basics are all clear, and allow us not only to describe the problem, but also to offer a remedy.

Introduction

With Windows 98 SE and Windows 2000 two major operating systems offer ease of use and full Plug and Play for any USB device. The number of MIDI interfaces using USB grows every day, the number of USB-only ones too.

However some manufacturer's have overlooked a major disadvantage of USB: not only that USB still proves to slow down the system in many tests, it can also cause dropouts when a busmaster device simultaneously operates at lowest latency. This makes working on a professional level at low latency with audio-/MIDI sequencers impossible. This Tech Info gives some background information about the effect and how to avoid it.

Setup

Conditions for the problem to occur:

  • Working at low latency with audio and ASIO/EASI, typically under 23 ms
  • Additionally a high number of MIDI notes/events. MTC (MIDI Time Clock) makes it even worse
  • USB controller 82371AB, found in Intel BX chipset, on motherboards having only two USB ports
  • USB active in Bulk Transfer mode

How USB works

As soon as a USB device is attached to the USB port it will be recognized and installed. Immediately a communication 1000 times per second (each millisecond) is established. This alone won't cause noticeable disturbances, but as soon as a data transfer of larger amounts happens, USB can hog the PCI bus or delay threads of other tasks. Although using only a low data transfer rate (12 Mbit/s) USB behaves more performance-lowering as a 100 Mbit PCI network card.

The Intel BX Chipset...

...is the reference for highest performance and compatibility. Just motherboards using this chipset suffered from heavy dropouts in low latency tests with our cards, from random clicks to heavy crackling. Due to the fact that most manufacturer's used this chipset, and the alternatives (VIA) were unusable at that time, the integrated USB controller wasn't recognized as problem source. However it became clear soon, that the controller did not only access the PCI bus once every millisecond, but - at higher data rates - for the time of two accesses, so for more than a millisecond.

As this effect did only occur at higher data rates the obvious solution to this problem seems to be to lower the data rate. USB can use several transfer modes. Dropouts showed up with all devices configured for fullspeed mode (12Mb/s) and bulk transfer. That's one part of the problem: you'll find only mouse and keyboard as lowspeed devices (1.5Mb/s), most other devices like Scanner, Webcam or MIDI interfaces will show up as fullspeed. Additionally the USB Device Class Definition for MIDI devices only mentions the bulk transfer for MIDI interfaces. And there's more: USB audio devices use the isochronous transfer mode for even higher data rates, and even more disturbance.

Instead of the bulk transfer mode the interrupt transfer mode seems to be more suitable for MIDI interfaces. Although there is no support for high data rates (nevertheless fully sufficient for MIDI), it offers better timing control of the data transfer (whereas the bulk transfer mode is specified for data which are 'not time critical'....) Using this mode no problem occurred anymore.

BX = Ok!

One more reason why it needed so long to identify the 82371AB as cause for the dropouts: (meanwhile) there exists a large number of motherboards using the BX chipset and 82371AB causing no problem at all! Thanks to a great number of comparison tests we were able to verify that low latency audio plus USB is only a problem for older BX motherboards, like the Asus P2B series or the popular P3B-F. More precisely: all BX boards having only 2 USB ports. All newer boards include an additional hub for at least 4 USB ports (like the Asus CU-BX), and with these boards the problem is no longer present.

The Remedy

This presents a simple solution for all users having such 2-port boards, how to get better USB functionality: by simply buying an additional inexpensive USB PCI card, providing two USB ports, which can be used instead of those on the motherboard. The picture shows a standard model with Lucent chip, available for less than 35 US$ in most computer stores. A list of recommended upgrade cards can be found at Usbman.com.

As the effect is only present when all of the four conditions above are met, it's your choice to either raise the latency or to use non-critical USB devices. For example the Midex-8 from Steinberg and the emagic MT4 do not cause dropouts. According to our tests also MIDI interfaces using a serial or parallel interface, and internal ones do not cause dropouts. Steinberg did optimize the driver of the Midex-8 so that it can run even 4 devices (32 MIDI I/O ports) at once on 2-port BX boards. Whereas the Midiman USB Midisport 2x2, although providing only 2 ports, causes heavy dropouts, which presents an interesting insight on the efficiency of its USB usage. Unfortunately this performance difference normally stays invisible, as Windows does not include any tools for a serious USB performance analysis.

According to our tests non-USB MIDI interfaces with serial or parallel interface, and internal ones (PCI/ISA) do not cause any dropouts. And if you own an interface with both USB and serial interface (Unitor 8 etc.) you should prefer its reliable serial COM port.

All Clear

According to our tests motherboards with Intel's i815, VIA's KT133 and 694 chipset also operate problem-free at low latency with USB active. With all this in mind the subject USB can get an 'all clear signal' from our side, because all newer computers don't have any problem, and older ones can be updated for a few bucks, or be used with un-critical USB hardware. Please note that this signal/statement is only valid for the combination RME products, low latency audio and USB MIDI interfaces!

In the world wide web you will still find many negative reports on USB. For example you can read here why USB suffers in general from bad MIDI timing compared to other solutions (this is not true when using timestamps, i.e. AMT emagic or LTB Steinberg.) Even saying NO to all USB at all won't help much. The reality is that today nearly all inexpensive MIDI interfaces are USB-only ones, so you have to live with it, in one way or the other...

Copyright © Matthias Carstens, 2001.

All entries in this Tech Infopaper have been thoroughly checked, however no guarantee for correctness can be given. RME cannot be held responsible for any misleading or incorrect information provided throughout this manual. Lending or copying any part or the complete document or its contents is only possible with the written permission from RME.

 

Home    News    Audio Converters    Sound Cards    MADI Series     DIGICheck   Mic Preamps
Accessories    Support    RME Newsgroup    Company Info    Purchasing    Downloads    Links

Copyright 2002 RME. All rights reserved. RME is a registered trademark.
This website contains names and marks of other companies.