Google Groups

Re: [android-porting] Porting FM In Android Along With The Application


Ranganath TM Apr 23, 2012 4:33 AM
Posted in group: android-porting
Hi Anupam,

yes I am using  STE vendor plugin, 

and you are right it cannot map the valid V4L2 format,

In  the file ste_fmradio_cg2900.c and in that function get_interrupt they are passing the controls.id  has V4L2_CID_CG2900_RADIO_GET_INTERRUPT,

but in the driver file radio-cg2900.c in the function vidioc_get_ext_ctrls there is no such case,

so it is going for default case,

can you help in resolving the issue,

Thanks,

Ranganath.T.M   
On Mon, Apr 23, 2012 at 4:06 PM, Anupam ROY <anupa...@stericsson.com> wrote:

Hi Ranganath,

 

Okay, looks like it’s an event which could not be mapped to a valid V4L2 format..

 

Can you please check what kind of event you receive from FM chip once scan is completed?

 

Btw, I assume you are using STE vendor plugin?

 

BR,

-Anupam

 

From: Ranganath TM [mailto:rangan...@asmaitha.com]
Sent: Monday, April 23, 2012 12:00 PM
To: Anupam ROY
Cc: halli manjunatha; android...@googlegroups.com


Subject: Re: [android-porting] Porting FM In Android Along With The Application

 

Hi Anupam,

 

I am able to solve the JNI error now,

 

but now I am able to open an device and set an band to it,

 

In logs I am able to get the device is set EU_BAND and for 87.5 MHZ,

 

after that when I say scan for channels it is giving me an error,

 

 

E/STE_FM_Radio_CG2900( 1493): get_interrupt: VIDIOC_G_EXT_CTRLS failed

E/STE_FM_Radio_CG2900( 1493): ex_poll_thread:undefined interrupt type 0

E/STE_FM_Radio_CG2900( 1493): get_interrupt: VIDIOC_G_EXT_CTRLS failed

E/STE_FM_Radio_CG2900( 1493): ex_poll_thread:undefined interrupt type 0

E/STE_FM_Radio_CG2900( 1493): get_interrupt: VIDIOC_G_EXT_CTRLS failed

E/STE_FM_Radio_CG2900( 1493): ex_poll_thread:undefined interrupt type 0

E/STE_FM_Radio_CG2900( 1493): get_interrupt: VIDIOC_G_EXT_CTRLS failed

E/STE_FM_Radio_CG2900( 1493): ex_poll_thread:undefined interrupt type 0

E/STE_FM_Radio_CG2900( 1493): get_interruvidioc_get_ext_ctrls: Id = 8001010,ext_ctrl->ctrl_class = 980000pt: VIDIOC_G_EXT_CTRLS failed

E/STE_FM_Radio_CG2900( 1493): ex_vidioc_get_ext_ctrls: Id = 8001010,ext_ctrl->ctrl_class = 980000poll_thread:undefined interrupt type 0

E/STE_FM_Radio_CG2900( 1vidioc_get_ext_ctrls: Id = 8001010,ext_ctrl->ctrl_class = 980000493): get_interrupt: VIDIOC_G_EXT_CTRLS failed

 

can you please help to solve this issue,

 

Thanks,

 

Ranga

 

 

On Mon, Apr 23, 2012 at 9:34 AM, Anupam ROY <anupa...@stericsson.com> wrote:

Hi,

 The error message indicates that the JNI layer is not able to find the vendor specific handler as already indicated by Manju.

The vendor driver is seeked run time in /system/lib on phone. To support the usage of different TX and RX chip, the search will first be done for a library libfmradio.(*)_rx.so (rx mode) / libfmradio.(*)_tx.so (tx mode), if neither is found it will try to load libfmradio.(*).so.

Therefore if you are using the STE FM Radio framework, the vendor library naming format should be of type..

libfmradio.(*)_rx.so
libfmradio.(*)_tx.so
libfmradio.(*).so

Best Regards,
Anupam
ST-Ericsson


-----Original Message-----
From: halli manjunatha [mailto:halli...@gmail.com]
Sent: Sunday, April 22, 2012 2:02 AM
To: Ranganath TM
Cc: android...@googlegroups.com; Anupam ROY
Subject: Re: [android-porting] Porting FM In Android Along With The Application

Hi Ranganath,

Which FM framework you are using?.. seems this error message is not
from TI's FM framework....  and more like ST Ericsson's FM solution

Anyway this error message indicates you dont have the Vendor specific
handlers required by the framework.(like FM framework calls JNI layer
for FM turn ON but there is no link exist between FM framework and
V4L2 Fm driver to do this).

I am looping Anupam Roy who is working in this front.

Regards
Manju

On Thu, Apr 19, 2012 at 2:41 AM, Ranganath TM <rangan...@asmaitha.com> wrote:
> Hi Manjunath,
>
> When I lunch My FM RX application it is giving me the error as "vendor
> registration failed".
>
> In JNI file android_fmradio.cpp  In the below function,
>
> // if we haven't registred the library yet do it
>
>     if (!session_p->isRegistered) {
>         session_p->vendorMethods_p = (fmradio_vendor_methods_t *)
>             malloc(sizeof(*session_p->vendorMethods_p));
>         if (session_p->vendorMethods_p == NULL) {
>             LOGE("malloc failed\n");
>             retval = FMRADIO_IO_ERROR;
>             goto early_exit;
>         } else if (androidFmRadioLoadFmLibrary(session_p, mode)) {
>             session_p->isRegistered = true;
>         } else {
>             LOGE("vendor registration failed\n");
>             free(session_p->vendorMethods_p);
>             retval = FMRADIO_IO_ERROR;
>             goto early_exit;
>         }
>     }
>
> I am not getting things how to do it ,
>
> Please help me regrading this.
>
> Thanks,
>
> Ranga
>
>
>
> On Wed, Apr 18, 2012 at 9:53 PM, halli manjunatha <halli...@gmail.com>
> wrote:
>>
>> Ranganath,
>>
>> Does your driver supports ioctl VIDIOC_S_HW_FREQ_SEEK? seems its not.
>>
>> Thing is FM JNI calls this v4l2 ioctl when you do seek from the GUI.
>>
>> Can you give me the link to your driver so that we can verify this.
>>
>> If your driver is not supporting VIDIOC_S_HW_FREQ_SEEK ioctl then need
>> to tweek the FM JNI so that it will do SET_FREQ (for 200KHz gap
>> between 2 channels) and check the signal strength if signal strength
>> is good enough then come outt of seek else check next frequency.
>>
>> Meanwhile you can check the set_freq by selecting
>> (menu->set_frequency-> enter the frequency desired in MHz).
>>
>> Regards
>> Manju
>>
>> On Wed, Apr 18, 2012 at 10:27 AM, Ranganath TM
>> <rangan...@asmaitha.com> wrote:
>> > Hi Manjunath,
>> >
>> > I am able to switch on my device,
>> >
>> > Able to set it in to RX mode,
>> >
>> > when try to scan the frequency I am getting the following error,
>> >
>> > vidioc_get_ext_ctrls: Id = 8001010,ext_ctrl->ctrl_class =
>> > 980000VIDIOC_G_EXT_CTRLS:error!!
>> >
>> > continously.
>> >
>> > Thanks,
>> >
>> > Ranga
>> >
>> >
>> > On Tue, Apr 17, 2012 at 10:18 AM, Ranganath TM
>> > <rangan...@asmaitha.com>
>> > wrote:
>> >>
>> >> Hi Manjunath,
>> >>
>> >> Do you Know In android how to do library registration,
>> >>
>> >> I am getting an error library not yet registered,
>> >>
>> >> For example I want register libfmradio.so where to make it,
>> >>
>> >> please help in resolving these issue.
>> >>
>> >> Thanks,
>> >> Ranga
>> >>
>> >> On Fri, Apr 13, 2012 at 10:37 AM, Ranganath TM
>> >> <rangan...@asmaitha.com>
>> >> wrote:
>> >>>
>> >>> Hi Manjunath,
>> >>>
>> >>> Now I am able to build my driver framework and application on our
>> >>> board,
>> >>>
>> >>> The device is getting opened and Firmware is downloaded,
>> >>>
>> >>> can you tell me the command in terminal to open the FM Module and make
>> >>> it
>> >>> running,
>> >>>
>> >>> For example to enable WIFI I am using svc wifi enable.
>> >>>
>> >>> And also do you know how to run android command line application.
>> >>>
>> >>> Thanks,
>> >>>
>> >>> Ranganath.T.M
>> >>>
>> >>>
>> >>> On Mon, Apr 9, 2012 at 10:23 PM, halli manjunatha
>> >>> <halli...@gmail.com>
>> >>> wrote:
>> >>>>
>> >>>> Hi Ranganath,
>> >>>>
>> >>>> Sorry for delayed response.
>> >>>>
>> >>>> Even I never used this app on Eclipse.
>> >>>>
>> >>>> But you can try it by removing the dependicies of JNI layer in FM RX
>> >>>> JAVA files (FM/FmRxApp/src/com/ti/fmrxapp/FmRxApp.java).
>> >>>>
>> >>>> Regards
>> >>>> Manju
>> >>>>
>> >>>> On Mon, Apr 2, 2012 at 12:22 AM, Ranganath TM
>> >>>> <rangan...@asmaitha.com> wrote:
>> >>>> > Hi Manjunath,
>> >>>> >
>> >>>> > Thanks for your time,
>> >>>> >
>> >>>> > I want to add the FMRXAPP to eclipse,
>> >>>> >
>> >>>> > I am not getting how to make it,
>> >>>> >
>> >>>> > because the Android SDK does not contain any FM Api's,
>> >>>> >
>> >>>> > please guide to resolve this issue.
>> >>>> >
>> >>>> > Thanks,
>> >>>> >
>> >>>> > Ranga
>> >>>> >
>> >>>> >
>> >>>> > On Fri, Mar 30, 2012 at 8:43 PM, halli manjunatha
>> >>>> > <halli...@gmail.com>
>> >>>> > wrote:
>> >>>> >>
>> >>>> >> The above mentioned link has kfmapp.c kfmapp.h and Android.mk copy
>> >>>> >> all
>> >>>> >> these things in to a folder.
>> >>>> >>
>> >>>> >> In the parent folder within which this kfmapp folder is present
>> >>>> >> you
>> >>>> >> have to have below line to use the Android.mk of kfmapp.
>> >>>> >>
>> >>>> >> include $(call first-makefiles-under,$(call my-dir))
>> >>>> >>
>> >>>> >> I think this will solve your problem.
>> >>>> >>
>> >>>> >> Regards
>> >>>> >> Manju
>> >>>> >>
>> >>>> >> On Fri, Mar 30, 2012 at 5:09 AM, Ranganath TM
>> >>>> >> <rangan...@asmaitha.com>
>> >>>> >> wrote:
>> >>>> >> > Hi Manjunath,
>> >>>> >> >
>> >>>> >> > can you please tell the .mk to add kfmapp so that I can build
>> >>>> >> > it.
>> >>>> >> >
>> >>>> >> >
>> >>>> >> > Thanks,
>> >>>> >> > Ranganath.T.M
>> >>>> >> >
>> >>>> >> >
>> >>>> >> > On Wed, Mar 28, 2012 at 4:17 AM, halli manjunatha
>> >>>> >> > <halli...@gmail.com>
>> >>>> >> > wrote:
>> >>>> >> >>
>> >>>> >> >> Just build you FM V4L2 driver as part of the your kernel and
>> >>>> >> >> boot
>> >>>> >> >> the
>> >>>> >> >> board.
>> >>>> >> >>
>> >>>> >> >> Once after booting the board you will have /dev/radio0 entry
>> >>>> >> >> for
>> >>>> >> >> your
>> >>>> >> >> FM
>> >>>> >> >> radio.
>> >>>> >> >>
>> >>>> >> >> Seems you need to change the /dev/radio0 permissions to "666"
>> >>>> >> >>
>> >>>> >> >> you can use the kfmapp (V4L2 compliant FM test application) at
>> >>>> >> >> below
>> >>>> >> >> location to validate your FM driver.
>> >>>> >> >>
>> >>>> >> >>
>> >>>> >> >>
>> >>>> >> >>
>> >>>> >> >> http://git.omapzoom.org/?p=platform/hardware/ti/wpan.git;a=tree;f=tools/kfmapp;h=710184f873149f05c0550253419872ad8a0cce1d;hb=d03a9f4296d7b8523ad857dcf225287ab7d51a90
>> >>>> >> >>
>> >>>> >> >> So if your FM driver is fully compliant with the V4L2
>> >>>> >> >> specifications
>> >>>> >> >> then,
>> >>>> >> >>
>> >>>> >> >> copy the complete FM GUI solution to package/apps/ of your
>> >>>> >> >> Android
>> >>>> >> >> source code and build it, this create following
>> >>>> >> >>
>> >>>> >> >> 1) system/lib/libfmradio.so
>> >>>> >> >> 2) system/etc/permissions/com.ti.fm.fmradioif.xml
>> >>>> >> >> 3) system/app/FmRxApp.apk
>> >>>> >> >> 4) system/app/FmTxApp.apk
>> >>>> >> >> 5) system/app/FmService.apk
>> >>>> >> >>
>> >>>> >> >>
>> >>>> >> >> Now copy these binaries to your filesystem and boot the board.
>> >>>> >> >>
>> >>>> >> >> Now you can see 2 icons on your android application pane one
>> >>>> >> >> for
>> >>>> >> >> FM RX
>> >>>> >> >> and one for FM TX, just launch the FM RX icon which eventually
>> >>>> >> >> opens
>> >>>> >> >> the /dev/radio0
>> >>>> >> >>
>> >>>> >> >> Regards
>> >>>> >> >> Manju
>> >>>> >> >>
>> >>>> >> >> On Tue, Mar 27, 2012 at 10:37 AM, Ranganath TM
>> >>>> >> >> <rangan...@asmaitha.com> wrote:
>> >>>> >> >> > Hi Manjunath,
>> >>>> >> >> >
>> >>>> >> >> > Thanks for your time,
>> >>>> >> >> >
>> >>>> >> >> > I am working on Snowball AP9500 processor,
>> >>>> >> >> >
>> >>>> >> >> > I am little bit confused about the folder structure,
>> >>>> >> >> >
>> >>>> >> >> > can you please guide me in adding the FM Module it.
>> >>>> >> >> >
>> >>>> >> >> > Thanks,
>> >>>> >> >> >
>> >>>> >> >> > Ranganath.T.M
>> >>>> >> >> >
>> >>>> >> >> >
>> >>>> >> >> > On Tue, Mar 27, 2012 at 8:46 PM, halli manjunatha
>> >>>> >> >> > <halli...@gmail.com>
>> >>>> >> >> > wrote:
>> >>>> >> >> >>
>> >>>> >> >> >> Hi Ranganath,
>> >>>> >> >> >>
>> >>>> >> >> >> If your driver is V4L2 compliant then you can just use the
>> >>>> >> >> >> complete
>> >>>> >> >> >> solution straight forward with minimal changes to JNI part
>> >>>> >> >> >> which is
>> >>>> >> >> >> at
>> >>>> >> >> >> service/src/jni/JFmRxNative.cpp for FM RX and
>> >>>> >> >> >> service/src/jni/JFmTxNative.cpp for FM TX
>> >>>> >> >> >>
>> >>>> >> >> >> Regards
>> >>>> >> >> >> Manju
>> >>>> >> >> >>
>> >>>> >> >> >> On Tue, Mar 27, 2012 at 5:22 AM, Ranganath TM
>> >>>> >> >> >> <rangan...@asmaitha.com>
>> >>>> >> >> >> wrote:
>> >>>> >> >> >> > Hi Manjunatha,
>> >>>> >> >> >> >
>> >>>> >> >> >> > Thanks for your support,
>> >>>> >> >> >> >
>> >>>> >> >> >> > My FM driver is V4L2 complaint driver,
>> >>>> >> >> >> >
>> >>>> >> >> >> > can you please explain me where to modify,
>> >>>> >> >> >> >
>> >>>> >> >> >> > how can I proceed further.
>> >>>> >> >> >> >
>> >>>> >> >> >> > Thanks,
>> >>>> >> >> >> >
>> >>>> >> >> >> > Ranganath
>> >>>> >> >> >> >
>> >>>> >> >> >> > On Wed, Mar 21, 2012 at 9:12 PM, halli manjunatha
>> >>>> >> >> >> > <halli...@gmail.com>
>> >>>> >> >> >> > wrote:
>> >>>> >> >> >> >>
>> >>>> >> >> >> >> Hi Ranganath,
>> >>>> >> >> >> >>
>> >>>> >> >> >> >> I dont know about the AW chip but you can use the above
>> >>>> >> >> >> >> mentioned
>> >>>> >> >> >> >> framework for your chip with little modifications as
>> >>>> >> >> >> >> below
>> >>>> >> >> >> >>
>> >>>> >> >> >> >> Is your FM driver is a V4L2 compliant driver? if yes then
>> >>>> >> >> >> >> you can
>> >>>> >> >> >> >> use
>> >>>> >> >> >> >> the
>> >>>> >> >> >> >> complete FM package as is without much modifications
>> >>>> >> >> >> >>
>> >>>> >> >> >> >> If your FM driver is not a V4L2 then you need to modify
>> >>>> >> >> >> >> the
>> >>>> >> >> >> >> JNI
>> >>>> >> >> >> >> part
>> >>>> >> >> >> >> of
>> >>>> >> >> >> >> the FM package means you just needs to rewrite the
>> >>>> >> >> >> >> FM/service/src/jni/JFmRxNative.cpp file for your driver
>> >>>> >> >> >> >>
>> >>>> >> >> >> >> Regards
>> >>>> >> >> >> >> Manju
>> >>>> >> >> >> >>
>> >>>> >> >> >> >> On Wed, Mar 21, 2012 at 9:13 AM, Saravanaperumal
>> >>>> >> >> >> >> Annamalai
>> >>>> >> >> >> >> <saravana...@gmail.com> wrote:
>> >>>> >> >> >> >>>
>> >>>> >> >> >> >>> Hi Ranganath,
>> >>>> >> >> >> >>>                You might also check this link if the FM
>> >>>> >> >> >> >>> chip is
>> >>>> >> >> >> >>> Si
>> >>>> >> >> >> >>> Labs
>> >>>> >> >> >> >>> one.
>> >>>> >> >> >> >>>
>> >>>> >> >> >> >>> http://mmbtools.crc.ca/content/view/53/33/
>> >>>> >> >> >> >>>
>> >>>> >> >> >> >>>
>> >>>> >> >> >> >>> Regards
>> >>>> >> >> >> >>> Saravana
>> >>>> >> >> >> >>>
>> >>>> >> >> >> >>>
>> >>>> >> >> >> >>>
>> >>>> >> >> >> >>> On Wed, Mar 21, 2012 at 12:37 AM, halli manjunatha
>> >>>> >> >> >> >>> <halli...@gmail.com>
>> >>>> >> >> >> >>> wrote:
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>> Hi Ranga,
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>> As for I know you wont find a standard  API set for FM
>> >>>> >> >> >> >>>> radio in
>> >>>> >> >> >> >>>> Android, cos Google doesn't supports FM by default and
>> >>>> >> >> >> >>>> so
>> >>>> >> >> >> >>>> all
>> >>>> >> >> >> >>>> the
>> >>>> >> >> >> >>>> vendors are using there own home brew FM framework.
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>> One such thing is Texas Instruments FM radio solution
>> >>>> >> >> >> >>>> below
>> >>>> >> >> >> >>>> links
>> >>>> >> >> >> >>>> give
>> >>>> >> >> >> >>>> you the details
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>> 1) driver -
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>  http://git.omapzoom.org/?p=kernel/omap.git;a=tree;f=drivers/media/radio/wl128x;h=231954bbc6a9e234cc2bfca53eb02f28b7a7d407;hb=460374248586421260dbffca91454907ff8c5ada
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>> 2) FM framework -
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>> http://git.omapzoom.org/?p=platform/hardware/ti/wpan.git;a=tree;f=tools/FM;h=3f950c8b2e0cae5f540caabb58a7f114cc78bb8f;hb=bebfa00ede52e48e205c9c8de4012b52184a9214
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>> Regards
>> >>>> >> >> >> >>>> Manju
>> >>>> >> >> >> >>>> Regards
>> >>>> >> >> >> >>>> Manju
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>> On Tue, Mar 20, 2012 at 2:05 AM, Ranganath TM
>> >>>> >> >> >> >>>> <rangan...@asmaitha.com> wrote:
>> >>>> >> >> >> >>>> > Hi All,
>> >>>> >> >> >> >>>> >
>> >>>> >> >> >> >>>> > I am trying to port an FM in android GB, along with
>> >>>> >> >> >> >>>> > my
>> >>>> >> >> >> >>>> > application
>> >>>> >> >> >> >>>> > for
>> >>>> >> >> >> >>>> > AWNH580(Azurewave FM hardware module), but to write
>> >>>> >> >> >> >>>> > an
>> >>>> >> >> >> >>>> > application
>> >>>> >> >> >> >>>> > I don't have any specific API.
>> >>>> >> >> >> >>>> >
>> >>>> >> >> >> >>>> > please help to write an application and to port the
>> >>>> >> >> >> >>>> > FM
>> >>>> >> >> >> >>>> > module.
>> >>>> >> >> >> >>>> >
>> >>>> >> >> >> >>>> > Thanks,
>> >>>> >> >> >> >>>> > Ranga
>> >>>> >> >> >> >>>> >
>> >>>> >> >> >> >>>> > --
>> >>>> >> >> >> >>>> > unsubscribe:
>> >>>> >> >> >> >>>> > android-porti...@googlegroups.com
>> >>>> >> >> >> >>>> > website:
>> >>>> >> >> >> >>>> > http://groups.google.com/group/android-porting
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>> --
>> >>>> >> >> >> >>>> Regards
>> >>>> >> >> >> >>>> Halli
>> >>>> >> >> >> >>>>
>> >>>> >> >> >> >>>> --
>> >>>> >> >> >> >>>> unsubscribe:
>> >>>> >> >> >> >>>> android-porti...@googlegroups.com
>> >>>> >> >> >> >>>> website: http://groups.google.com/group/android-porting
>> >>>> >> >> >> >>>
>> >>>> >> >> >> >>>
>> >>>> >> >> >> >>>
>> >>>> >> >> >> >>>
>> >>>> >> >> >> >>> --
>> >>>> >> >> >> >>> Regards
>> >>>> >> >> >> >>> Saravana
>> >>>> >> >> >> >>
>> >>>> >> >> >> >>
>> >>>> >> >> >> >>
>> >>>> >> >> >> >>
>> >>>> >> >> >> >> --
>> >>>> >> >> >> >> Regards
>> >>>> >> >> >> >> Halli
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> >
>> >>>> >> >> >> > --
>> >>>> >> >> >> > Thanks And Regards
>> >>>> >> >> >> > Ranganath T.M
>> >>>> >> >> >> >
>> >>>> >> >> >>
>> >>>> >> >> >>
>> >>>> >> >> >>
>> >>>> >> >> >> --
>> >>>> >> >> >> Regards
>> >>>> >> >> >> Halli
>> >>>> >> >> >
>> >>>> >> >> >
>> >>>> >> >> >
>> >>>> >> >> >
>> >>>> >> >> > --
>> >>>> >> >> > Thanks And Regards
>> >>>> >> >> > Ranganath T.M
>> >>>> >> >> >
>> >>>> >> >>
>> >>>> >> >>
>> >>>> >> >>
>> >>>> >> >> --
>> >>>> >> >> Regards
>> >>>> >> >> Halli
>> >>>> >> >
>> >>>> >> >
>> >>>> >> >
>> >>>> >> >
>> >>>> >> > --
>> >>>> >> > Thanks And Regards
>> >>>> >> > Ranganath T.M
>> >>>> >> >
>> >>>> >>
>> >>>> >>
>> >>>> >>
>> >>>> >> --
>> >>>> >> Regards
>> >>>> >> Halli
>> >>>> >
>> >>>> >
>> >>>> >
>> >>>> >
>> >>>> > --
>> >>>> > Thanks And Regards
>> >>>> > Ranganath T.M
>> >>>> >
>> >>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> Regards
>> >>>> Halli
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Thanks And Regards
>> >>> Ranganath T.M
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> Thanks And Regards
>> >> Ranganath T.M
>> >>
>> >
>> >
>> >
>> > --
>> > Thanks And Regards
>> > Ranganath T.M
>> >
>>
>>
>>
>> --
>> Regards
>> Halli
>
>
>
>
> --
> Thanks And Regards
> Ranganath T.M
>



--
Regards
Halli



 

--
Thanks And Regards

Ranganath T.M

 




--
Thanks And Regards
Ranganath T.M