Fedor G. Pikus wrote: > > Fedor G. Pikus wrote: > > > > > > > arecord: pcm_read:1049: read error: Input/output error > > > > > > Still nothing in the log, even with --with-debug=full > > I built arecord and libasound with debug and went into it with gdb. > I traced it to the function static snd_pcm_sframes_t snd_pcm_hw_readi(...) > in pcm_hw.c line 525. There, it makes a call to > result = ioctl(fd, SNDRV_PCM_IOCTL_READI_FRAMES, &xferi); > and pauses for a few seconds. When ioctl returns, result == -1, > size == 5, xferi == {result = -5, buf = 0x805a470, frames = 4096}, > and errno == 5 (EIO according to asm/include.h, the man page for ioctl does > not even list it among valid error codes). The function immediately returns, > and arecord exits.
If the pause is 10 seconds, the error may have been returned by the following code in snd_pcm_lib_read1: if (schedule_timeout(10 * HZ) == 0) { state = ... EXPIRED; break; } ... case EXPIRED: snd_printd("capture read error (DMA or IRQ trouble?)\n"); err = -EIO; Or is the pause 5 seconds (the timeout of usb_set_interface)? if (usb_set_interface(dev, subs->interface, fmt->altset_idx) < 0) { snd_printk(KERN_ERR "%d:%d:%d: usb_set_interface failed\n", dev->devnum, subs->interface, fmt->altsetting); return -EIO; } Are you _really_ sure you have recompiled the entire alsa-driver package with debug output, installed it correctly, and there's nothing in the log? Please try inserting the line snd_printk(KERN_ERR "now calling usb_set_interface ...\n"); immediately before the line with usb_set_interface in usbaudio.c. This message must always be visible in the log. HTH Clemens ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel