Re: Published! Technical Note TN2274: USB Audio on the Mac
Re: Published! Technical Note TN2274: USB Audio on the Mac
- Subject: Re: Published! Technical Note TN2274: USB Audio on the Mac
- From: Gordon Rankin <email@hidden>
- Date: Wed, 11 Aug 2010 08:34:17 -0400
- Organization: Wavelength Audio, ltd.
Message: 1
Date: Wed, 11 Aug 2010 11:03:34 +1000
From: Iain McCowan <email@hidden>
Subject: Re: Published! Technical Note TN2274: USB Audio on the Mac
To: Alison Hughes <email@hidden>, CoreAudio API
<email@hidden>
Message-ID:
<AANLkTimx4crWxhne9u9nNhGKJ_2=email@hidden>
Content-Type: text/plain; charset="iso-8859-1"
Iain,
I have not had a response on my previous posting, but here are some more
details I have found from investigating:
Sorry I missed your first post, trying to resolve some Class 2 issues to
release some products.
See below...
The crackling audio problem (from missing packet reads) disappears in two
cases:
- If I force the device to be allocated on one of the internal high-speed
USB busses by attaching it to a USB 2.0 hub (bus powered only), it works
perfectly. All the hub connection does is change the internal bus
allocation - it is not providing any additional power, and my device is
still enumerated the same (full-speed, etc).
Most of the 2.0 Hubs have provisions for Full Speed devices and store
and re-transmit those packets for the device. This will probably miss
lead your troubleshooting.
You may want to tell us what is happening using a USB Analyzer. This
would actually tell you what the computer is getting and see if there is
any erroneous data being sent from your device. Total Phase has some
nice inexpensive ones that work very well.
- If we modify our firmware to not synchronise with the USB SOF, then it
works perfectly. However unfortunately this breaks things on other
operating systems.
Part of the problem is that there are suddle differences between
operating systems. In the most cases with the devices I have created OSX
is very similar to operation to both Windows Vista and 7. Linux and XP
seem to have the same characteristics. Therefore there are basically 3
systems that I look at when designing any USB Audio devices.
None of these work really the same way 100% but you can make your code
at the device level work for all of them.
Regardless of what you know, not all USB ports are created equal. Being
from High End Audio this discussion is lengthy but basically shared
ports don't work as well as ones that are not. The Mac Mini 2009 5 port
USB version has some load leveling hub internal that really throws users
for some loops. If you use the System Profiler (Applications: Utilities)
you can see where the ports are located. You can sometimes turn off
things like Bluetooth etc... in your system which will change the
operation of that USB port. You should also download the latest OSX
development software and locate the USB Prober application which is very
beneficial in determining correct enumeration.
Another problem is your packet length is really taxing the Full Speed
specification. Running at higher than 8Mbps on the line means that even
cables may have an effect on your product. Using a USB Analyzer will
tell you a lot about that as it will be extending the distance of the
cable and putting a load on it as well. Making things work with a USB
Analyzer and your distributed cable will assure it will work in most
cases in the field.
From your description this is a xover issue between CoreAudio (USB
Driver) and the USB list. I would think both Alison and Bill would be
your best contact to resolve this. If I can help out please don't
hesitate to ask.
Thanks
Gordon
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden