Will the Serial Console Ever Die?
simpz writes "Will the serial port as a console connection ever be displaced — especially for devices such as switches, routers, SAN boxes, etc.? In one sense it's a simple connection. But it is the only current port that, in order to use, you need to know about wiring / baud rates / parity, etc. It has non-standard pinouts. And it is becoming too slow to upload firmware to dead devices, as the firmware updates get larger. Also, the serial port is rapidly disappearing from new laptops — which is where you often really need it, in data centers. Centronics, PS/2, and current loop are mostly defunct. Is there any sign on the horizon of a USB console connection?"
It will exist as long as it is useful. Right now, people are still finding it useful, therefore it still exists. You still see ISA ports around sometimes.
Qxe4
I actually posted an Ask-Slashdot about running a headless Linux Box that didn't have any serial ports... my question was about what happened in the 5% of cases where I couldn't SSH to the box (like if a kernel upgrade goes south). The basic answer was that I still needed a serial terminal. Oh, I know that USB can be used as a substitute, but the problem was that USB required a booted & functional kernel with a working USB stack to emulate the serial line. I recently saw a similar discussion in comments about how bad the old-school serial terminal code that is still in the Linux kernel is. Many people incorrectly thought the poster was saying that Linux shouldn't have a command line interface, which was completely wrong. The poster instead raised the (excellent) point that complicated and buggy software emulating long-obsolete device interfaces may not be good for the Kernel (CLI is NOT the same as a terminal interface).
Are there damn good reasons why RS-232 serial ports should be dropped from modern hardware? Hell yes, not the least of which is a 3-15 volt swing signalling protocol is an invitation to fry the low-voltage electronics on modern systems. However, the CONCEPT of having a box that does not require any type of graphics, or even a working network interface, is still very useful. So... what are the better technologies to accomplish the same goal without having to rely on antiquated hardware implementations?
AntiFA: An abbreviation for Anti First Amendment.
It depends on the serial-to-usb converter chip used. Some don't do a good job of replicating all the characteristics of the port. Best advice is try different types until you find one that works. The newer ones do a good job - the older ones were really hit-and-miss (mostly miss) affairs.
Screw that. I do programming for embedded systems and serial is absolutely essential. Even the simplest bootloader supports standard serial. Hell, you can write an implementation of rs232 in an fpga in about 20 minutes. Its ubiquitous because requires no real software to make it work...and when you have barely any software working on a system, that uart can be the difference between hours and weeks of debugging.
I work in the offshore survey industry (oil/gas industry), and 95% of products to date still come with serial ports. They are critical for our purposes, and onboard com ports are a must for timing critical jobs such as multibeam bathymetric surveys.
Current project im working on we are using Moxa multiport serial boards w/ 32 serial ports on this pc with around 25 currently inuse for IO. (Historically used Digi boards but they were awful for timing (relatively!), 30ms delay compared to the near 0ms on the Moxa units.)
Simple to use, easily available, and cheap. Almost all the devices I work with use standard parity/stop bits etc, just varying baud rates, which is easy enough to remember.
like a fox..
I understand what you are saying: RS232 ports suck for any number of reasons.
But there are a few why it is still often used.
First, it has been ubiquitous for 20 to 30 years. When I started my first development job in 1982 - everything talked to everything else via RS-232. Back then 9600 baud was considered fast. At 8 bits per character with no parity and one stop bit, 9600 baud could paint a screen with characters in one second. Yes, we thought that was fast. Things got better as baud rates improved - but RS-232 remained everywhere - it was the one constant universal interface. Even though it is incredible antiqued, it is still in many PCs.
Second, RS-232 (and its many cousins like RS-422) are very, very easy to use in software. The simplest I/O can be done in a few lines of code. Its easy to put RS-232 code right in firmware. This makes it easy to write bootstrapers, boot consoles, debug consoles etc.
USB would be a poor choice for a replacement. The reason is that it isnt peer to peer - it is a master/slave architecture. There is always one master -usually a PC, and one or more slaves (keyboards, mice, printers, scanners, cable modems, disk drives, storage keys, cameras etc).
It requires a special cable to make to client USB devices talk to each other. This cable has a small do-dad that looks like a master to both ends. This works ok, but it requires special knowledge of this USB end point to work correctly. Note, Windows began to support this in Vista for migration. Its called Windows Easy Transfer/a>.. There is a version for XP too (downloadable/a>). It actually works very well, but the cables were not cheap. Note that the cables really are not cables - but a dual-headed master USB controller with two ports - it just looks like a cable with a lump in the middle - Belkin sells one for $40.
LLike a few other posters have said - USB is much more complex to use in software than simple RS-232. Ive written code for it and I find it more complex than Ethernet at the MAC level.
I think Ethernet is the real replacement. A little TFT or Telnet server / client is really trivial to write. This can (and often has been done) in firmware. For example, most (all?) home Ethernet and wireless routers dont have a serial port. Their management is over Ethernet - works great.
-Foredecker
Jibe!
Guess what every SAC box has strapped to the back of the equipment rack - a US Robotics full-size (about 12"x7"x1") Courier modem!
Damned if I know where they're getting them from - but there they are...
Been there, done that, paid for the T-shirt
and didn't get it
An awesome point that can't be overstated. Well, probably not anyway. There are modems, converters, terminal servers and several other ways to use a serial port on important hardware. Out of band management is one of the best reasons for ever using it. The dial up modem as fall back to access servers has not been replaced yet. I imagine that there are a few reading these posts that know serial backup saved their bacon more than once.
Support NYCountryLawyer RIAA vs People
With the increasing complexity of network devices - switches, routers, load-balancers, firewalls, the expectancy of a functional terminal console puts a good design constraint on system developers. If they have to provide the ability within a 80x24 terminal funtionality to configure, operate and maintain a such a device it is a good thing. A good management is useful in providing an overview of the configuration and helps provide linkage to the management of components.
A serial terminal console is good because:-
* It enforces the designer to limit the presentation of management information to the 80x24 screen (possibly using pages), and often with a 9600bps data rate. My view is if they can't do it properly in a console they have not though well enough about management. Too often GUIs for management tend to hide important configuration parameters away.
* A terminal console allows easy copy-and-paste and script munging of configurations to ensure consistent deployment. GUIs don't allow such duplication of configurations very well.
* It allows simple out of band management through the use of a terminal server connecting multiple consoles. Such a simple management connection provides am always available management window in a network down situation. (Assuming this is deployed properly). You can also manage the risk well if management can ONLY be done by serial (preventing the management network inadvertently being connected to a production network.
* While standarardisation of the physical port (male or female DB9 or RJ45) and host type (DTE or DCE) and even hardware handshaking is right royal pain. At least it is usual possible to determine it after a minimum number of tries. But essential it is pretty straightforward to implement.
* While a USB connection sounds good, I would only prefer it if it was guaranteed to be a zero driver installation.
I work in an environment where we use Serial connections on Sprinkler controllers to Intersection battery backup and even traffic counters. We have multiple devices in which the usb to serial does not work. "multiple brands" Fortunately since most of our guys doing this type of work are outside daily in all weather. We started buying toughbooks around 6 years ago. As they are mil-spec they require that port. Imagine my surprise when I got a newer model HP 6730b and it had a serial port but no hdmi/displayport etc? It's the first serial on a brand name corporate laptop I've seen in a long while."However we are limited to which mfg's we can buy from most of the time" Serial needs to go. It's the fault of the obscure hardware mfg's that keep it around. Instead of designing something around USB.
Inane Comments are Generously Disregarded
The main issue is delay. USB is a complex standard, it requires more processing power on both sides to run, and it's not truly great for realtime applications.
Certain simple electronic devices are just meant to be serial. Most PICs have built-in RS232/RS485 support while only few have USB support (and the very few are way more expensive.
I was wondering the same thing the other day. Actually, the only thing that is dying is parallel output.
Think about it:
LPT got replaced by USB
PCI (Which is parallel) got replaced by PCI express (serial)
IDE/PATA got replaced by SATA
Parallel SCSI got replaced by Serial SCSI
But regarding serial devices, wether it's USB or the simpler and slower RS232, they are here to stay. They are cheaper, simpler to implement, and more effective. Computers will have UART chips as long as 3D routers, PIC recorders, home-made electronics, and other similar devices have RS232 ports.
I believe we'll see RS232 for at least another decade.
WTF am I doing replying to an AC at 5 A.M on a Friday night?
From a device manufacturer's point of view, RS232 is free to implement. No special drivers are required on the host.
Now, for USB, you have to either pony up $2000 PER YEAR to the USB implementers forum to get your own VID/PID and distribute a driver to your customers (and deal with the resulting customer service issues) or add a chip from FTDI (or similar) and piggyback on their VID/PID but then ask your customers to download and install a generic driver that does not specifically identify your hardware.
Gimme RS232 any day.