В Пт, 02/11/2018 в 16:57 +0100, Takashi Iwai пишет:
On Wed, 31 Oct 2018 20:45:07 +0100, Robert Giaraffa wrote:
Thank you very much for your prompt response.
I tested the CP2615 and Fast Track Ultra by running aplay and arecord sequentially on my RPi2 v4.14.72 (with patched snd-usb-audio.ko that includes implicit feedback quirk for CP2615). Although there were minor differences in the system logs for the two devices (e.g. ‘cannot submit urb’), but otherwise both devices behaved the same: whichever operation is started last resulted in the 'Endpoint already in use' error, regardless of sequence. Detailed info below:
OK, so we obviously don't support the full duplex in this mode.
As a first step, could you try the simple patch below, and test in a sequence record -> playback? At least it should skip the check, and proceed further.
thanks,
Takashi
--- a/sound/usb/pcm.c +++ b/sound/usb/pcm.c @@ -639,6 +639,10 @@ static int configure_sync_endpoint(struct snd_usb_substream *subs) subs->cur_audiofmt, NULL);
- if (subs->sync_endpoint->type == SND_USB_ENDPOINT_TYPE_DATA &&
subs->sync_endpoint->use_count)
return 0;
- /* Try to find the best matching audioformat. */ list_for_each_entry(fp, &sync_subs->fmt_list, list) { int score = match_endpoint_audioformats(subs,
Well, this works... sort of:
[ 107.368218] usb 5-1: setting usb interface 2:1 [ 107.368225] usb 5-1: Creating new capture data endpoint #81 [ 107.834139] usb 5-1: Setting params for ep #81 (type 0, 12 urbs), ret=0 [ 107.834272] usb 5-1: Starting data EP @00000000a802b8ef [ 110.296773] usb 5-1: setting usb interface 1:1 [ 110.296779] usb 5-1: Creating new playback data endpoint #1 [ 110.296811] usb 5-1: Re-using EP 81 in iface 2,1 @00000000a802b8ef [ 110.298381] usb 5-1: Setting params for ep #1 (type 0, 12 urbs), ret=0 [ 110.298385] usb 5-1: Starting data EP @00000000b2e4f53f [ 110.300585] usb 5-1: Starting sync EP @00000000a802b8ef
but aplay aborts after several seconds:
$ LANG=C aplay -c 4 -r 48000 -f S32_LE -D hw:M4,0 test48000.wav Playing WAVE 'test48000.wav' : Signed 32 bit Little Endian, Rate 48000 Hz, Channels 4 aplay: pcm_write:2053: write error: Input/output error
And an interesting note: jack is the only app that can use the card with implicit feedback in full duplex mode even without that patch.
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel