Blog

Eight RS232 Ports, One Ethernet Port | Hackaday

When it comes to impromptu enclosures, [Paul Wallace] is a man after our own hearts, for his serial-to-Ethernet converters allowing him to control older test equipment were housed in takeaway curry containers. Once the test equipment pile had grown it became obvious that a pile of curry containers was a bit unwieldy, even if the curry had been enjoyable, so he set about creating an all-in-one multiway serial to Ethernet box.

Reminiscent of the serial terminal access controllers that were found in dumb terminal sites back in the day, it’s a box with eight DB-9 connectors for serial ports and a single RJ45 Ethernet port. Inside is a Teensy 4.1 which packs a PHY and eight hardware serial ports, and a pile of MAX232 level converter modules. These have a small modification to wire in the CTS and RTS lines, and the whole is clothed in a custom 3D printed case. Max232 Level Shifter

Eight RS232 Ports, One Ethernet Port | Hackaday

The result is a very neat, almost commercial standard box that should save him quite a bit of space. Not everyone has eight devices to drive, so if you have just one how about using an ESP8266?

Don’t search that title in Youtube… You are warned 😝😝😝

I would not have to do that if you had posted the link here dude, come on.

I saw what you did there!

Are the magnetics in the rj45 jack?

Yes, got it from https://www.pjrc.com/store/ethernet_kit.html

I still have a couple of DECServers floating around somewhere :-)

DECservers, Lantronix, Digi, even Black Box Corp. serial port and remote console devices. I’ve got a few on hand myself, worked with those plus about a half dozen more. RS-232 is still a valid standard for so many things!

I raise your Lantronix, for a Cisco CS800, 1600 and ACS (48 ports). ;-) Oh I have a couple of Xyplex also. I also have this weird Digi port extender. A very interesting device for remote serial ports on a Linux machine.

I worked with Digi multiport boxes where there was a PCI card driving up to four 8-port boxes, using DC-37 cables (if I recall correctly). The boxes had active circuitry in them, they were NOT hot-swappable; you had to have the system shut down before daisy-chaining the boxes onto the card. The servers ran Windows Server 2003; had sporadic issues until I found there were updated drivers. Also ran them on OpenVMS Alpha servers, less issues but there was a driver that had to be loaded at system startup.

The Ciscos are nice in many ways, but I didn’t get much experience with them as other than routers and switches.

Did you know that Xyplex had its own Ethernet protocol type early on? They ended up using DEC’s LAT and TCP/IP, but I got to play around with a few of the older ones. (Egads, I think the Xyplex MAC address manufacturer prefix is 08-00-87, how many decades has it been since I used that tidbit of information?)

If you know of anyone who has a DECserver 200 (LAT-only), I discovered how to get into a machine code console called ODT (Online Debugging Tool). Never had much time to play around with it, but it was similar to ODT on other DEC hardware.

I have the ISA board version of those card (same? DB-37 connector). Run them under Linux. I’m used to the Ciscos but my test bed wasn’t funded so I would roam the building finding the dreck from other labs. So I ended up with 2 Xyplex TS. Found a CD (no idea how) and found it rather easy to use once you got used to the syntax. I later found ATM switches and a Paradyne DSLAM (DSL test bed). Did need to learn TL1.

As far as DECServer 200s, yup think I know a few people who know that stuff. :-)

When I first started using Cisco AGS router (7.0) I had a customer with IP, XNS, IPX, Vines, PUP, SNA, BiSync, AppleTalk, DECNet Phase IV (no V), DECNet LAT, LAST, DECNet X.25 (?) and a few other things I don’t recall. That was an interesting network.

Wow, that sounds very much like the network I grew up on! I supported VAXes, which would talk to anything, but that meant the guys supporting the other platforms had no idea how to interconnect to anything but their own type of systems, and we (me!) often got handed the problems others couldn’t make work. I got started early enough that Ethernet was still new, and we started interconnecting the buildings at the “major defense contractor”. Went from trunk coax to thinwire, to UTP and fiber. Got to work with FDDI before 100Mb “Fast” Ethernet came along.

Part of what I like to see on sites like Hackaday is people using that same spirit of “make it work” that we had back then.

My fingers still hurt … ;-)

To add to the lengthy history in communications. I started with newswire, 28.8 baud (baudot). I now work with 400Gbe (we bundle them into LAGs).

What a long strange trip it’s been.

Forgot Moxa. I have a 4 port serial to ethernet for sale right now, and like most of them is quite pricey

No source code is kinda lame. I was going to upgrade this to have at least 1u for a case and some security

Link is in the files section, titled “Software

The Files section is EMPTY! There is no software.

Sorry, I meant the “External Links” section. It appears a cat icon next to the word “Software” at the top left of the webpage. It’s not obvious. Here is the direct link: https://github.com/ynformatics/multiplexer

Is there any sort of standard encapsulation protocol for carrying RS-* over Ethernet ?

https://en.wikipedia.org/wiki/Reverse_telnet

For my software I just use it as a byte stream. Instead of sending data to a serial port, you send it to a TCP socket. This works nicely with e.g. SCPI commands. You can also find “virtual serial port” drivers if you’re using third party software.

Most of the old school serial port servers would use telnet as a transport, but as others have said raw data is best to avoid any characters being interpreted as control codes.

I have not looked at the full article on what he built, but the TCP port numbers for the serial ports would have a base value and add the serial port number to it. Lantronix used 2501 for “COM1”, 2502 for “COM3”, etc.

At one time I supported several hundred Xyplex and DEC terminal servers, many were used for async terminals, printers and pen plotters.

Cool. CP/M called COM1 “AUX”, by the way. MS-DOS still has an AUX alias for COM1..

@PypeBros said: “Is there any sort of standard encapsulation protocol for carrying RS-* over Ethernet ?”

Answering that question properly is impossible without more information to nail down the layers needed, whether tunneling is required, and what the physical interfaces are. While I am here I will mention the Point-to-Point Protocol flavors, which alone live in Layer-2 (the Data Link Layer):

https://en.wikipedia.org/wiki/Point-to-Point_Protocol

2. Point-to-Point Protocol over Ethernet (PPPoE)

https://en.wikipedia.org/wiki/Point-to-Point_Protocol_over_Ethernet

3. Point-to-Point Tunneling Protocol (PPTP, deprecated – try SSH instead)

https://en.wikipedia.org/wiki/Point-to-Point_Tunneling_Protocol

In the recently mentioned “Hack it! RISC-V Design Challenge” ( https://hackaday.com/2022/03/06/hackaday-links-march-6-2022/ ) the bare metal example application of using the CH32V307 is a 8 UART server: https://github.com/openwch/ch32v307/tree/main/Application/8_uarts_server

It is eight UART interfaces and 10M Ethernet. Speed reading the code I’m going to guess that any one port individually support any of the standard baud rates (2400; 4800; 9600; 19200; 38400; 57600; 115200; 230400; 460800; 921600; 2000000; 3000000), but I can’t find the code that limits the maximum when all are fully active.

Ouuh.. Yeah.. This thing makes me feel aroused. 😉

A pedant would point out, correctly, that those are not DB-9 connectors. Those are ‘E’ size shells with the 9 sockets, so are DE-9 connectors. The ‘B’ size (usually) has 25 positions.

You sir, win todays Internets!

I’m looking at making a detachable NAND for a router, which needs all of 17 pins. DE-15 doesn’t cut it, DB-25 works but feels a little overkill. DE-19 would be perfect, just a shame it’s vapourware. I guess the DB-25 shell would give plenty of room to house the chip though…

What about DA-26? Still available for <2$ and smaller physical dimensions than DB-25

Use the DB25. You can never have too many ground pins… Or consider the DVI connector: The DVI-D version is 18 pins, and it’s nice and robust. HDMI has 19 pins, but friends don’t let friends use HDMI connectors, because they are unreliable evil incarnate. USB-C has 24, but then you need to figure out that whole flipping ambiguity thing. But what’s wrong with just a pin header? Or a board edge connector? Too bad PCI-eX1 and SATA conectors have just 15 pins, but there are plenty of other options.

I’m looking for compactness & availability. Molex have a picoconnector or something line, but they max out at 12 or something pins. Those ribbon connectors and miniature zif sockets could work but where do you get hold of them in quantities x a couple?

HDMI, DVI, can you get naked plugs & sockets? I’d thought about those but got the idea they’d be too bulky.

Floppy disk cables have overkill on the pins but could work too. Similar in size to a DB25.

limroh suggests DA-26 that could be good too, but availability (Sweden)? Mouser has them for €2.84… + €20 delivery.

A SATA/SAS + power connector would work (is it just me that finds odd the fact that the SATA data connector has 7 pins, but its power connector has 15?). I could imagine scavenging a SAS backplane for the connectors and gutting a few dead drives.

So many choices, so few choices :)

20 Pin Duel row (perhaps Captive) pin header?

All the 19’s got bought up a few years back by a guy making some Mac floppy emulators I believe.

Pedant here… Thank you for pointing that out so I don’t have to!

Unfortunately, “DB-9” was stuck into people’s heads since the 1970s or so. Even today, it’s hard to make them unlearn old falsehoods. It’s like fighting windmills. 😔

(To be precise, RS-232 now is EIA-232, too. But the old term never was wrong, it merely became dated. Here in Germany, we also used to use the “V.24” term. )

How is this device different from an off-the-shelf 8 port serial device server?

Functionally probably identical. But buying off the shelf isn’t a hack and likely comes with a hefty markup.

Old Cyclades and Avocent serial console servers can be had for under $50 on ebay. You can SSH to each port separately or use their web interface to launch a viewer to the connected device. The newer ones cost in the thousands and have HTML5 instead of Java viewers, security updates, and a warranty.

And works with the cloud, and has closed source code that you cant modify because DRM, and stops working when they switch the sever off that it is dependant on.

I am gonna be that guy: What about RS485?

Instead of ttl uart level shifter use ttl uart to RS485 converter. There is quite a lot of cheap MAX485 boards floating around.

rs232 = full duplex rs485 = half duplex

Check out ESP-Link too: https://github.com/jeelabs/esp-link

@L. Albers, excerpting from your link: “In particular, esp-link is not a platform for stand-alone applications and it does not support connecting sensors or actuators directly to it. A few users have taken esp-link as a starting point for doing these things and that’s great, but there’s also value in keeping the mainline esp-link project focused on a clear mission.”

Yeah so it seems to me esp-link by itself is not really a general purpose solution for end-to-end communications.

This is a great looking project. I ‘m a big Teensy fan. If people are looking for commercial options I can recommend the N-Port series from Moxa. I’ve been using them for years and have had them hold up well in some pretty challenging environments on ships. https://www.moxa.com/en/products/industrial-edge-connectivity/serial-device-servers/general-device-servers

Isn’t that cute… He made a terminal server

Yes, it is great to be parent. Is doesn’t matter how many parents already exist …

So, why are the serial connectors females? I’m a big fan of putting the female connectors on the fixed hardware, and have the easily-damaged males be on easily-replaced cables. But most serial ports on hosts (e.g. a terminal server) use male connectors. Why are these females?

Maybe the equipment he’s connecting to is set up as DTE (Host). RS-232 is after all a Master Slave protocol.

In any case I’m with you on the logic of having the more fragile connector on the easily replaceable cable.

RÖB said: “Maybe the equipment he’s connecting to is set up as DTE (Host). RS-232 is after all a Master Slave protocol.”

Whoa! Don’t say that in any University or Corporate setting these days. If your skin is the wrong color you will be immediately CANCELLED and shown the door.

While I grew up with the terminology through college and grad school, I thought the new politically correct edict was to eliminate use of the phrase, “master”/”slave”. Didn’t many companies have to revise all their old schematics and catalogs to use new phrases?

Nothing profound here I’m afraid. Just that the cables I was using had male connectors!

Technically it’s DE-9. Just sayin’.

Aww, memories of the days of Ungerman-Bass broadband terminal servers and drilling into orange cable for the taps.

I think the source code is here https://github.com/ynformatics/multiplexer

For those people who can’t find it.

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Eight RS232 Ports, One Ethernet Port | Hackaday

Octal Level Shifter By using our website and services, you expressly agree to the placement of our performance, functionality and advertising cookies. Learn more