Embedded Linux at Cyclades Corporation
Late in 1999 we were developing embedded networking products (routers, terminal servers and remote access servers) with traditional proprietary technology. For a company that was a strong proponent of Linux for server-based networking and the first company in the world to support a Linux hardware product in 1994, this represented an internal contradiction.
We had been considering moving our embedded development to Linux for a couple of years. Our proprietary Cyclades Routing OS (CyROS, the Cyclades equivalent of Cisco IOS) has been developed, improved and optimized for more than ten years. It was not a trivial decision to give up CyROS in favor of an OS that is great for servers but might not have all the functionality we needed and be as good for embedded.
Linux runs well on ix86 and other standard platforms, but will it run on an embedded Flash-based PowerPC architecture? How long will it take to write the device drivers? How much memory is needed? Will it run fast in a small, embedded processor? How do I manage the fast software releases? Do I need real time? Are there tools and professional services available?
Early in 2000 we decided to find the answers to those questions. This article is about the development of an embedded networking box, the TS2000 terminal server, using embedded Linux. One year after that decision, the resulting product is a success and is being used in the field to manage some of the largest server farms in the Internet.
We have designed similar products using both proprietary and open-source software, so we can compare apples to apples. I hope this article will give you confidence to move forward and adopt Linux as your embedded operating system.
As in the server market, using Linux costs less than using a proprietary commercial kernel. Usually, there are no license/royalty fees, and you are not tied to a single vendor. Another advantage is the unlimited access to the source code, which is especially important for embedded developers.
That is not enough to convince the skeptical, though. There are relatively inexpensive commercial RTOSes out there. Some are royalty-free, and many of them give you access to source code. So, why would you change something that has been working fine?
We know that one of the main advantages of open source is the possibility of leveraging on the software available in the Open Source community. Most of this software is released under the GNU General Public License (GPL) and can be incorporated to commercial products without much overhead or cost. It becomes easy and quick to add new features and functionality.
We are in the embedded networking market, and it was difficult for us to develop and keep pace with the constant introduction of new network protocols. We were hoping that our internal R&D resources would outlast the availability of three-letter combinations to name new protocols. Then they started creating four-letter acronyms. We had to do something. Linux has great networking support, and our boxes are ready for current protocols and will quickly incorporate any future network protocol without us having to develop them all in house. We can spend more time designing better applications and products and less time maintaining kernels and protocol stacks.
Another great benefit is the possibility of letting users and external developers run their own software in your appliance. Let people scratch their own itch and find new applications for your product.
This flexibility is especially interesting for a terminal server. Many industrial and commercial automation applications require connection of multiple serial devices to the LAN. Users sometimes are forced to use PC servers with a multiport serial board to implement custom terminal server applications. Now they can use a compact and reliable embedded system and, at the same time, are free to add their own software and create customized solutions.
The same benefits apply to other types of embedded systems. Develop a PDA and maybe someone will add software and sell it as a Gameboy. Others will port automation software and incorporate it to commercial automation solution. Use of standard software architecture opens doors for new business.
We wanted to design a new console access and terminal server. This is a box that provides remote access to console ports in a server farm (for management purposes), provides dialup access through a modem bank in an ISP environment or can connect serial devices to the network in an industrial or commercial application.
The hardware specifications were 32 serial RS-232 ports, one Ethernet 10/100BT LAN port, PowerQUICC (Motorola MPC860T, PowerPC core), Flash/RAM-based (no hard disk storage), compact (1U of rack space) and low cost. When we started the project we did not know how much Flash and RAM memory were needed.
The PowerQUICC is an embedded networking chip by Motorola. It has two CPUs (a PowerPC core that runs the user application and an I/O RISC CPU) and several built-in peripherals (serial controllers, multichannel HDLC controllers, Ethernet controller, memory controller, etc.). It is the successor of the 68360 QUICC (similar functionality, but a 68000 core), the most popular processor for embedded networking ever.
The new product (called TS2000) would be an improved version (faster, smaller, less expensive and more reliable) of an existing product (PR3000) in hardware, but it would also bring a software innovation that was revolutionary rather then evolutionary. It would run embedded Linux and would be all open source.

TS2000 Bare Board
Trending Topics
| You Need A Budget | Feb 10, 2012 |
| The Linux powered LAN Gaming House | Feb 08, 2012 |
| Creating a vDSO: the Colonel's Other Chicken | Feb 06, 2012 |
| Your CMS Is Not Your Web Site | Feb 01, 2012 |
| Casper, the Friendly (and Persistent) Ghost | Jan 31, 2012 |
| Razor-qt 0.4 - Qt based Desktop Environment | Jan 30, 2012 |
- Fun with ethtool
- Parallel Programming with NVIDIA CUDA
- Readers' Choice Awards 2011
- 100% disappointed with the decision to go all digital.
- Linux-Based X Terminals with XDMCP
- Validate an E-Mail Address with PHP, the Right Way
- You Need A Budget
- The Linux powered LAN Gaming House
- Why Python?
- Python for Android





2 hours 25 min ago
6 hours 56 min ago
12 hours 2 min ago
13 hours 3 min ago
22 hours 30 min ago
22 hours 41 min ago
1 day 4 hours ago
1 day 8 hours ago
1 day 9 hours ago
1 day 9 hours ago