RS232 <--> Ethernet

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hello,

For a remote monitoring application,  we want to have an embedded Linux
computer (call it computer "A") with eight RS232  (1200Baud - 256KBaud)
and two 1Gb/100Mb ethernet ports.

The computer "A" will be connected to two different networks. We want
any computer (running Linux, Windows or other OSs) on these networks be
able to access over the ethernet to the serial ports on the computer A.


 1- Is there any utility HW/SW tools that allow multiple computers
(Linux, Windows, etc.) to access multiple RS232 ports on an embedded
(Linux) computer via ethernet ?

 2- We want the computer A be as small as possible. Can you recommend
any embedded computer with  eight RS232  (1200Baud - 256KBaud) and two
1Gb/100Mb ethernet ports and capable of running Linux ?

TIA

Miem


Re: RS232 <--> Ethernet

Quoted text here. Click to load it

You may have a look at "socat":

http://www.dest-unreach.org/socat /

I don't know anything about non-posix compatible clients however.

Sven

--
Kernel panic: I have no root and I want to scream
(Linux Kernel Error Message)

We've slightly trimmed the long signature. Click to see the full one.
Re: RS232 <--> Ethernet
Quoted text here. Click to load it

I've read the README and manpage, but don't see how that's
going to work for any application that expects to be talking to
a real serial port.  Even if you use a pty, that doesn't
provide the normal ioctl() interface.

Quoted text here. Click to load it

--
Grant Edwards                   grante             Yow!  I want the presidency
                                  at               so bad I can already taste
We've slightly trimmed the long signature. Click to see the full one.
Re: RS232 <--> Ethernet

Quoted text here. Click to load it

A pty _does_ provide the normal ioctl() interface. Reading the
manpage however I think they are not really send to the remote
side. This will however be sufficient for your purpose, if your
application does not change the parameters during operation.

I was wondering about a generic forwarding mechanism for character
device for quite some time now, but did not find a related
client-server application.

Sven

--
C is quirky, flawed, and an enormous success
(Dennis M. Ritchie)

We've slightly trimmed the long signature. Click to see the full one.
Re: RS232 <--> Ethernet
Quoted text here. Click to load it

No, it doesn't (at least it didn't when I checked a few months
ago).  You can't enable parity.  You can't set the word size to
anything besides 8 bits. All of them TIOCM ioctl calls return
errors.

Quoted text here. Click to load it

I'm not sure what you mean by "send to the remote side.

For the ioctl calls that are implimented, some of the
user-supplied values are overridden by code in the pty driver.
For example, the set/get termios calls read/write a termios
struct that's available from the master end, but the pty code
messes with the values.

Some ioctl calls (e.g. set/get modem control/status lines)
aren't implemented at all and return errors.

Quoted text here. Click to load it

That's like saying that a pty emulates a serial port as long as
the application doesn't try to use it as a serial port.

Applications do change serial port parameters.

Quoted text here. Click to load it

--
Grant Edwards                   grante             Yow!  INSIDE, I have the
                                  at               same personality disorder
We've slightly trimmed the long signature. Click to see the full one.
character-evice <--> (was: Re: RS232 <--> Ethernet)

Quoted text here. Click to load it

In the special case of a serial port it is often sufficient to just
use stativ parameters like 9k6,8,n,1 and such.

Anyway, as I already said, I was unable to find any generic network
character device forwarding code which would be sufficient for your
purpose as well.

Sven

--
Der "normale Bürger" ist nicht an der TU Dresden und schreibt auch
nicht mit mutt. (Ulli Kuhnle in de.comp.os.unix.discussion)

We've slightly trimmed the long signature. Click to see the full one.
character-device <--> Ethernet (was: Re: RS232 <--> Ethernet)

Quoted text here. Click to load it

In the special case of a serial port it is often sufficient to just
use stativ parameters like 9k6,8,n,1 and such.

Anyway, as I already said, I was unable to find any generic network
character device forwarding code which would be sufficient for your
purpose as well.

Sven

--
Der "normale Bürger" ist nicht an der TU Dresden und schreibt auch
nicht mit mutt. (Ulli Kuhnle in de.comp.os.unix.discussion)

We've slightly trimmed the long signature. Click to see the full one.
Re: RS232 <--> Ethernet
Look at SLIP - Serial Line Internet Protocol


--


Regards,


Graham Baxter
We've slightly trimmed the long signature. Click to see the full one.
Re: RS232 <--> Ethernet

Quoted text here. Click to load it

SLIP has absolutely nothing to do with what the OP is asking for.

--
Grant Edwards
snipped-for-privacy@visi.com

Re: RS232 <--> Ethernet

Quoted text here. Click to load it

Maybe you can try http://freshmeat.net/projects/sredird/ ?

wimpunk.

Quoted text here. Click to load it


Re: RS232 <--> Ethernet
Quoted text here. Click to load it

1) The "Remote" Site:

A device connecting a serial port to TCP/IP is known as "Terminal
Server" or "COM-Server"

You can just buy such a device from many brands (e.g. digi: _very_
small: the TTL version is just as big as an Ethernet socket, same uses
an ARM7 processor and there is a version that can run Linux) starting
from some $50.

There are single port and multi port devices.

Of course there is free software to be run in Linux to perform this work
(e.g. "Poor Man's Terminal Server" http://www.linuxlots.com/~termpkg /).




2) The "User Site:

If you want to have the user interact (type) directly with the remote
machine you can use Telnet or ZOK or similar software.

If the user runs unmodifiable software that accesses the PC's serial
port API you can either use a "serial port virtualization software",
creating a new remote serial port in the OS, or use a hardware device
that is connected to the user PC's serial port (Terminal Server in
client mode, many but not all devices can do this), here, too.

DOS: You need to use a hardware device.

Linux: The "Poor Man's Terminal Server" should work here, too. AFAIK,
the software provides both ends.

MAC: I suppose the "Poor Man's Terminal Server" can be compiled for MAC.

Windows: I once used a commercial product as a "serial port
virtualization software". I seem to remember this:
http://www.taltech.com/products/tcpcom.html .

-Michael

Re: RS232 <--> Ethernet
On Mon, 12 Jun 2006 09:09:04 +0200, Michael Schnell

Quoted text here. Click to load it

The Digi Connect ME is only a component. It has an Ethernet jack and
one TTL level serial port on a 20 pin header, but it needs to be
mounted on a PC board and fed power to be useful. There are two basic
versions, one that uses the Digi firmware, (which does support the
remote serial port API) with a locked down POST and loader, and one
with no locked flash that can be used for Linux or other kernels. They
also have WiFi versions. Prices for the Ethernet units started at
US$47.00 last time we bought some. WiFi were about US$100 more than
that. But the SDK was US$14,000.00 including the prototype board and
JTAG debugger package.

For a more complete package, look at the Systek RCS series of port
servers. They come in two to eight port options with firmware and
drivers that turn them into external serial ports on Windows or Unix
systems. They look like COMx-COMy to the local application, but link
over a TCP/IP socket. There is also an SDK that allows you to replace
their firmware with your own application. They use an MC68EC363 CPU
and the GCC compilers.

Bob McConnell
N2SPP


Site Timeline