Read failing with minicom
nidhi.puri@wipro.com
nidhi.puri@wipro.com
Tue, 26 Apr 2005 20:32:27 +0530
This is a multi-part message in MIME format.
------_=_NextPart_001_01C54A71.595099DC
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Hi
=0D
I am working on USB Serial converter driver.=0D
The minimal read/write tests are working fine. I am able to read/write
using Kermit.
But the read for Minicom fails the first time after reboot.
=0D
Test set up is as follows ( OS Linux Enterprise Edition - Update 4)
----------------------------------------------------------------------
=0D
Linux host with a USB-Serial device(ttyUSB0) ----> Null Modem Cable
--->ttyS0 of the other Linux PC=0D
=0D
To test read flow - type on ttyS0 and characters should echo on
ttyUSB0
=0D
=0D
=0D
The scenario is that with Minicom only on (dev/ttyUSB0) I am
unable to read the first time on every reboot.=0D
With Kermit it works :)=0D
=0D
For Minicom , from the logs I am able to see my read_call_back gets
called and the code inserting characters in flip-buffer gets traversed.
tty_insert_flip_char(tty, data[i], 0); ---> I use the tty flags as 0
i.e
TTY_NORMAL for all cases . Would this be wrong.
=0D
However after read fails and I send a file from minicom on
ttyUSB0(Write is working fine) to
ttyS0 on other end .Then again try write from ttyS0 I get the
characters
echoed on ttyUSB0( i.e read starts working as normal)
=0D
Whats wrong? Whether its related to USB core or the device ?
I just wanted to know what all does minicom do in the initialization
process.=0D
And does it wait for any receive buffer 80% full event to send out a
read command=0D
( Windows Hyperterm works that way!)
=0D
Regards
Nidhi
=0D
=0D
=0D
Confidentiality Notice=0D
The information contained in this electronic message and any attachments to=
this message are intended
for the exclusive use of the addressee(s) and may contain confidential or=
privileged information. If
you are not the intended recipient, please notify the sender at Wipro or=
Mailadmin@wipro.com immediately
and destroy all copies of this message and any attachments.
------_=_NextPart_001_01C54A71.595099DC
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=
=3D"urn:schemas-microsoft-com:office:word" xmlns=
=3D"http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=
=3Dus-ascii">
<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 11">
<meta name=3DOriginator content=3D"Microsoft Word 11">
<link rel=3DFile-List href=3D"cid:filelist.xml@01C54A9F.0FC19ED0">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:RelyOnVML/>
<o:AllowPNG/>
<o:DoNotRelyOnCSS/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:DisplayBackgroundShape/>
<w:SpellingState>Clean</w:SpellingState>
<w:GrammarState>Clean</w:GrammarState>
<w:DocumentKind>DocumentEmail</w:DocumentKind>
<w:EnvelopeVis/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:UseWord2002TableStyleRules/>
</w:Compatibility>
</w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState=3D"false" LatentStyleCount=3D"156">
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Courier;
panose-1:2 7 4 9 2 2 5 2 4 4;
mso-font-alt:"Courier New";
mso-font-charset:0;
mso-generic-font-family:modern;
mso-font-format:other;
mso-font-pitch:fixed;
mso-font-signature:3 0 0 0 1 0;}
@font-face
{font-family:"Bookman Old Style";
panose-1:2 5 6 4 5 5 5 2 2 4;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-pitch:variable;
mso-font-signature:647 0 0 0 159 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;
text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;
text-underline:single;}
pre
{margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:Courier;
mso-fareast-font-family:"Times New Roman";
mso-bidi-font-family:"Courier New";
color:black;}
span.EmailStyle17
{mso-style-type:personal-compose;
mso-style-noshow:yes;
mso-ansi-font-size:9.0pt;
mso-bidi-font-size:9.0pt;
font-family:"Bookman Old Style";
mso-ascii-font-family:"Bookman Old Style";
mso-hansi-font-family:"Bookman Old Style";
color:teal;
font-weight:normal;
font-style:normal;
text-decoration:none;
text-underline:none;
text-decoration:none;
text-line-through:none;}
span.SpellE
{mso-style-name:"";
mso-spl-e:yes;}
span.GramE
{mso-style-name:"";
mso-gram-e:yes;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */=0D
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]-->
</head>
<body lang=3DEN-US link=3Dblue vlink=3Dpurple style=3D'tab-interval:.5in'>
<div class=3DSection1>
<p class=3DMsoNormal><font size=3D2 color=3Dteal face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier=
New";color:teal'>Hi<o:p></o:p></span></font></p>
<p class=3DMsoNormal><font size=3D2 color=3Dteal face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier=
New";color:teal'><o:p> </o:p></span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3D"Courier New"><span style=
=3D'font-size:10.0pt;
font-family:"Courier New"'>I am working on USB Serial converter driver.=
<o:p></o:p></span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3D"Courier New"><span style=
=3D'font-size:10.0pt;
font-family:"Courier New"'>The minimal read/write tests are working fine. I=
am
able to read/write using Kermit.<o:p></o:p></span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3D"Courier New"><span style=
=3D'font-size:10.0pt;
font-family:"Courier New"'>But the read for <span class=
=3DSpellE>Minicom</span>
fails the first time after reboot.<o:p></o:p></span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3D"Courier New"><span style=
=3D'font-size:10.0pt;
font-family:"Courier New"'><o:p> </o:p></span></font></p>
<pre><font size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;
font-family:"Courier New"'>Test set up is as follows <span class=3DGramE>(=
OS</span> Linux Enterprise Edition - Update=
4)<o:p></o:p></span></font></pre><pre><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New"'>=
----------------------------------------------------------------------<o:p=
></o:p></span></font></pre><pre><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New"'> <o:p></o:p></span></font></pre><pre><font size=3D2 color=
=3Dblack
face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier=
New"'><span style=3D'mso-spacerun:yes'> </span>Linux host with a=
USB-Serial <span
class=3DGramE>device(</span>ttyUSB0) ----> Null Modem=
Cable<o:p></o:p></span></font></pre><pre><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New"'> --->ttyS0 of the other Linux PC=
<o:p></o:p></span></font></pre><pre><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New"'><span style=
=3D'mso-spacerun:yes'> </span><o:p></o:p></span></font></pre><pre><fon=
t
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New"'><span style=3D'mso-spacerun:yes'> </span>To test read=
flow - type on <span
class=3DGramE>ttyS0<span style=3D'mso-spacerun:yes'> =
</span>and</span> characters should echo on=
ttyUSB0<o:p></o:p></span></font></pre><pre><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New"'> <o:p></o:p></span></font></pre><pre><font size=3D2 color=
=3Dblack
face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier=
New"'><span style=
=3D'mso-spacerun:yes'> </spa=
n><o:p></o:p></span></font></pre>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><o:p> </o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span>The scenario
is that with <span class=3DSpellE>Minicom</span> only on (dev/ttyUSB0) I=
am<o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span><span
class=3DGramE>unable</span> to read the first time on every reboot.=
<o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span>With Kermit
it works :) <o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span><o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span>For <span
class=3DSpellE><span class=3DGramE>Minicom</span></span><span class=
=3DGramE> ,</span>
from the logs I am able to see my <span class=
=3DSpellE>read_call_back</span> gets<o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span><span
class=3DGramE>called</span> and the code inserting characters in=
flip-buffer gets
traversed.<o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span><span
class=3DSpellE>tty_insert_flip_<span class=3DGramE>char</span></span><span
class=3DGramE>(</span><span class=3DSpellE>tty</span>, data[<span class=
=3DSpellE>i</span>],
0); ---> I use the <span class=3DSpellE>tty</span> flags as 0 <span
class=3DSpellE>i.e</span><o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span>TTY_NORMAL
for all <span class=3DGramE>cases .</span> Would this be <span class=
=3DGramE>wrong.</span><o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span><o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span>However after
read fails and I send a file from <span class=3DSpellE>minicom</span> on=
<span
class=3DGramE>ttyUSB0(</span>Write is working fine) <span
style=3D'mso-spacerun:yes'> </span>to<o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span><span
class=3DGramE>ttyS0</span> on other end .Then again try write from ttyS0 I=
get
the characters<o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span><span
class=3DGramE>echoed</span> on ttyUSB0( <span class=3DSpellE>i.e</span>=
read starts
working as normal)<o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><span style=
=3D'mso-spacerun:yes'> </span><o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><span
class=3DSpellE><font size=3D2 color=3Dblack face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier=
New";color:black'>Whats</span></font></span><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'> wrong?</span></font><font size=3D2 face=
=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier New"'> Whether its related=
to USB
core or the <span class=3DGramE>device ?</span><font color=3Dblack><span
style=3D'color:black'><o:p></o:p></span></font></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'>I just wanted to know what all does <span
class=3DSpellE>minicom</span> <span class=3DGramE>do</span> in the=
initialization
process. <o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'>And does it wait for any receive buffer 80% full
event to send out a read command <o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><span
class=3DGramE><font size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:
10.0pt;font-family:"Courier New";color:black'>(=
Windows</span></font></span><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'> <span class=3DSpellE>Hyperterm</span> works=
that
way!)<o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><o:p> </o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'>Regards<o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'>Nidhi<o:p></o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><o:p> </o:p></span></font></p>
<p class=3DMsoNormal style=3D'tab-stops:45.8pt 91.6pt 137.4pt 183.2pt=
229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt=
641.2pt 687.0pt 732.8pt'><font
size=3D2 color=3Dblack face=3D"Courier New"><span style=
=3D'font-size:10.0pt;font-family:
"Courier New";color:black'><o:p> </o:p></span></font></p>
<p class=3DMsoNormal><font size=3D2 color=3Dblack face=3D"Courier=
New"><span
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'><span
style=3D'mso-spacerun:yes'> </span></span></font><font size=3D2 color=
=3Dteal
face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier=
New";
color:teal'><o:p></o:p></span></font></p>
</div>
</body>
</html>
<table><tr><td bgcolor=3D#ffffff><font color=3D#000000><br>
<br>
Confidentiality Notice <br>
<br>
The information contained in this electronic message and any attachments to=
this message are intended<br>
for the exclusive use of the addressee(s) and may contain confidential or=
privileged information. If<br>
you are not the intended recipient, please notify the sender at Wipro or=
Mailadmin@wipro.com immediately<br>
and destroy all copies of this message and any attachments.<br>
</font></td></tr></table>
------_=_NextPart_001_01C54A71.595099DC--