From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tuukka Pasanen Subject: Re: Rane SL-4 USB sound card Date: Mon, 06 Jul 2015 15:42:29 +0300 Message-ID: <559A77B5.5060905@gmail.com> References: <5597A9AE.2090002@gmail.com> <55996A35.6030904@ladisch.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-wg0-f52.google.com (mail-wg0-f52.google.com [74.125.82.52]) by alsa0.perex.cz (Postfix) with ESMTP id 092A62605C8 for ; Mon, 6 Jul 2015 14:42:29 +0200 (CEST) Received: by wgjx7 with SMTP id x7so139046967wgj.2 for ; Mon, 06 Jul 2015 05:42:28 -0700 (PDT) In-Reply-To: <55996A35.6030904@ladisch.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Clemens Ladisch , alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org Hello, Thanks you for you reply. That did the trick almost. It only gives sysdefault with two channels and error: [176317.418587] usb 1-5: parse_audio_format_rates_v2(): unable to retrieve number of sample rates (clock 5) [176317.419156] usb 1-5: parse_audio_format_rates_v2(): unable to retrieve number of sample rates (clock 5) I figured out this kind of QUIRK which seems to be working (go to test tomorrow more). I would go with first quirck as it's looking simpler but I can't add rates to it? { USB_DEVICE(0x1cc5, 0x000f), .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { .ifnum = QUIRK_ANY_INTERFACE, .type = QUIRK_COMPOSITE, .data = (const struct snd_usb_audio_quirk[]) { { .ifnum = 1, .type = QUIRK_AUDIO_FIXED_ENDPOINT, .data = &(const struct audioformat) { .formats = SNDRV_PCM_FMTBIT_S24_3LE, .channels = 4, .iface = 1, .altsetting = 1, .altset_idx = 1, .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE, .endpoint = 0x06, .ep_attr = USB_ENDPOINT_XFER_ISOC, .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_96000, .rate_min = 48000, .rate_max = 96000, .nr_rates = 2, .rate_table = (unsigned int[]) { 48000, 96000 } } }, { .ifnum = 2, .type = QUIRK_AUDIO_FIXED_ENDPOINT, .data = &(const struct audioformat) { .formats = SNDRV_PCM_FMTBIT_S24_3LE, .channels = 4, .iface = 2, .altsetting = 1, .altset_idx = 1, .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE, .endpoint = 0x82, .ep_attr = USB_ENDPOINT_XFER_ISOC, .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_96000, .rate_min = 48000, .rate_max = 96000, .nr_rates = 2, .rate_table = (unsigned int[]) { 48000, 96000 } } }, { .ifnum = -1, } } } }, Sincerely, Tuukka 05.07.2015, 20:32, Clemens Ladisch kirjoitti: > Tuukka Pasanen wrote: >> I've been hacking to get Rane SL-4 USB audio ... to work with ALSA. >> I have compiled kernel and tried to get USB-quirks to work with this ... it doesn't do the trick >> If I need interface association how to do that? > The interface association descriptor should have been provided by the firmware. > > Anyway, try the following quirk: > > { > USB_DEVICE(0x1cc5, 0x000f), > .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { > .ifnum = QUIRK_ANY_INTERFACE, > .type = QUIRK_COMPOSITE, > .data = (const struct snd_usb_audio_quirk[]) { > { > .ifnum = 1, > .type = QUIRK_AUDIO_STANDARD_INTERFACE > }, > { > .ifnum = 2, > .type = QUIRK_AUDIO_STANDARD_INTERFACE > }, > { > .ifnum = -1, > } > } > } > }, > > > Regards, > Clemens