From: Chuck Messenger <chuckm@rochester.rr.com>
To: linux-serial@vger.kernel.org
Subject: Serial Howto suggestions (was Re: Trouble reading from my serial device...)
Date: Thu, 20 Nov 2003 21:47:51 -0500 [thread overview]
Message-ID: <3FBD7CD7.1060902@rochester.rr.com> (raw)
In-Reply-To: <11E89240C407D311958800A0C9ACF7D1A34049@EXCHANGE>
OK, thanks for the thorough explanation, Ed -- it all makes sense now...
As far as the documentation goes -- I'm sending this to the
maintainers/writers of the Linux Serial Howto, and the Linux Serial
Programming Howto. I had trouble sending to both before, so I'm
cross-posting here in the hopes they might see it...
1) In my experience, open() does not hang if DTD is not asserted, even
without O_NONBLOCK. Instead, open() returns, but read() hangs instead.
If DTD is not asserted, and you open with O_NONBLOCK, then open()
returns (as per the documentation), but all read()'s fail right away
(not in the documentation).
2) It would be very helpful to point out in the documentation that you
_must_ assert DCD -- in hardware -- or it will be impossible for you to
operate the serial port, no matter what software flags you use. It
would be nice to point out the trick of attaching DTR to DCD, too.
For reference, I'm running Mandrake 9.1, with kernel 2.4.21-0.13mdk.
- Chuck
Ed Vance wrote:
> Hi Chuck,
>
> Yep, I'm surprised too about open. Also, in theory, the read should not have
> hanged, because you had previously set CLOCAL. Just a bug or two, here. Oh
> well. For hysterical .. oops .. historical reasons, the default termio(s)
> settings have CLOCAL off. The idea was that if you were using a modem, the
> port would hang in the open until the phone line and modem connection was
> made, as evidenced by detection of carrier tone from the remote modem. (DCD
> = carrier detect). This standard behavior has frustrated people who were
> just trying to connect local devices for many years. Some systems have a
> "soft carrier" option outside of termios that causes a port to act as if DCD
> is always asserted.
>
> You can accomplish the same thing by looping back DTR (pin 4) to DCD (pin
> 1). Open will assert DTR, and that will drive DCD high for you. That's what
> most folks do.
>
> Cheers,
> Ed
...
next prev parent reply other threads:[~2003-11-21 2:37 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-20 21:38 DTD required (was Re: Trouble reading from my serial device ( a microcontroller)) Ed Vance
2003-11-21 2:47 ` Chuck Messenger [this message]
2003-11-21 5:29 ` Serial Howto suggestions (was Re: Trouble reading from my serial device...) Gary Frerking
2003-11-21 21:59 ` low_latency flag Chuck Messenger
2003-11-21 22:43 ` Jan-Benedict Glaw
2003-11-21 23:37 ` Chuck Messenger
2003-11-22 5:32 ` Serial Howto suggestions (was Re: Trouble reading from my serial device...) David Lawyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3FBD7CD7.1060902@rochester.rr.com \
--to=chuckm@rochester.rr.com \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox