On 22 May 2010 20:46, Jim Donovan <[email protected]> wrote: > > I have been working with a single-board computer (TS-7250, using the built-in > linux) which, about three times per second, sends 8-byte messages out through > COM2 to another device. Very occasionally (it can go 20 hours without > failing) a message doesn't all get transmitted. Only 7 of the eight bytes get > sent. On these occasions, the status returned by write(2) is "Resource > temporarily unavailable".
What line discipline is the tty driver in? raw? cooked? What do you see on the other side? Looking at tty(4) now I see that things progressed hugely since I last programmed serial terminals, so I'm not up to date with all the API's but I assume the principles of serial communications are still similar - there could be (usually should be) some flow-control and checksum mechanism going on between the two sides which might interfere with the flow (flow control could be either using STOP and START bytes (^Q/^S) or lowering the signal on one of the lines). > > It seems reasonable to try another write(2) to transmit the eighth byte. > However, it crashes without returning. We tried with COM1 and the same thing > happened. This is illogical - we are not using handshaking and the UART has > no way of knowing what is going on at the other end of the line or even > whether there is anything there. I have dumped termios and the control > registers immediately before the crash; no corruption or other abnormality is > evident. How do you define a "crash"? The program explodes? The UART stops responding? The entire single board kernel crashes? what? Can you give more details from the control registers and the other data you gathered? > > Before I try a different linux (cut-down debian Potato is available), does > anyone have any simpler suggestions? > > Thanks, > > Jim Donovan > -- > SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/ > Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html -- SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/ Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html
