<p>Read avoirdupois tty line discipline and all that shit. Start with tty(4) and work from there.</p>
<div class="gmail_quote">On May 8, 2012 4:25 AM, &quot;Diego Iastrubni&quot; &lt;<a href="mailto:elcuco@kde.org">elcuco@kde.org</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<br>
<br>
I have been assigned at work to write a specific protocol between two<br>
machines, which eventually will be over RS232. As part of the development I<br>
decided to write it on linux, and simulate the communication using a named<br>
pipe. In theroy, it should be trivail since the protocol only needs to know<br>
about the FD to read/write to, correct? Wrong.<br>
<br>
I face two problems (maybe one, as both problems seem similar):<br>
<br>
When I try to read from the PC (Ubuntu 12.04, 64bit), the read just aborts<br>
returning &quot;0&quot;. If I run the application several times, I somtimes see that the<br>
app can read ONE byte. Sometimes.<br>
<br>
When I write from the PC, and read from the device (Andriod, 2.3.7, Linux<br>
2.6.38.8) the android device reads garbage. I mean, the byte count is wrong,<br>
and the content is usually garbage.<br>
<br>
When I connect microcom (busybox) on Android (actually &quot;microcom /dev/ttyS3 |<br>
hexdump -C&quot;) I can see that the bytes sent are mostly arriving, however maybe<br>
times bytes are missing, and sometimes the same bytes are read twice (I sent<br>
&quot;testing 123&quot; and read &quot;testing 12323&quot;).<br>
<br>
Some remarks:<br>
<br>
- ttyS* are opened on both sides using &quot;open(file, O_RDWR|O_NOCTTY)&quot;<br>
- speeds are set on both side using &quot;csetispeed(&amp;to, B1900);csetospeed(&amp;to,<br>
B1900);&quot;, note that I lowered the speed for the test.<br>
- The Android side has no HW flow control (that might be the trigger).<br>
<br>
What would you recommend me to do?<br>
<br>
- diego<br>
<br>
_______________________________________________<br>
Linux-il mailing list<br>
<a href="mailto:Linux-il@cs.huji.ac.il">Linux-il@cs.huji.ac.il</a><br>
<a href="http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il" target="_blank">http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il</a><br>
</blockquote></div>