2010/6/21 David Dillow dave@thedillows.org:
Only 35 minutes of recording but I was running in 50min.
Ok, cool, we see the problem with arecord as well, though you were getting overrun messages as well?
Yes, a lot of overrun. At least one per second.
How do I enable SND_PCM_XRUN_DEBUG with sox?
Sorry, that should be CONFIG_SND_PCM_XRUN_DEBUG in the kernel configuration, but if we can demonstrate this with arecord, there's no real reason to recompile your kernel at this point.
OK, I'll skip that. It takes rather long time to compile.
Right now uptime says load average: 0.19, 0.21, 0.18 but strace and top is the bad guys, not arecord.
An overrun means that arecord didn't run for 500ms, and the load average won't really tell you much about that -- latency can happen with low
Well, I did not see that with sox. It was running fine for 42 min.
loads. That said, I'm suspecting that you've found a problem in the driver, and I'd lay odds it is in the handling of multiple periods per buffer.
I don't know the options available on sox, but if you can use arecord to reproduce, then that is probably the best tool for the job. Can you set it up to use two periods per buffer and see if you still can reproduce? Options would look like -B 250000 -F 125000. A second test with -B 1000000 -F 500000 would be interesting, if the hw can handle buffers of that size -- I don't recall offhand.
I have just started it with -B 250000 -F 125000 and get a lot of overrun. I skipped using strace to make less stress.
cmdline is now: arecord -B 250000 -F 125000 -c 1 -r 44100 -f S16 -M -D hw:0,0 -v arec.wav
overrun!!! (at least 0.201 ms long) Status: state : XRUN trigger_time: 1277140527.1826705 tstamp : 1277140527.2005279 delay : 0 avail : 16537 avail_max : 16537 overrun!!! (at least 0.207 ms long) Status: state : XRUN trigger_time: 1277140527.128608572 tstamp : 1277140527.128793445 delay : 0 avail : 16537 avail_max : 16537 overrun!!! (at least 0.167 ms long) Status: state : XRUN trigger_time: 1277140527.256925501 tstamp : 1277140527.257071819 delay : 0 avail : 16537 avail_max : 16537
I will hopefully have my hardware back up and running tonight; BTW, what distro are you using? I'm trying Fedora 13, but I'm expecting to run into trouble with the lack of cmov support on the processor.
Debian stable.
/hans