* Fwd: Overrun Errors - SAM9G [not found] <CABSY_ZsjSaZQA+KadBWnzR-9=YQby-Fnb9ZpBGZpXHtVsZZXMw@mail.gmail.com> @ 2014-07-17 12:54 ` Akshay Mishra 2014-07-17 16:09 ` Akshay Mishra 2014-07-22 2:27 ` Fwd: " Bo Shen 0 siblings, 2 replies; 6+ messages in thread From: Akshay Mishra @ 2014-07-17 12:54 UTC (permalink / raw) To: alsa-devel Hello, I am trying a simple alsa capture on the Atmel ARM9 (SAM9G45). While only capture runs fine, putting any os call on the same thread gives XRUNs. Even a innocent usleep(1) seems to lead to regular XRUNs. Eventually I want to dump this capture on the serial port and I am not able to get past this. I have tried on AT91 linux as well as on kernel 3.10.10-rt7 with no success. Please advice, Akshay ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Overrun Errors - SAM9G 2014-07-17 12:54 ` Fwd: Overrun Errors - SAM9G Akshay Mishra @ 2014-07-17 16:09 ` Akshay Mishra 2014-07-22 2:27 ` Fwd: " Bo Shen 1 sibling, 0 replies; 6+ messages in thread From: Akshay Mishra @ 2014-07-17 16:09 UTC (permalink / raw) To: alsa-devel On 17 July 2014 18:24, Akshay Mishra <akshaymishra@gmail.com> wrote: > Hello, > I am trying a simple alsa capture on the Atmel ARM9 (SAM9G45). While > only capture runs fine, putting any os call on the same thread gives XRUNs. > > Even a innocent usleep(1) seems to lead to regular XRUNs. Eventually I > want to dump this capture on the serial port and I am not able to get past > this. > > running pulseaudio gives me the following. I am not sure if this is related. snd_pcm_avail() returned a value that is exceptionally large: 414168 bytes (2347 ms). E: [alsa-sink] alsa-util.c: Most likely this is a bug in the ALSA driver '(null)'. Please report this issue to the ALSA developers. E: [alsa-sink] alsa-util.c: snd_pcm_dump(): E: [alsa-sink] alsa-util.c: Hardware PCM card 0 'Atmel AC97C' device 0 subdevice 0 E: [alsa-sink] alsa-util.c: Its setup is: E: [alsa-sink] alsa-util.c: stream : PLAYBACK E: [alsa-sink] alsa-util.c: access : MMAP_INTERLEAVED E: [alsa-sink] alsa-util.c: format : S16_LE E: [alsa-sink] alsa-util.c: subformat : STD E: [alsa-sink] alsa-util.c: channels : 2 E: [alsa-sink] alsa-util.c: rate : 44100 E: [alsa-sink] alsa-util.c: exact rate : 44100 (44100/1) E: [alsa-sink] alsa-util.c: msbits : 16 E: [alsa-sink] alsa-util.c: buffer_size : 8640 E: [alsa-sink] alsa-util.c: period_size : 1440 E: [alsa-sink] alsa-util.c: period_time : 32653 E: [alsa-sink] alsa-util.c: tstamp_mode : ENABLE E: [alsa-sink] alsa-util.c: period_step : 1 E: [alsa-sink] alsa-util.c: avail_min : 7759 E: [alsa-sink] alsa-util.c: period_event : 0 E: [alsa-sink] alsa-util.c: start_threshold : -1 E: [alsa-sink] alsa-util.c: stop_threshold : 1132462080 E: [alsa-sink] alsa-util.c: silence_threshold: 0 E: [alsa-sink] alsa-util.c: silence_size : 0 E: [alsa-sink] alsa-util.c: boundary : 1132462080 E: [alsa-sink] alsa-util.c: appl_ptr : 396378 E: [alsa-sink] alsa-util.c: hw_ptr : 491280 > I have tried on AT91 linux as well as on kernel 3.10.10-rt7 with no > success. > > Please advice, > Akshay > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Fwd: Overrun Errors - SAM9G 2014-07-17 12:54 ` Fwd: Overrun Errors - SAM9G Akshay Mishra 2014-07-17 16:09 ` Akshay Mishra @ 2014-07-22 2:27 ` Bo Shen 2014-07-22 2:38 ` Akshay Mishra 1 sibling, 1 reply; 6+ messages in thread From: Bo Shen @ 2014-07-22 2:27 UTC (permalink / raw) To: Akshay Mishra, alsa-devel Hi Akshay, On 07/17/2014 08:54 PM, Akshay Mishra wrote: > Hello, > I am trying a simple alsa capture on the Atmel ARM9 (SAM9G45). While > only capture runs fine, putting any os call on the same thread gives XRUNs. > > Even a innocent usleep(1) seems to lead to regular XRUNs. Eventually I want > to dump this capture on the serial port and I am not able to get past this. Do you test with alsa utils. If yes, where you add the usleep(1) in code? > I have tried on AT91 linux as well as on kernel 3.10.10-rt7 with no success. I try both kernel and don't reproduce this issue with alsa utils. > Please advice, > Akshay Best Regards, Bo Shen ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Fwd: Overrun Errors - SAM9G 2014-07-22 2:27 ` Fwd: " Bo Shen @ 2014-07-22 2:38 ` Akshay Mishra 2014-07-22 6:02 ` Bo Shen 0 siblings, 1 reply; 6+ messages in thread From: Akshay Mishra @ 2014-07-22 2:38 UTC (permalink / raw) To: Bo Shen; +Cc: alsa-devel [-- Attachment #1: Type: text/plain, Size: 1097 bytes --] On 22 July 2014 07:57, Bo Shen <voice.shen@atmel.com> wrote: > Hi Akshay, > > > On 07/17/2014 08:54 PM, Akshay Mishra wrote: > >> Hello, >> I am trying a simple alsa capture on the Atmel ARM9 (SAM9G45). While >> only capture runs fine, putting any os call on the same thread gives >> XRUNs. >> >> Even a innocent usleep(1) seems to lead to regular XRUNs. Eventually I >> want >> to dump this capture on the serial port and I am not able to get past >> this. >> > > Do you test with alsa utils. If yes, where you add the usleep(1) in code? > > > I have tried on AT91 linux as well as on kernel 3.10.10-rt7 with no >> success. >> > > I try both kernel and don't reproduce this issue with alsa utils. > > Bo, I put usleep(x) after the snd_pcm_readi. I also tried with this code (attached). usleep at Line 88 gives the error. Another observation is, disabling HRTimer the -EPIPE error was not seen but I need further tests to be sure about this behaviour. The code is from here (http://www.linuxjournal.com/node/6735/print). > Please advice, >> Akshay >> > > Best Regards, > Bo Shen > > [-- Attachment #2: cap.c --] [-- Type: text/x-csrc, Size: 2899 bytes --] /* This example reads from the default PCM device and writes to standard output for 5 seconds of data. */ /* Use the newer ALSA API */ #define ALSA_PCM_NEW_HW_PARAMS_API #include <alsa/asoundlib.h> #include <time.h> int main() { long loops; int rc; int size; snd_pcm_t *handle; snd_pcm_hw_params_t *params; unsigned int val; int dir; snd_pcm_uframes_t frames; char *buffer; /* Open PCM device for recording (capture). */ rc = snd_pcm_open(&handle, "default", SND_PCM_STREAM_CAPTURE, 0); if (rc < 0) { fprintf(stderr, "unable to open pcm device: %s\n", snd_strerror(rc)); exit(1); } /* Allocate a hardware parameters object. */ snd_pcm_hw_params_alloca(¶ms); /* Fill it in with default values. */ snd_pcm_hw_params_any(handle, params); /* Set the desired hardware parameters. */ /* Interleaved mode */ snd_pcm_hw_params_set_access(handle, params, SND_PCM_ACCESS_RW_INTERLEAVED); /* Signed 16-bit little-endian format */ snd_pcm_hw_params_set_format(handle, params, SND_PCM_FORMAT_S16_LE); /* Two channels (stereo) */ snd_pcm_hw_params_set_channels(handle, params, 2); /* 44100 bits/second sampling rate (CD quality) */ val = 48000; snd_pcm_hw_params_set_rate_near(handle, params, &val, &dir); /* Set period size to 32 frames. */ frames = 32; snd_pcm_hw_params_set_period_size_near(handle, params, &frames, &dir); printf("Frames %d\n",frames); /* Write the parameters to the driver */ rc = snd_pcm_hw_params(handle, params); if (rc < 0) { fprintf(stderr, "unable to set hw parameters: %s\n", snd_strerror(rc)); exit(1); } /* Use a buffer large enough to hold one period */ snd_pcm_hw_params_get_period_size(params, &frames, &dir); size = frames * 4; /* 2 bytes/sample, 2 channels */ buffer = (char *) malloc(size); snd_pcm_hw_params_get_period_time(params, &val, &dir); loops = 5000000 / val; while (1) { loops--; rc = snd_pcm_readi(handle, buffer, frames); usleep(1); //--Akshay -- This fails with my config if (rc == -EPIPE) { /* EPIPE means overrun */ fprintf(stderr, "overrun occurred %lu\n",(unsigned)time(NULL)); snd_pcm_prepare(handle); } else if (rc < 0) { fprintf(stderr, "error from read: %s\n", snd_strerror(rc)); } else if (rc != (int)frames) { fprintf(stderr, "short read, read %d frames\n", rc); } // rc = write(1, buffer, size); // if (rc != size) // fprintf(stderr, // "short write: wrote %d bytes\n", rc); } snd_pcm_drain(handle); snd_pcm_close(handle); free(buffer); return 0; } [-- Attachment #3: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Fwd: Overrun Errors - SAM9G 2014-07-22 2:38 ` Akshay Mishra @ 2014-07-22 6:02 ` Bo Shen 2014-07-22 6:20 ` Akshay Mishra 0 siblings, 1 reply; 6+ messages in thread From: Bo Shen @ 2014-07-22 6:02 UTC (permalink / raw) To: Akshay Mishra; +Cc: alsa-devel Hi Akshay, On 07/22/2014 10:38 AM, Akshay Mishra wrote: > On 22 July 2014 07:57, Bo Shen <voice.shen@atmel.com > <mailto:voice.shen@atmel.com>> wrote: > > Hi Akshay, > > > On 07/17/2014 08:54 PM, Akshay Mishra wrote: > > Hello, > I am trying a simple alsa capture on the Atmel ARM9 > (SAM9G45). While > only capture runs fine, putting any os call on the same thread > gives XRUNs. > > Even a innocent usleep(1) seems to lead to regular XRUNs. > Eventually I want > to dump this capture on the serial port and I am not able to get > past this. > > > Do you test with alsa utils. If yes, where you add the usleep(1) in > code? > > > I have tried on AT91 linux as well as on kernel 3.10.10-rt7 with > no success. > > > I try both kernel and don't reproduce this issue with alsa utils. > > > Bo, I put usleep(x) after the snd_pcm_readi. I also tried with this code > (attached). > usleep at Line 88 gives the error. > > Another observation is, disabling HRTimer the -EPIPE error was not seen > but I need further tests to be sure about this behaviour. In contrast, I enable HRTimer, the -EPIPE error is gone. I briefly go through the code: usleep --> .. --> nanosleep (define in <kernel/hrtime.c>) Actually, I can not understand why you add a usleep(1) in this piece of code. :( > The code is from here (http://www.linuxjournal.com/node/6735/print). > > > Please advice, > Akshay > Best Regards, Bo Shen ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Fwd: Overrun Errors - SAM9G 2014-07-22 6:02 ` Bo Shen @ 2014-07-22 6:20 ` Akshay Mishra 0 siblings, 0 replies; 6+ messages in thread From: Akshay Mishra @ 2014-07-22 6:20 UTC (permalink / raw) To: Bo Shen; +Cc: alsa-devel On 22 July 2014 11:32, Bo Shen <voice.shen@atmel.com> wrote: > Hi Akshay, > > > On 07/22/2014 10:38 AM, Akshay Mishra wrote: > >> On 22 July 2014 07:57, Bo Shen <voice.shen@atmel.com >> <mailto:voice.shen@atmel.com>> wrote: >> >> Hi Akshay, >> >> >> On 07/17/2014 08:54 PM, Akshay Mishra wrote: >> >> Hello, >> I am trying a simple alsa capture on the Atmel ARM9 >> (SAM9G45). While >> only capture runs fine, putting any os call on the same thread >> gives XRUNs. >> >> Even a innocent usleep(1) seems to lead to regular XRUNs. >> Eventually I want >> to dump this capture on the serial port and I am not able to get >> past this. >> >> >> Do you test with alsa utils. If yes, where you add the usleep(1) in >> code? >> >> >> I have tried on AT91 linux as well as on kernel 3.10.10-rt7 with >> no success. >> >> >> I try both kernel and don't reproduce this issue with alsa utils. >> >> >> Bo, I put usleep(x) after the snd_pcm_readi. I also tried with this code >> (attached). >> usleep at Line 88 gives the error. >> >> Another observation is, disabling HRTimer the -EPIPE error was not seen >> but I need further tests to be sure about this behaviour. >> > > In contrast, I enable HRTimer, the -EPIPE error is gone. > I briefly go through the code: usleep --> .. --> nanosleep (define in > <kernel/hrtime.c>) > > do you mean, disabling HRTimer you had -EPIPE ? I am positive on disabling the HRTimer, CPU Freeze which made the -EPIPE vanish and the moment I enable it, I again get -EPIPE. :-( > Actually, I can not understand why you add a usleep(1) in this piece of > code. :( > > Bo, as I mentioned earlier -- the usleep is only a placeholder. Any system call (like write to serial port) also gives same result but since I cannot ask you to do serial transmit - you may not have it setup I asked you to do a usleep since it gives me the same result. I have requested for a SAM9G45-EK from the local Atmel office and once I get it I shall inform you further on this on the same platform. -Akshay > > The code is from here (http://www.linuxjournal.com/node/6735/print). >> >> >> Please advice, >> Akshay >> >> > Best Regards, > Bo Shen > > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-07-22 6:20 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CABSY_ZsjSaZQA+KadBWnzR-9=YQby-Fnb9ZpBGZpXHtVsZZXMw@mail.gmail.com>
2014-07-17 12:54 ` Fwd: Overrun Errors - SAM9G Akshay Mishra
2014-07-17 16:09 ` Akshay Mishra
2014-07-22 2:27 ` Fwd: " Bo Shen
2014-07-22 2:38 ` Akshay Mishra
2014-07-22 6:02 ` Bo Shen
2014-07-22 6:20 ` Akshay Mishra
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.