Thursday, July 16, 2015

Digi CM 32 and CM 48 - Great Terminal Servers for Not a Lot of Money

I wanted an affordable terminal server for my Cisco home lab. A popular option is to use an old Cisco 2511. If you go this route, you’re going to have a hard time spending less than $200 when you factor in the cost of the router along with the requisite octal cables. The octal cables also create a cable management nightmare.

My research lead me to Digi’s CM line. These units support SSH, have a nice web management interface, and use standard patch cables for the console port connections. Many terminal servers from other manufacturers require rollover cables.

They make 8, 16, 32, and 48 port models. The CM 32 and CM 48 seem to be the most plentiful and least expensive. They can be had on ebay for less than $150. The only difference feature-wise is the number of ports, and some CM 48s have dual power supplies. One thing to watch out for is some of the cheaper ebay listings are for models that use 48VDC power, so be sure that the unit you're purchasing uses AC power.

Below I have outlined some of the procedures that you will most commonly need/want to go through when provisioning one of these. These units are pretty feature-rich and this guide isn’t meant to cover every single feature. Digi’s 200 page manual does a good job of that!

Before You Get Started

By default, the unit comes pre-configured with 2 accounts, root and admin. The main difference between these accounts is that the root account has full CLI access, while admin only has access to the configuration menu in the CLI. You can use log in with either account when performing the steps in this post.

The default credentials are below. Note that usernames, not just passwords, are case-sensitive.

Username: root
Password: dbps

Username: admin
Password: admin

You can download manuals and firmware here. I recommend downloading the manual and the latest firmware before getting started.

Whenever you make any settings changes in the web interface, be sure to commit them by clicking the Save & apply button. I'm leaving this step out of the following sections in the interest of not sounding like a broken record.

Be sure to click Save & apply to commit your changes

Factory reset

Whenever I get a new-to-me piece of networking gear, I like to do a factory reset so I can be sure that I’m working with a clean slate.

Power on the device and use a paper clip to hold down the reset button until the “Ready” light on the front panel goes off. Release the button and the unit will reboot with factory settings applied.

CM 32 Reset button location

CM 48 Reset button location

Set the IP address

The default IP address of the device is Connect your computer to the Ethernet interface and assign your computer an IP address in the subnet.
Assign your a computer an IP in the subnet.
Default gateway and DNS server settings aren't necessary.

Open a web browser and go to Ignore the SSL error and log in.

Go to Network > IP Configuration.
Set the IP address as desired

You’ll lose connectivity at this point since the IP changed. Connect the unit to your network and reconnect using the new IP address.

Set Passwords

Go to System > Users Administration

By default, there are 2 accounts, root and admin. Set these passwords as desired. You can also create additional accounts if you want to.

Update the Firmware

Skip this step if your firmware is already up to date.

Go to System administration > Firmware Upgrade
Click Choose File, then browse to the firmware file that you downloaded
Click Upgrade

This process takes a few minutes. After the upgrade is complete, the unit will reboot and you will be back at the login screen.

Enable SSH

If you want to use SSH rather than telnet…

Go to Serial Port > Configuration
Click on All port configuration

Go to Host mode configuration

Change the Protocol from Telnet to SSH

Configure idle timeout

The default idle timeout is 100 seconds, which is way to short for most applications.

Go back to Host Mode Configuration (the same place as the last step).
Set timeout as desired (3600 seconds = 1 hour)

Disable Serial Port Authentication

If you don’t want to have to authenticate when opening a connection to a serial port…

Go back to the All ports configuration menu.
Select Authentication and change the Authentication method from Local to None.

Note that if you’re using SSH, you will still be prompted for a username. You can enter whatever you want here and you will be granted access to the port without having to enter a password.

If you’re using telnet, you won’t be prompted for any credentials.

Configure Port Access Menu

The port access menu enables you to SSH (or telnet) into the device and see interactive menu that lets you connect and disconnect from the serial ports without having to open and close multiple connections.
Port access menu

Go to Serial port > Configuration
Click Port access menu configuration

Choose SSH for the protocol if you don’t want to use telnet
Set the desired idle timeout
Set Port access menu quick connect via to Local client. This will let you use an SSH client of your choice rather than the crappy Java web applet.

Configure NTP

Configuring NTP certainly isn’t necessary for a lab environment, but it only takes a couple minutes and it’s nice knowing that your device is set to the correct time.

Go to System administration > Date and time
Enable NTP
Enter the IP address for the NTP server
Set NTP update interval as desired
Click the button to Select a Standard and Daylight time from list

Select your time zone.

Connect Your Devices

Use standard patch cables to connect between the serial ports and the console ports on your devices. The unit will automatically detect the type of device that is connected.

Access Your Devices 

You can use SSH (or telnet, if you opted not to configure SSH) to connect directly to an individual serial port, or you can use the port access menu that was configured earlier.

To access the port menu, SSH to port 7000.

To access an individual serial port, SSH to port 7000 plus the serial port number. Port 1 = 7001, port 15 = 7015, etc.

Console Access

While I didn't cover console access to the unit in this guide, I like to always have the option of console access should the need arise.

Many used units (mine included) don't come with a console cable.

If you have an older Cisco console cable that consists of a separate DB9 to RJ45 adapter, you can use this with a standard patch cable in place of the flat, blue, rollover cable.
You can use an older Cisco console adapter with a standard patch cable in place of the flat, blue, rollover cable for console access

I was also able to connect to the console using an Avocent Cyclades console adapter that I had laying around.
Cyclades console adapter


  1. Nice blog with having good information. It’s very useful for everyone. Thanks and keep posting this type of blog
    CCNA Openings in Hyderabad .

  2. Looking for shower curtains that will look beautiful in your bathrooms without having to worry about costs and durability?