All of lore.kernel.org
 help / color / mirror / Atom feed
From: Clemens Ladisch <clemens@ladisch.de>
To: alsa-devel@alsa-project.org
Subject: Re: Some information about UsbPre2 UAC2 support
Date: Mon, 28 Jan 2013 14:10:06 +0100	[thread overview]
Message-ID: <510678AE.7000204@ladisch.de> (raw)
In-Reply-To: <859779859.1409131.1359376918692.JavaMail.root@spooler2-g27.priv.proxad.net>

shal@free.fr wrote:
>>
>> shal@free.fr wrote:
>>> For some compatibility raison, Sound device developer want only
>>> send a UAC1 configuration when the Operating system is Windows.
>>> The used method is based on the length of the  setup packet during
>>> the device get_descriptor function.
>>> If the length is 64, the OS is considered as Windows.
>>> Linux have choosen also this value.
>>
>> Because there are buggy devices that haven been tested only with Windows
>> and will blow up if other values are chosen.
>>
>> I guess somebody has to add a quirk for this device to the driver.
>
> It is more complicated: Sound Devices don't want the same behavior between Mac OSX and Windows.
> Some Windows does not support UAC2 by default (without ASIO driver).
>
> The Sound Devices guy says :
> "When the computer issues a STANDARD_REQUEST_GET_DESCRIPTOR we check the setupPacket.wLength field. If it is 64 then we limit the number of configurations to 1. Windows will only load the composite class driver if the configuration number is 1. (refer to
>  http://minilien.fr/a0m7pj - note the line which says 'The device must have a single configuration'. )"
>
> It's seems that the behavior of the sound card depends to the first get_configuration() and keep it until powered.
> I discovers that when I performs a reboot in order to test my modified kernel : The sound card remains in UAC1.


> I have to plug/unplug the sound card in order to have 2 configurations
> descriptor for this device.

That's strange; the get_descriptor request should be the same.

> Can we have the vendor/product ID before the first get_configuration() ?

No.

> A usb_reset() can be helpful, perhaps?

Perhaps.

> Perhaps, we can do the same thing that the ASIO driver.

That's what I meant with the quirk.  (The first configuration does have
endpoints for high sample rates, but these aren't marked as being
compatible with either UAC 1 or 2.)


Regards,
Clemens

  reply	other threads:[~2013-01-28 13:10 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1897855798.462977802.1359220888088.JavaMail.root@spooler2-g27.priv.proxad.net>
2013-01-26 17:50 ` Some information about UsbPre2 UAC2 support shal
2013-01-26 20:29   ` Clemens Ladisch
2013-01-28 12:43     ` shal
2013-01-28 13:10       ` Clemens Ladisch [this message]
2013-01-28 13:48         ` shal
2013-01-28 14:17           ` Clemens Ladisch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=510678AE.7000204@ladisch.de \
    --to=clemens@ladisch.de \
    --cc=alsa-devel@alsa-project.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.