On 12.04.2012 21:37, jem_7@xxxxxx wrote:
> Hi Daniel,
>
> thanks a lot for your reply.
>
>> Sorry for catching up so late. Is this issue solved already?
>>
>> On 28.02.2012 00:43, Joachim Gahl wrote:
>> > I would like to ask for some help with an USB audio class 2 device.
>>
>> [...]
>>
>> > I am running openSUSE 11.4, 64bit (Kernel 2.6.37-0.11 desktop). ALSA
>> > version is 1.0.24 according to YAST but alsamixer reports driver
>> > version 1.0.23.
>> >
>> > When I connect the Axe-Fx II to my systems the MIDI interface appears
>> > and works. Problem is the audio interface. /var/log/messages reports
>> >
>> > ALSA format.c:287: parse_audio_format_rates_v2(): unable to retrieve
>> > number of sample rates (clock 40) ALSA format.c:287:
>> > parse_audio_format_rates_v2(): unable to retrieve number of sample
>> > rates (clock 5)
>> >
>> > and no capture or playback device can be found.
>> >
>> > I emailed the manufacturer and they told me that the Axe-Fx II does
>> > not respond to GetSampleFrequencyRange requests. So I suspect this
>> > might be the reason for the error messages.
>>
>> Which violates the spec IIRC. How should the driver know about
>> configurable sample rates then?
>>
>> I can send you a patch that adds a quirk to hard-code the sample rates
>> for this card, but I would need to known which ones are valid.
>>
>>
>> Daniel
>
> Unfortunately I don't know how to appropiately mail a follow-up to your
> posting. So this post might not show up as a direct reply. Apologies for
> that.
Yes, it did. As I wrote already, I would rather go for a quirk like in
the attached patch. That should works, assuming the rest of the device
complies to the specs. Can you give it a try?
Regarding the mail follow-ups, just reply to the list, that's enough.
Daniel
diff --git a/sound/usb/format.c b/sound/usb/format.c
index ddfef57..a7c59a73 100644
--- a/sound/usb/format.c
+++ b/sound/usb/format.c
@@ -279,6 +279,19 @@ static int parse_audio_format_rates_v2(struct snd_usb_audio *chip,
int nr_triplets, data_size, ret = 0;
int clock = snd_usb_clock_find_source(chip, fp->clock);
+ /*
+ * Fractal Audio Systems AXE-FX II does not respond to sample rate
+ * query requests. The only valid rate is 48000.
+ */
+ if (chip->usb_id == USB_ID(0x2466, 0x8003)) {
+ fp->rate_table = NULL;
+ fp->nr_rates = 1;
+ fp->rate_min = 48000;
+ fp->rate_max = 48000;
+ fp->rates = SNDRV_PCM_RATE_48000;
+ return 0;
+ }
+
if (clock < 0) {
snd_printk(KERN_ERR "%s(): unable to find clock source (clock %d)\n",
__func__, clock);
------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user