On 12.04.2012 21:37, je...@web.de 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@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to