Hello group,
Its been a while since I had a word with the group.

Finally I have to say, my AUDIO is working. If interested, please read
through.

1. I am not sure if anybody remembered my h/w configuration, I have
connected WM8993 Audio Codec on OMAP3530 MCBSP2.
2.for the Serial CLK (BCLK) & LR CLK (Frame sync clock) WM8993 is master and
OMAP MCBSP2 is slave.

Apart from  n number of H/W issues my board ran into, the most important
change from MCBSP side:

PCR0 & XCCR  registers of MCBSP.  For my setup, PCR0: 0x000f &  XCCR: 0x1808
were the working values.

Once this was set, it got rid of all the stupid errors I was previously
getting like "obtainBuffer timed out" or "ERROR PIPE (underflow), resetting
to RECOVER!!"

after that, I had to correct a few registers on the WM8993 as well to get
the audio output.

So, the key lesson is:

1. Check the H/W connections a thousand times
2. Check the MCBSP registers, especially SPCR1, SPCR2, PCR0, XCCR, SRGR1,
SRGR2.
3. Check your audio codec and the configuration for the codec.

Thanks & regards
Murali


On Fri, Jan 7, 2011 at 12:09 AM, ani <[email protected]> wrote:

> Hello Murali,
>
> Generally XRUN happens due to improper buffer size settings.Try
> changing your buffer size.
> You can use aplay utility to check different buffer sizes and for
> recording you can use arecord.
>
> Still if it doesn't work then it would be better if you can show us
> the driver logs.Enable logs in your audio driver and ALSA core.
>
> ^^^keep trying^^^
>
> On Jan 5, 11:45 am, "Murali K. Vemuri"
> <[email protected]> wrote:
> > Hi Amit & group,
> > I am using Eclair.
> >
> > My board is a custom board and I am making changes in the EVM kernel to
> > match to my board.
> > my Audio Codec is WM8993 (WolfSon Microelectronics). Little more info
> into
> > the pin connections is:
> >
> > 1. I connected the OMAP 3530 MCBSP2  (phys_base: 0x49022000) to WM8993
> for
> > Audio data. (MCBSP2 DX2 --> AUDIO CODEC DX) & (MCBSP2 DR2 --> AUDIO CODEC
> > DR)
> > 2. WM8993 is Clock master, and sends the SCLK (MCBSP FSX) & LRCLK (MCBSP
> > CLKX) to MCBSP. I checked with Oscilloscope that these clocks are fine.
> > 3. WM8993 is controlled using the I2C3 of OMAP.
> > 4. Data format between MCBSP and Audio CODEC is I2S  (with no companding)
> >
> > This is the MCBSP register dump:
> > omap-mcbsp omap-mcbsp.2: **** McBSP2 regs ****
> > omap-mcbsp omap-mcbsp.2: DRR2:  0xddbe3b7d
> > omap-mcbsp omap-mcbsp.2: DRR1:  0x0000
> > omap-mcbsp omap-mcbsp.2: DXR2:  0x0000
> > omap-mcbsp omap-mcbsp.2: DXR1:  0x0000
> > omap-mcbsp omap-mcbsp.2: SPCR2: 0x02f5
> > omap-mcbsp omap-mcbsp.2: SPCR1: 0x0030
> > omap-mcbsp omap-mcbsp.2: RCR2:  0x8041
> > omap-mcbsp omap-mcbsp.2: RCR1:  0x0040
> > omap-mcbsp omap-mcbsp.2: XCR2:  0x8041
> > omap-mcbsp omap-mcbsp.2: XCR1:  0x0040
> > omap-mcbsp omap-mcbsp.2: SRGR2: 0x001f
> > omap-mcbsp omap-mcbsp.2: SRGR1: 0x0f00
> > omap-mcbsp omap-mcbsp.2: PCR0:  0x0a0f
> > omap-mcbsp omap-mcbsp.2: ***********************
> >
> > please let me know if you need more info.
> > Thanks & regards
> > Murali
> >
> > On Wed, Jan 5, 2011 at 3:07 PM, Amit Pundir <[email protected]>
> wrote:
> > > looping in rowboat mailing list.
> >
> > > On Wed, Jan 5, 2011 at 8:20 AM, Murali K. Vemuri <
> > > [email protected]> wrote:
> >
> > >> Okay,
> > >> I kept digging further and finally found that my driver is going to
> XRUNs
> > >> whenever I try to load any piece of audio .
> >
> > >> when my board completed booting, the params look like:
> >
> > >> #cat /proc/asound/card0/pcm0p/sub0/status
> > >> state: PREPARED
> > >> owner_pid   : 1055
> > >> trigger_time: 0.000000000
> > >> tstamp      : 10.809844973
> > >> delay       : 0
> > >> avail       : 2048
> > >> avail_max   : 0
> > >> -----
> > >> hw_ptr      : 0
> > >> appl_ptr    : 0
> >
> > >> But when android tries to play the booting sound, it immediately
> changes
> > >> to the following. And is not able to recover .
> >
> > >> #cat /proc/asound/card0/pcm0p/sub0/status
> > >> state: XRUN
> > >> owner_pid   : 1055
> > >> trigger_time: 30.074615484
> > >> tstamp      : 39.793883833
> > >> delay       : 0
> > >> avail       : 2048
> > >> avail_max   : 2083
> > >> -----
> > >> hw_ptr      : 2048
> > >> appl_ptr    : 2048
> >
> > >> I am using Android RowBoat version and I am not sure if it is a known
> > >> issue or has some_fix_I_did_not_adapt.
> >
> > > Which Android version(Eclair, Froyo etc) are you using? Are you
> building
> > > the images yourself or using the pre-built images?
> >
> > > You don't need asound.conf for Android 2.2(Froyo) Rowboat port AFAIR. I
> > > have used Rowboat froyo port on OMAP3EVM and Beagleboard as well and
> found
> > > no such issues with sound.
> >
> > > Regards,
> > > Amit Pundir
> >
> > >> any ideas?
> >
> > >> Thanks & regards
> > >> Murali
> >
> > >> On Mon, Jan 3, 2011 at 4:15 PM, Amit Pundir <[email protected]>
> wrote:
> >
> > >>> On Sun, Jan 2, 2011 at 6:34 PM, Murali K. Vemuri <
> > >>> [email protected]> wrote:
> >
> > >>>> Hello Srinath and group,
> >
> > >>>> I made the changes in asound.conf and also I found some h/w errors
> and
> > >>>> also some issues at driver, and fixed one by one. Finally I checked
> the
> > >>>> BIT(or Serial) CLK & LR (Left-Right) CLK for my codec, once I got
> all these
> > >>>> right, now I have the "logcat" filled with these log messages.
> >
> > >>>> W/AudioTrack( 1054): obtainBuffer timed out (is the CPU pegged?)
> 0x61e60
> > >>>> user=00003000, server=00001000
> > >>>> W/AudioTrack( 1054): obtainBuffer timed out (is the CPU pegged?)
> 0x61e60
> > >>>> user=00003000, server=00001000
> > >>>> W/AudioTrack( 1054): obtainBuffer timed out (is the CPU pegged?)
> 0x61e60
> > >>>> user=00003000, server=00001000
> > >>>> W/AudioTrack( 1054): obtainBuffer timed out (is the CPU pegged?)
> 0x61e60
> > >>>> user=00003000, server=00001000
> > >>>> W/AudioFlinger( 1054): write blocked for 9999 msecs, 5 delayed
> writes,
> > >>>> thread 0x539c0
> > >>>> W/AudioFlinger( 1054): write blocked for 9999 msecs, 6 delayed
> writes,
> > >>>> thread 0x539c0
> > >>>> W/AudioFlinger( 1054): write blocked for 9999 msecs, 7 delayed
> writes,
> > >>>> thread 0x539c0
> > >>>> W/AudioFlinger( 1054): write blocked for 9999 msecs, 8 delayed
> writes,
> > >>>> thread 0x539c0
> > >>>> I googled on this, but nothing much I could use on this error.
> >
> > >>> Hi Murali,
> >
> > >>> I got a similar issue sometime back on a different platform. In my
> case
> > >>> the issue was with my audio driver which was not able to reset the
> device
> > >>> properly. This causes the write to the Audio device to block
> indefinitely
> > >>> and the buffers never got freed and thats why I was getting "unable
> to
> > >>> obtain buffer, cpu pegged?" error.
> >
> > >>> 1) Recommended solution is to debug your audio driver and check if it
> > >>> handles suspend/resume mode properly.
> > >>> 2) A quick fix is to modify the Android user space and don't let your
> > >>> audio go in stand-by mode.
> >
> > >>> As far as OMAP3 is concerned try Rowboat, Android port
> > >>>http://code.google.com/p/rowboat/which has Android base port
> available
> > >>> for TI OMAP35x, AM35x, AM37x and DM37x platforms.
> >
> > >>> Regards,
> > >>> Amit Pundir
> >
> > >>>> Any pointers???
> > >>>> Thanks & regards
> > >>>> Murali
> > >>>> On Mon, Dec 27, 2010 at 11:48 PM, srinath ramini <
> > >>>> [email protected]> wrote:
> >
> > >>>>> Hi Murali,
> >
> > >>>>> In your asound.conf file AndroidPlayback pcm configuration details
> are
> > >>>>> not avilable.
> >
> > >>>>> Replace your asound.conf with the following content and try it.
> >
> > >>>>> ##
> >
> > >>>>> ## Mixer Devices
> >
> > >>>>> ##
> >
> > >>>>> ctl.AndroidPlayback {
> >
> > >>>>> type hw
> >
> > >>>>> card 1
> >
> > >>>>> device 0
> >
> > >>>>> }
> >
> > >>>>> ctl.AndroidCapture {
> >
> > >>>>> type hw
> >
> > >>>>> card 1
> >
> > >>>>> device 0
> >
> > >>>>> }
> >
> > >>>>> ##
> >
> > >>>>> ## Playback Devices
> >
> > >>>>> ##
> >
> > >>>>> pcm.AndroidPlayback {
> >
> > >>>>> type hw
> >
> > >>>>> card 1
> >
> > >>>>> device 0
> >
> > >>>>> }
> >
> > >>>>> ##
> >
> > >>>>> ## Recording device
> >
> > >>>>> ##
> >
> > >>>>> pcm.AndroidCapture {
> >
> > >>>>> type hw
> >
> > >>>>> card 1
> >
> > >>>>> device 0
> >
> > >>>>> }
> >
> > >>>>> Regards,
> >
> > >>>>> Sreenath
> > >>>>>   On Sat, Dec 25, 2010 at 5:41 PM, Murali K. Vemuri <
> > >>>>> [email protected]> wrote:
> >
> > >>>>>> Hello there,
> > >>>>>> Sorry for the delayed reply. I see these log messages on "logcat":
> >
> > >>>>>> E/AudioHardwareALSA( 1031): ERROR PIPE (underflow), resetting to
> > >>>>>> RECOVER!!
> >
> > >>>>>> E/AudioHardwareALSA( 1031):
> >
> > >>>>>> and since I am not very familiar with the android config files, I
> am
> > >>>>>> attaching my default config file. Can someone help me?
> >
> > >>>>>> Thanks &regards
> > >>>>>> Murali
> >
> > >>>>>> On Thu, Dec 23, 2010 at 12:14 AM, srinath ramini <
> > >>>>>> [email protected]> wrote:
> >
> > >>>>>>> Hi Murali,
> >
> > >>>>>>> Please check your /etc/asound.conf file. File should conatin
> Hardware
> > >>>>>>> configuration details.
> >
> > >>>>>>> Regards,
> > >>>>>>> Sreenath
> >
> > >>>>>>>   On Wed, Dec 22, 2010 at 4:27 PM, Murali K. Vemuri <
> > >>>>>>> [email protected]> wrote:
> >
> > >>>>>>>>  Hello group,
> >
> > >>>>>>>> I am using LINUX with Android on OMAP3530 and am finding Audio
> is
> > >>>>>>>> not working.
> > >>>>>>>> I tried checking the "logcat" and the output:
> >
> > >>>>>>>>  W/AudioHardwareALSA( 1020): Unable to attach mixer to device
> > >>>>>>>> AndroidOut: Invalid argument
> >
> > >>>>>>>> W/AudioHardwareALSA( 1020): Unable to attach mixer to device
> > >>>>>>>> AndroidIn: Invalid argument
> >
> > >>>>>>>> I/CameraService( 1020): CameraService started: pid=1020
> >
> > >>>>>>>> D/AudioHardwareALSA( 1020): openOutputStream called for devices:
> > >>>>>>>> 0x00000002
> >
> > >>>>>>>> D/ALSAModule( 1020): open called for devices 00000002 in mode
> 0...
> >
> > >>>>>>>> E/ALSALib ( 1020):
> > >>>>>>>> external/alsa-lib/src/pcm/pcm.c:2201:(snd_pcm_open_noupdate)
> Unknown PCM
> > >>>>>>>> AndroidPlayback_Speaker_normal
> >
> > >>>>>>>> E/ALSALib ( 1020):
> > >>>>>>>> external/alsa-lib/src/pcm/pcm.c:2201:(snd_pcm_open_noupdate)
> Unknown PCM
> > >>>>>>>> AndroidPlayback_Speaker
> >
> > >>>>>>>> E/ALSALib ( 1020):
> > >>>>>>>> external/alsa-lib/src/pcm/pcm.c:2201:(snd_pcm_open_noupdate)
> Unknown PCM
> > >>>>>>>> AndroidPlayback
> >
> > >>>>>>>> D/AndroidRuntime( 1018): --- registering native functions ---
> >
> > >>>>>>>> I/ALSAModule( 1020): Initialized ALSA PLAYBACK device default
> >
> > >>>>>>>> I/AudioFlinger( 1020): AudioFlinger's thread 0x53018 ready to
> run
> >
> > >>>>>>>> D/ALSAModule( 1020): route called for devices 00000002 in mode
> 0...
> >
> > >>>>>>>> Any pointers????
> >
> > >>>>>>>> Thanks & regards
> > >>>>>>>> Murali
> >
> > >>>>>>>> --
> > >>>>>>>> unsubscribe: 
> > >>>>>>>> [email protected]<android-porting%[email protected]>
> <android-porting%[email protected]<android-porting%[email protected]>
> >
> > >>>>>>>> website:http://groups.google.com/group/android-porting
> >
> > >>>> --
> > >>>> न चोर हार्यं न च राजहार्यं
> > >>>> न भ्रातृभाज्यं न च भारकारी
> > >>>> व्ययी कृते वर्धत एव नित्यं
> > >>>> विद्या धनं सर्व धनं प्रधानं
> > >>>> Thieves cannot steal it, Kings cannot tax it,
> > >>>> Siblings cannot demand a share in it, and it does not weigh a lot,
> > >>>> The more you spend it, increases every day,
> > >>>> the wealth of knowledge is the PRIME WEALTH .
> >
> > >>>>  --
> > >>>> unsubscribe: 
> > >>>> [email protected]<android-porting%[email protected]>
> <android-porting%[email protected]<android-porting%[email protected]>
> >
> > >>>> website:http://groups.google.com/group/android-porting
> >
> > >> --
> > >> न चोर हार्यं न च राजहार्यं
> > >> न भ्रातृभाज्यं न च भारकारी
> > >> व्ययी कृते वर्धत एव नित्यं
> >
> > ...
> >
> > read more »
>
> --
> unsubscribe: 
> [email protected]<android-porting%[email protected]>
> website: http://groups.google.com/group/android-porting
>



-- 
न चोर हार्यं न च राजहार्यं
न भ्रातृभाज्यं न च भारकारी
व्ययी कृते वर्धत एव नित्यं
विद्या धनं सर्व धनं प्रधानं
Thieves cannot steal it, Kings cannot tax it,
Siblings cannot demand a share in it, and it does not weigh a lot,
The more you spend it, increases every day,
the wealth of knowledge is the PRIME WEALTH .

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to