Xyplex Maxserver 1500

Other Information
Looking for IRIX or Solaris expertise? Visit my UNIX Consultancy website.

Proper Unix boxen and network gear has an excellent advantage – serial console ports. Do away with monitors, keyboards and mice – just plug in a console server.

The Xyplex Maxserver 1500 is an excellent piece of kit – it’s fairly straightforward to configure, it has 16 ports, and – most of all – it’s cheap. Very cheap. I picked mine up from Ebay for $15.

I’m going to cover setting up a Maxserver 1500, using an Ultra 2 running Solaris 9, which also happens to be my Jumpstart host.

A company called MRV Communications have taken over Xyplex’s Maxserver line – they have a collection of documentation, FAQs, and the software you’ll need.

Initial setup

This page has some good information on the initial setup of the Maxserver – resetting the existing config, and getting into the configuration menu.

Getting a console onto the Maxserver

This is fairly straightforward – get a serial->UTP DTE converter, and plug it into serial port B on your Ultra 2. The plug in some Cat5 cable between that and port 1 on the back of the Maxserver.

Edit /etc/remote on the Ultra 2, and make sure the cuab line looks as follows:


Then fire up tip with tip cuab, hit enter a couple of times, and you have a working console connection to your Maxserver.

The Maxserver OS

One of the first problems we’re going to find is that the Maxserver needs an OS image to boot from. In and of itself, this isn’t a major problem – however, unlike it’s bigger brother the 16×0, and 15×0 series don’t have any internal storage.

This means they have to boot off the network to get their OS.

Setting up network booting

In my case, I had a handy Solaris Jumpstart server, which made it easy to serve out the boot image for the Maxserver.

When you connect to a port on the Maxserver, you’ll find it trying to broadcast boot requests. The header information that you see will contain the unit’s MAC address.

You should see something similar to the following:

RS-423 Terminal Server, Type 36, Rev P.00.00
Ethernet address 08-00-87-01-39-D1, IP address, port 1
Automatic Network Selection: Searching for functional network.

On the Jumpstart server, we need to edit a few files for our network booting.

First of all, we need to take the MAC address and put it in /etc/ethers:

00:08:bf:89:b6 consoleserver # Maxserver 1500

Once that’s in place, we need to give it an IP address. Since we want the consoleserver to be always available, it makes sense to give it a static IP, as opposed to using DHCP to serve it out.

So, we need to place a matching entry in /etc/hosts: consoleserver # Maxserver 1500

Now we have this in place, we need to configure our host to serve out the necessary boot images. Since I was using a Jumpstart server, this was already done. For completeness, however, here are the steps we need to take:

edit /etc/inetd.conf and un-comment the tftp line:

tftp dgram udp wait nobody /usr/libexec/tcpd tftpd /tftpboot

then kill -HUP inetd so the changes can take effect

next, we need to create the /tftpboot directory, and make sure everyone can read it

cd /
mkdir tftpboot
chmod 755 tftpboot

Now that’s in place, we need to take our boot image and place it in the tftpboot directory.

Initially my Maxserver wouldn’t automatically pick it’s image file up – some messing around with snoop, and I worked out the specific path and filename it was looking for.

Go to the MRV’s website and download the latest mx1500.exe file from there. You’ll need to uncompress this with unzip mx1500.exe, and you’ll end up with an OS image file – mx1500.sys.

Looking at the output from snoop, however, my Maxserver is looking for an OS image file called type36.img, and it believes it is in the XYPLEX subdirectory. So, a quick bit of renaming and moving, and we have that in place.

Once this has been done, we need to start rarpd so we can service the RARP requests the Maxserver will send out when it tries to boot:

/usr/sbin/rarpd -a

Note that, at this stage, Solaris will be clever if we reboot our host. When Solaris comes up, it will check for the /tftpboot directory. If it exists, Solaris will assume it is a Jumpstart host serving out boot images, and will start rarpd automatically for us – most handy.

At this point, we’re all set. Plug a transciever into the AUI port on the Maxserver, connect some Cat5 from there to your hub, and power on the Maxserver.

You should now see the Maxserver asking for a boot image, getting one, and then starting up.


Fooled you! Few things ever work first time. So, what went wrong? We have two options for troubleshooting – rarpd itself, and also snoop to see what’s happening on the wire.

First off, let’s look at rarpd. Kill it off, then restart it with the following command:

/usr/sbin/rarpd -a -d

-d puts it in debug mode – rarpd will run in the foreground, and report on what’s going on, This will let you see the rarp requests and replies that occur when the Maxserver boots. You’ll be able to see fairly quickly if you have any configuration errors.

Next up we have snoop, which comes out of the box with Solaris. Just fire up snoop when you power on the Maxserver, and note the network conversation that takes place. You can immediately see what files the Maxserver is looking for as it boots, and what rarpd and your Solaris host are offering it.

Between those two you should be able to solve any boot problems you may have.

Configuring the Maxserver for your consoles

From your port 1 terminal session, type in the following commands, and then reset the Maxserver. This lot should setup ports 2-16 to provide console sessions to Unix hosts and network kit.

define port all telnet transmit immediate
define port 1 telnet echo mode disable
define port 2-16 telnet echo mode character
define port all telnet newline nothing
define port all telnet binary session mode passall
define port all default session mode passall
define port all broadcast disable
define port 1 access local
define port 2-16 access remote
define port all speed 9600
define port all autobaud disable
define port all modem enable
define port all dsrlogout disable
define port dsrwait disable
define port 2-16 dtrwait forconnection
define port all flow control disable
define port 2-16 dcd timeout 0
define port all flow xon
define port all typeahead 16348
define port all autoprompt disabled
define port all line editor disabled
define port all verification disabled
logout port 2-16

Console cables

To wire everything up, we’ll need to get some DB25 and DB9 to UTP converters – you plug one end into your server’s serial port, and then use some Cat5 cable to plug the other end into the Maxserver.

The easiest thing to do is use stock Cat5 patch cables (normally wired UTP ethernet) and then use a converter wired for DCE.

I bought mine as kits from Netshop.

25pin modular adapters can be had from here.

9pin modular adapters can be had from here.

You’d think that there would be some sort of standard way of wiring these things up, but sadly not. There are 4 different standards that I have found – not to mention all the cretinous things vendors do.

So, the table below shows how to wire up each cable. I’ve also included the wire colours, but note that the colours will only be accurate for the above kits from Netshop.

UTP pin
DB25 pin
DB9 pin
Wire colour
What it’s used for
5 and 4
Red and Green


The above converters have been tested with Suns, Dec Alpha, and Origin 200s, and have all worked with the Maxserver 1500.

Using it

Once everything is plugged in, and the Maxserver is booting correctly, you can just telnet to ports on it to access the consoles.

The formula for working out which port to use is simple:

2000 + (100 x <console_port_number>)

So, if you want to access the console of the machine that’s plugged into port 4, you would do:

telnet consoleserver 2400

No Comments

Leave a Reply

You must be logged in to post a comment.