Re: USB devices changing UIDs
Re: USB devices changing UIDs
- Subject: Re: USB devices changing UIDs
- From: Mark Cookson <email@hidden>
- Date: Thu, 13 Dec 2001 08:09:54 -0800
On 12/13/01 12:46 AM, "Sven Duwenhorst" <email@hidden> wrote:
>
Hi,
>
>
I see following UIDs:
>
>
Sampling frequency set to 44.1kHz at the box:
>
"AppleUSBAudioEngine:Roland:UA-30 (44100Hz, Analog REC):8110000:1"
>
>
Sampling frequency set to 48kHz at the box:
>
"AppleUSBAudioEngine:Roland:UA-30 (48000Hz, Analog REC):8110000:1"
>
>
Switched to digital input at the box:
>
"AppleUSBAudioEngine:Roland:UA-30 (48000Hz, Digiral REC):8110000:1"
>
even if I had a 44.1kHz clock connected to it.
>
>
> What information do you suggest I make the UID with?
>
>
The UID is fine as it is except that I don't want to see any audio
>
properties in it. Who is providing the <productString> information, the
>
Roland box or the USB driver?
The USB audio driver gets the productString from the UA-30 using standard
USB requests. The UA-30 changes what it reports as its product string when
you flip that switch. I don't know why they did it this way, since clearly
the product hasn't changed when you flip that switch (which would seem to be
non-compliant with the USB spec).
The driver is what makes the UID since the IOAudioFamily can't make a unique
enough identifier for the USB audio driver (you could have two of the same
device plugged in, in which case the IOAudioFamily wouldn't make two
different UIDs, which defeats the whole purpose), but the driver just makes
the UID using information returned from the device and from USB (the
manufacturer and product are returned from the device, and the last two
numbers are returned from USB; they are it's location in the bus topology
and the interface of the device that the driver was loaded for).
I think that this is a bug in the UA-30, not in the driver.
--
Mark Cookson
Engineering Droid
Apple Computer, Inc.
Core Audio CPU Software
6 Infinite Loop MS 306-2CW
Cupertino, CA 95014