Last year I had tried using the MINI2440 board in a VOIP application which of course needed duplex audio which regrettably did not work. I was wondering if anybody had any experience of duplex audio on MINI6410 before I order one. Thanks Andy.
MINI6410 Audio
Hello, I didn't have experience with 6410 but I hope for you that the WM9714 audio driver (on MINI6410) works better than the UDA1341 audio driver (on MINI2440). It sucks that the UDA1341 chip support full duplex mode but this feature is not exploited. And unfortunatly I do not have the capability of modify the driver :o( Good luck ;o) Regards
Hi Jack Tell me about it! That's why there were a load of messages from me last year on this forum... I hope this does better, will let you know when my board arrives... Andy.
Eventually my board arrived - in Poland the Ex in FedEx appears not to be present! The audio is only OSS, there is no Alsa even though there is an Alsa driver for the codec but I can confirm that duplex audio via /dev/dsp actually works - just don't use O_NONBLOCK in the open statement. Using SPEEX/16000 which is quite a lot for the cpu to handle (fixed point only) top shows cpu around 46% and memory 32% so that will be fine! I did have SD problems, the Kingston ones I already had, and thought were fine evidently were not, a new Sandisk Ultra sorted that out... Andy.
Hi! I'm currently working on a VOIP application with mini2440. I've searched all web and still couldn't find any sound example (How to read the microphone samples, how to output raw pcm data, etc) Could you please send me some sample codes? Or at least show me how can i access the audio interface? I'm running a QT app under linux. Thanks, Andrew.
Hi, Andrew, I have exactly the same problem. We want to use a mini2440 as a way to transport incoming voice (from a ham radio repeater receive-site) over ethernet (ip/udp/rtp) to the sender side. I don't know why it is so hard to find just a couple of example application that show some basic examples of OSS programming: set sampling-rate, bits/samples, ... , set input (the UDA1351 has two inputs), read PCM stream, etc. For me, I just need plain C. Cheerio! Kristoff
Ok. I managed to get the driver working, but i'm facing the duplex mode problem. I can do open("/dev/dsp", O_RDONLY) and it's weird but all incoming voice (from mic) is reproduced by the speakers. I can do open("/dev/dsp", O_RDONLY) save voice samples and then do open("/dev/dsp", O_WRONLY) to reproduce it. But i can't do open("/dev/dsp", O_RDWR). It returns fd < 0. Kristoff, to set the parameters you have to use ioctl function. int arg; arg = SIZE; /* sample size */ status = ioctl(fd, SOUND_PCM_WRITE_BITS, &arg); arg = CHANNELS; /* mono or stereo */ status = ioctl(fd, SOUND_PCM_WRITE_CHANNELS, &arg); arg = RATE; /* sampling rate */ status = ioctl(fd, SOUND_PCM_WRITE_RATE, &arg); Andy, how did you manage to open /dev/dsp with O_RDWR mode? Thanks
Andy, thanks for the quick answer. Did you try to change the uda134x driver? Do you know anyone who is trying it now? I'm gonna spend some time working on the driver before change my application to the Mini6410. Anyone interested? Please let me know... Andrew.
Hi Andrew Did not bother trying to sort the driver - too much else to do! You could ask the Pengutronix lot and see if they sorted it in their Free BSP. Let me know if you find out... Andy.