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?"
I use one just fine with an old WACOM 12" tablet under linux, so while the port may be dead, we can still use serial software and hardware. There's no reason you can't use two $15 converters plus a null modem to run that old DOS-based serial telecom program (ah, telix ... thanks for the memories).
He means on desktops, laptops, servers, and shit like that. Other than cisco routers and switches, you can't really fine hardware that has a serial port on it. But all routers and switches are still manufactured with serial...
It calls out to you.
The great thing about a serial console is that it doesn't take long to figure it out. And you only need 3 wires to get there.
Another nice thing about it is that it's point-to-point, so you don't have to worry about your signals getting lost.
Heck, you can create a serial interface from discrete components if you're really into fun.
So use your serial console for what it's intended to be used for: emergencies and initial configurations.
Support FSF: Stop thinking with your wallet, and think with your imagination. (cc/non-commercial)
I upload firmware and program various devices at work via USB or TCP/IP - and it is great because the connections are fast. However, when something goes very wrong with the devices, the RS232 port always works. Also, being able to get serial data just by listening to a couple pins is far easier than trying to deal with USB connections/drivers you have no clue about.
When it comes down to it, serial works, its easy and it's a life saver.
It will never die. It will be around forever. Technicians, thousands of years from now will have to interface with wireless psychic rs232 adapters so as to configure their Cisco hyperdrives.
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 work for a small electronics manufacturing company, http://www.westmountainradio.com/
and we make a number of devices that use the serial port. In recent years, we had to start including USB-serial adapters with every device for the very reason mentioned: Many newer computers simply do not have RS232 ports anymore.
The RS232 port is a very convenient way to connect with a number of peripheral devices that don't need much bandwidth. In most cases, 9600 BPS is plenty. You also have the "handshake" lines which can be used to toggle an external device on or off. We use it to drive an LED and an opto-isolator to key a ham radio transmitter, among other things.
As long as there are low-bandwidth, human-interface devices, there will still be SOME use and purpose for the RS232 port.
Willie...
I still design lots of equipment with serial interfaces inside. It is much easier to connect to a low-end microcontroller which may barely have even a single UART. And even for a higher-end processor, it's so much easier to build the interface. Developing a USB interface requires a pretty detailed understanding of USB - selecting endpoints, which transfer protocol to use, etc - so there's a big software investment and often a significant additional hardware investment to implement a USB interface. Serial is often damn close to free, so easy that it's a no-brainer to put in. And for ethernet devices like switches I can't imagine why anyone would want to bother with a USB interface when you already have 8/16/48 copies of an ethernet interface available, just plop down yet another copy of the ethernet PHY design and make that your console interface.
Point is - serial's EASY to give you, so you're gonna keep getting it for a while.
Just my $0.55 (US inflation, 1774-2008, for $0.02)
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.
Serial is cheap, simple, works really well, and you can hook up 15+ year old equipment to it with no problem.
Is it slow? Not really, but firmware updates should be through TFTP or HTTP by now anyways for larger files.
Complicated wiring? RX-TX TX-RX, common ground.
Also RS-232 has many brothers and sisters like:
RS-422 (a high-speed system similar to RS-232 but with differential signaling)
RS-423 (a high-speed system similar to RS-422 but with unbalanced signaling)
RS-449 (a functional and mechanical interface that used RS-422 and RS-423 signals - it never caught on like RS-232 and was withdrawn by the EIA)
RS-485 (a descendant of RS-422 that can be used as a bus in multidrop configurations)
On the USB console: yeah, you can have a USB console. Most like there will be a FTDI chip, which will make your USB into a serial connection. Want an example? Arduino.....
By the way, the post is kinda mis-worded.... USB is a serial bus, so a USB console is technically a SERIAL console :)
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 attended its funeral yesterday. It was an open-casket ceremony, and people just couldn't seem to resist fingering the deceased. Sadly it didn't respond.
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!
I can't speak to switch access, but the serial port is paramount in the medical instrumentation field. Virtually all interfaces are serial. Need to hook up a CBC machine? Cobas? Vitek? Serial!
Most machine shops -- their equipment is serial. Sending cut information to the lathe? Serial.
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
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.
Then you are looking at old catalogs my friend.... no, serial is not included on every piece of hardware.
No, that little RJ45-looking jack labeled 'Console' on most newer Cisco and HP gear is actually for a serial to RJ45 cable...
There's no place like
Other than cisco routers and switches
Are you serious? The only examples anyone on Slashdot can find seem to be routers and switches? The reasons RS232 isn't going away is because an awful lot of industrial automation equipment (large and small-scale) still uses it. Why? Because a) all of the existing industrial automation equipment uses it, so new equipment is designed to be compatible with existing interface and control systems, b) it has proven itself to be incredibly reliable over the years, c) it's cheap (in terms of money, but also in terms of the amount of supporting hardware required). Also, while it may not be fast enough to transfer huge firmware images or run high-bandwidth stuff like video over, it's fast enough for what it's used for. If a firmware update takes 5min to do on a $100,000 piece of factory equipment, so what? The company probably spent a month planning for the upgrade, and will spend a week testing it after the update to make sure it still meets performance and safety requirements before re-deploying it anyways. There are billions of dollars invested in RS-232 by some highly conservative companies that don't change things on a whim, when a complication arising from an unnecessary change could cause 5-figure-per-minute damages or loss of life.
Why is RS-232 still around? Because it ain't broke, and it don't need fixin'!
Outside of Real Serious Stuff(if your job involves oil rigs, SCADA, legacy devices that Google has never heard of this probably means you), I strongly suspect that "serial" in the sense of "DE-9 or DB-25 connector that won't freak out when exposed to the full +/- 12(or even a touch more in some cases) volts that serial used when men were men and cable runs were long" is not so long for this world, outside of a few legacy niches.
On the other hand, "serial" in the sense of "a few pins carrying something that looks like rs-232 at whatever voltage this device's logic runs at" or "device has a USB connector; but that just means that they slapped an FTDI or Prolific chip on a serial design" will be more or less immortal. Even in high volume consumer devices, where it isn't supposed to be user accessible, you can generally find a logic-level serial connection somewhere, though it may not be labeled or have any sort of connector soldered in. It costs almost nothing and can save you from having to JTAG your way out of (most) of your mistakes. When designed to be accessible, it is ideal for dealing with initial configuration for devices that communicate primarily over ethernet.
Not much really - it only takes a very minimal stack to do simple things like TFTP or Telnet. Back in the mid 90's We used do to do this on '186 class stems in a few k of code. Its also easy to do a very simple low level UDP based thing - that that would be a bit proprietary.
I agree that serial ports are useful. What I'm suggesting is that the best alternative is Ethernet, not USB.
Jibe!
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.
I'd hope these days a big honking server mobo would at least support booting from USB key.
Most of them do--but you have to realize that it took Microsoft until 2008 to release a server OS that doesn't require floppies to load RAID drivers.
Then again, it's hard to take anyone seriously that uses Windows in a server role.
Game! - Where the stick is mightier than the sword!
Funny, I just walked around my ICU and everything is connected via ethernet. Monitors (philips), ventilators (dragers) and of course the computers (windows). Even the dialysis (prismaflex) machines hook via ethernet.
The ultrasound has an ethernet cable attached as do the image intensifiers. The biochem lab also works over TCP.
Certainly nothing major in the hospital that I work in uses serial connections.
Maybe the older equipment used to use serial but given the amount of data shuttled around I don't think it would be feasible so use serial. Of course I can only draw experience from where I work, other hospitals may be different.
Charles
Serial is essential! It's cheap, simple, lots of hardware support it, and there's minimal firmware support needed for it. If you've got 8K RAM and runs at 1MHz, you don't want to waste it on a bloated USB driver. Serial port works from an interrupt context, so you'll be able to use it many times where USB can not work (say your OS is busted and you need to debug it).
Serial port isn't used because we're Luddites, but because it works.
Now if things had standardized on external I2C or SPI ports, that could work. But USB is just bloatware in comparison.