Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Input Devices IT

Will the Serial Console Ever Die? 460

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?"
This discussion has been archived. No new comments can be posted.

Will the Serial Console Ever Die?

Comments Filter:
  • Simplicity (Score:5, Insightful)

    by ak_hepcat ( 468765 ) <slashdot&akhepcat,com> on Saturday February 27, 2010 @10:48PM (#31301856) Homepage Journal

    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.

  • It just works (Score:5, Insightful)

    by mtmra70 ( 964928 ) on Saturday February 27, 2010 @10:49PM (#31301870)
    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.
  • by Anonymous Coward on Saturday February 27, 2010 @10:54PM (#31301918)

    Let's keep it around forever. You kids are going too fast anyway!

    You need to take time to ponder the deeper questions, like in-band or out-of-band?

  • by c0mpliant ( 1516433 ) on Saturday February 27, 2010 @10:58PM (#31301950)
    Unfortunately yes. In my workplace we still use floppy disks and other legacy devices because other institutions also still use them.

    Processes and systems that were setup 20 years ago still exist and when there is a system setup to handle something across an industry, in the example I'm thinking of its banking related, to get that changed across every company, institution and outlet take not only large amount of capital invest in the new hardware and software, but first agreement of the new standard, and then training after everything is done and then usually also changing large amounts of code that have been setup in each company.

    Just because we in IT can see better ways to do things, doesn't mean that management can have the foresight to actually implement it and see it through. And usually they have a point, by the time we have everything implemented and up and running, there could/would be a better way of doing it again!
  • by Anonymous Coward on Saturday February 27, 2010 @11:06PM (#31302002)

    you can boot and start listening for commands on a serial port without
    any ip addresses or netmasks or gateways or any configuration
    whatsoever. That's the key.

  • Re:Web Interface (Score:3, Insightful)

    by hedwards ( 940851 ) on Saturday February 27, 2010 @11:09PM (#31302026)
    I might be missing something, but that's not an adequate substitution. The point of a serial console is for when something goes wrong and for some reason the configuration is broken. In situations like that a web interface doesn't do you a damned bit of good because you can't access the box directly via the internet. Watchdog hardware or remote reboot hardware can get the box back up, but without a good serial console you're not likely to be able to fix the problem without being there.

    With a serial console you can have one box hooked up to quite a few other ones to deal with that problem indirectly. It's not ever going to be phased out in the manner you're suggesting, it will however at some point be replaced with something that works in a similar fashion. But the real question is how long until the bios and early functions of the computer be access via some other sort of connection.
  • by hedwards ( 940851 ) on Saturday February 27, 2010 @11:12PM (#31302042)
    Have you any idea how insecure it is to access the bios via ethernet? It's hard enough keeping things secured when a box is internet connected, but allowing people to set the bios options and early boot process stuff via ethernet is absolutely insane and an incredibly warm invitation to crackers. And if it doesn't allow you to do that then it's more or less useless as a replacement for a serial console anyways.
  • Re:It just works (Score:4, Insightful)

    by 0100010001010011 ( 652467 ) on Saturday February 27, 2010 @11:15PM (#31302076)

    My SheevaPlug [plugcomputer.org] has a mini-USB connector on it. It's near impossible to brick. I even did a dd /dev/zero to the entire flash memory and was still able to get to the JTAG interface with a USB cable to my MacBookPro.

    "Serial" shouldn't go away, but the massive plug should.

  • Re:Simplicity (Score:2, Insightful)

    by glyn.phillips ( 826462 ) on Saturday February 27, 2010 @11:23PM (#31302124)

    Another feature is software simplicity. This may not be an issue for the laptop, but it is an issue for the embedded system. Or it can be during development.

    USB is a complex protocol which requires a fair amount of code and data structures to support. A serial port on the other hand requires less than a page of code (in it's most simple form). The result is that when a system crashes, a serial port has a much better chance of being operational than a USB interface. Many systems with serial ports are designed so that a break signal on the line will interrupt the processor from whatever it's doing and send it directly to the debugger. When you can examine the entrails it is much easier to divine the cause.

    Of course it is possible to design a bit of hardware which looks like a USB serial port adapter to a laptop and a serial port to the embedded system. Even better would be a new USB interface which gives full access to system memory and processor state.

  • by SharpFang ( 651121 ) on Saturday February 27, 2010 @11:44PM (#31302238) Homepage Journal

    RS232 is easy to program. If it's a switch without OS or some other embedded device, RS232 is the easiest and fastest way.
    Sure on the PC side there are the problems of baud, parity and so on. Thing is on the device side you can get a working bidi buffered transmission within 30 lines of assembler (100-200 if you have no UART and need to push each bit yourself). Writing equivalent of "hello world" over USB becomes kilobytes. And if you go into a web interface, you quickly lose enthusiasm as you realize on top of CGI you need to write the web server, the TCP stack, the IP stack, and if you're unlucky, the Ethernet protocol stack (in VHDL) as well.

    On top of that, a thousand things can go wrong in writing USB or Ethernet or whatever. RS232 is rugged, fault-proof, it works from moment zero. You will be able to communicate with bootloader which has no idea what ethernet is, you will be able to diagnose faults when 90% of essential peripherials are fried, and if the cable goes loose, just move it around a bit and the connection will be back, no timeouts, no disconnects, no "intelligence" to get in your way.

    And if you open various devices that use USB instead of serial, you will find a neat little FDDI, Profilic or such chip connected to the USB interface. The devices really connect over RS232. They just have the "RS232 over USB dongle" built in.

  • by darkpixel2k ( 623900 ) on Sunday February 28, 2010 @12:07AM (#31302424)

    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.

  • Re:Web Interface (Score:3, Insightful)

    by Idiomatick ( 976696 ) on Sunday February 28, 2010 @12:21AM (#31302528)
    Directly link through a cat5 port?
  • by Miamicanes ( 730264 ) on Sunday February 28, 2010 @12:25AM (#31302564)

    ^^^ Amen. For anyone into embedded electronics (including robots), real honest-to-god non-USB-bridged serial ports are pretty much the only port left on a modern PC (or at least a decent thirdparty motherboard in the form of an IDC header) that neither Windows nor Java can fuck up.

  • Re:Serial Ports.. (Score:5, Insightful)

    by Anonymous Coward on Sunday February 28, 2010 @12:33AM (#31302616)

    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'!

  • by fuzzyfuzzyfungus ( 1223518 ) on Sunday February 28, 2010 @12:54AM (#31302734) Journal
    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.
  • by Foredecker ( 161844 ) * on Sunday February 28, 2010 @01:01AM (#31302792) Homepage Journal

    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.

  • Re:Web Interface (Score:3, Insightful)

    by Anonymous Coward on Sunday February 28, 2010 @01:02AM (#31302806)

    You might want to understand the amount of things that have to be running correctly to even have a working TCPIP stack to make it unpractical as a debugging tool.
    For a serial port, you could be talking to it in less than 10 line of non-interrupt C code in a pre-boot environment if you have to.

  • Re:Simplicity (Score:2, Insightful)

    by tconnors ( 91126 ) on Sunday February 28, 2010 @01:17AM (#31302912) Homepage Journal

    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.

    Wow. Miss the point completely. In the datacentre, trying to configure my SAN, I don't give a flying rats about whether my cable only needs 3 conductors and I can build a device using only discrete components. I'm not building devices and the cable came in the box with the device. I want to plug my special magical cable somewhere into a special magical and standard port somewhere on my laptop (ie, not a serial port), and have it talk to a special magical port somewhere on my device. I'd rather it be error detected and corrected just so that when partitioning my device, it didn't interpret "create new partition" as "wipe all partitions".

    I strongly suspect a pl2302 or similar usb-serial chip that has linux drivers only costs a few cents, and the USB communications are error corrected (and the signal lines from the converter chip to the internals are all done within the metal enclosure of the device I'm configuring, so should be fairly resistant to errors). So if these devices were built included as standard instead, I'd have a much better chance of getting my data onto the device error free for some time in to the future until USB has been superseded. I've got devices at work that were advertised as containing "USB interface", which instead came with USB serial converters. They work fine. Just add udev rules to match the device and create a symlink somewhere in /dev, then configure minicom to talk to that location.

    Of course, I'd be equally happy with ethernet (unencrypted telnet talking on some random private IP would be fine, this port need not be plugged into the network) - I'd configure my laptop to send all private subnet ranges to the ethernet port that was plugged directly into my device (if the laptop needed network access, have a second port or wireless).

  • by Mad Merlin ( 837387 ) on Sunday February 28, 2010 @01:33AM (#31303030) Homepage

    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.

  • by kimvette ( 919543 ) on Sunday February 28, 2010 @01:38AM (#31303052) Homepage Journal

    Well, okay, there was also the "because I can" aspect to it...

    . . . but it's that "because I can" that often makes sysadmins who are familiar with this "antiquated" technology extremely valuable.

  • It's okay (Score:4, Insightful)

    by jones_supa ( 887896 ) on Sunday February 28, 2010 @02:11AM (#31303228)
    Not all hardware has to be thrown into garbage just because it's old.
  • by mirix ( 1649853 ) on Sunday February 28, 2010 @02:15AM (#31303246)

    This machine has 11 UARTs on it, 4 of them are RS-422, the rest are normal 232.

    I've got a couple 232 lines to other puters in this room, and a router.
    RS-422 goes down to the basement, and controls the machines down there, ethernet or not.
    There is a getty running on one, in case I get too drunk and smash the monitor.

    I use the remainder for connecting to my microcontroller projects and programmers, etc.
    You can run it on *ancient* hardware, with no resources. It's incredibly useful for debugging microcontroller programs.
    Things that only have 128bytes of RAM, and a few k of program rom...

    You can hook it up to a 40 year old TTY and it will work.
    You can haul a dumb terminal out from a cave and it will work.
    You can short every pin of the serial port together, leave it there for a decade, come back, and the bloody thing will still work.

    I'm a rather miserable programmer, and serial is a bloody cakewalk to interface to. USB, on the other hand, isn't quite as simple.
    And it's a *standard*. Man I love things that are standardized.

  • Re:Simplicity (Score:3, Insightful)

    by Eskarel ( 565631 ) on Sunday February 28, 2010 @02:23AM (#31303280)

    The problem is though that it's only simple if you have an actual serial port on both ends.

    The serial port is all but gone on laptops and not exactly common on desktops or workstations. That isn't going to change any more than lpt ports are destined for a comeback.

    Yes adaptors exist but the drivers for them aren't by any means standard and I know that most of them don't work under windows in 64 bit. Add to that the fact that putting an incredibly complex software driver(which is what it is) to implement a "simple" interface is not exactly good design and you start to see a big problem.

    To be honest the reason serial still exists is that it's cheap but it can't stay.

  • by Darinbob ( 1142669 ) on Sunday February 28, 2010 @02:39AM (#31303378)
    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.
  • Re:Web Interface (Score:3, Insightful)

    by BitZtream ( 692029 ) on Sunday February 28, 2010 @04:39AM (#31303952)

    You should also point out that no serious network administrator has a web server enabled on his/her routers and switches.

    That crap is fine at your home where it doesn't really matter if something gets exploited, but no self respecting router/switch flunky on the planet leaves the web server running longer than it takes to get a console hooked up, login, enable, and turn off the damn webserver.

    Then you go setup the device if you don't have a auto-config system setup.

  • by Lennie ( 16154 ) on Sunday February 28, 2010 @07:57AM (#31304576)
    I don't no if you actually checked, but a RJ45 could also be serial. A lot of Cisco equipment for example has a RJ45-connector for speaking serial.
  • Re:No (Score:2, Insightful)

    by simpz ( 978228 ) on Sunday February 28, 2010 @08:32AM (#31304738)

    You are totally correct. Serial is nice and simple and would be perfect IF everyone used the same wiring on the connectors, there was a standard plug (preferably not R-J45, there's a recipe for confusion),there was a standard speed/parity (or a simple negotiation mechanism), people only used simple RX-TX for signalling (which they sadly don't), standardized/simplified flow control (really needed for xyzmodem, some devices insist on HW flow control), I didn't have to have tons of cables (one per device practically). TFTP/HTTP is no use when a device is so dead that the network doesn't work.

    I'd settle for a more standardised rs-232 if the world could get there.

  • by Comen ( 321331 ) on Sunday February 28, 2010 @09:03AM (#31304888)

    I think the DB-9 connector is a little big for what its doing though, I mean even a DB-15 monitor type connector is duplo size for 15 pins.
    Maybe I just like Cisco to much, but it would be nice to have everyone just use the Cisco RJ-45 spec for serial connections, I hate when other router/switch vendors use RJ45 but the pins-outs are totally different so you have to find that special DB9 to RJ45 adapter for that 1 piece of gear, instead of using 1 of the Cisco adapters that you have laying everywhere.
    Even if on the back of laptops they used RJ45 for serial and marked they would keep it around longer? the DB9 connector seems to big realistate wise to me I guess.
    Then you could just use a regular RJ45 cable to connect between the 2, no need for some non-standard cable.

    Also for those of you that use console servers allot, I still think the older Cisco access servers that many use for console servers now a days are better than any of the Linux server type solutions I have tried. The Cisco access devices supports telnet to each port, a real routing table that supports multiple gateways via static or even routing protocols like OSPF etc... also Tacacs+ auth if you need that.

  • by Yvan256 ( 722131 ) on Sunday February 28, 2010 @09:34AM (#31305074) Homepage Journal

    FTDI chips have very reliable and freely available drivers for their ICS for Windows, Mac OS X and Linux. Their ICs are so easy to use that you don't even have to think about them, the work is already done on both the PC side and the uC side. You code as if both sides were using an actual serial connection, the FTDI chip does all the USB-serial work. They're really plug'n play.

  • by Dun Malg ( 230075 ) on Sunday February 28, 2010 @01:22PM (#31306990) Homepage
    Heh. Indeed. If grandma is standing in the MDF room cursing at a Cisco router with a laptop balanced on the back of a chair, she probably knows how to disable/enable a serial port in Device Manager
  • $84 (Score:1, Insightful)

    by Anonymous Coward on Sunday February 28, 2010 @05:24PM (#31308954)

    Not terribly hard to find [newegg.com]. Not $300, either.

Those who can, do; those who can't, write. Those who can't write work for the Bell Labs Record.

Working...