Sunday, February 21, 2010

The story of the Cobalt Qube

The other week, a friendly colleague of mine brought me a small present. He gave me one of his Cobalt Qubes (for free!) which was collecting dust at his home. He was certain that I could give it a better use.

I think I can still remember the days these things hit the market (somewhere in the late 90's). This was a home / office server appliance way before the people of Microsoft thought up their Windows Home Server. It was running some modified version of Linux RedHat, featuring a web interface for all administrative tasks. It also had 2 network cards, so you could easily turn it into a gateway / firewall. The RedHat version running on the Qube was known to be notoriously insecure. It was also running an older 2.0.x kernel which was outdated, even at that time. The Qube 2700 and Qube 2 were both equipped with a MIPS processor. Later models had an i386 architecture. Mine was a Qube 2.

Getting the serial connection to work


The Qube does not have any VGA adapter, so if you want to see what is happening inside, you'll need to get your serial connection to work. The LCD on the back also spits out some messages, but these are rather brief. Now, we need to connect a NULL modem cable to the serial console port of the Qube. You can easily create these NULL modem cables yourself. All you need is:
  • a few metres of phone cable (4 wires)
  • 2 DB9 female connectors
. Solder wire_1 to pin 2, wire_2 to pin 3 and wire_3 to pin 5 on one DB9 connector. Next, solder wire_1 to pin 3, wire_2 to pin 2 and wire_3 to pin 5 and your done. As you can see, pin 3 and pin 2 are crossed, pin 5 is used for mass.
You can connect to the serial console from any Linux box by typing:screen /dev/ttyS0 115200. The output should be similar to the text shown below:

Cobalt Microserver Diagnostics - 'We serve it, you surf it'
Built Wed Mar 3 21:26:25 PST 1999

1.LCD Test................................PASS
2.Controller Test.........................PASS
5.Bank 0:.................................64M
6.Bank 1:.................................64M
7.Bank 2:.................................64M
8.Bank 3:.................................64M
9.Serial Test.............................PASS
10.PCI Expansion Slot....................**EMPTY**
12.IDE Test................................PASS
13.Ethernet Test...........................PASS
16.RTC Test................................PASS
BOOTLOADER: trying to boot from partition /dev/hda1
Decompressing done
Decompressing \ done.

Opening the box


I head no idea what kind of hard drive was in there, or the size, so I decided to open the box and have a look. Apparently, my box had a Western Digital hard drive of 10 GB, which is rather small for today's standards. It also had 16 MB of RAM, which is also rather small.
While surfing the Internet, I found some people putting larger drives in the Qube and more RAM. Apparently, it supports up to 265 MB of RAM, but I had no idea which modern hard drives are supported.

Adding more memory


Unlike other reports you can find on the Internet, the Qube does not use some proprietary memory format. In fact, I've managed to put 2 16 MB modules in there that were salvaged from an old Pentium I computer (standard 72 pin EDO RAM). However, 32 MB is not much either, so I decided to buy 2 modules of 128 MB from MemoryTen. It only took 2 days to get the memory in Belgium and the Qube is now running happily with 256 MB.


Adding a larger disk


Since I'll be using the Qube as a LAN disk, I wanted to upgrade the hard drive to a larger format. I was not sure, however, if the Qube was going to support large drives (i.e. drives larger than, say 40 GB). After a quick search on the Internet, it seemed that all MIPS based Qubes have an LBA 48 IDE controller. This means that the capacity of the drive is limited to 144 petabytes (!!). All later models (including RAQ) based on i386 architecture have an LBA 24 IDE controller, limiting the size to 137 GB (bummer).
My local computer store still had some Western Digital Caviar disks of 320 GB, so I decided to buy one. The drive has an 8 MB buffer and is running at 7200 rpm, which should be a lot faster than the standard 10 GB drive.

Installing Debian Lenny


Martin Michlmayr has written a very good installation guide to install Debian Lenny on a Qube. The Qube can easily boot an install image from the network, but the installer requires at leas 32 MB of memory. Apparently, 32 MB did not suffice, since the installer crashed in the middle of the procedure. Having 256 MB helped a lot. If you don't want to upgrade your memory, you can still install Debian by putting the drive in an external USB enclosure and extract the tarball containing a Debian base install onto the mounted drive. This tarball (and explanation) is also available on Martin Michlmayr's site.
Since my serial connection was working properly, I used the serial installer to install Debian on the new hard drive. As with all Debian installs, this went like a breeze.

Booting the device


Booting from the new drive seemed to be difficult, however. For some reason, not entirely sure why, the Qube refuses to boot from this drive. Debian Linux did support this drive, since I was able to install it, so I needed a different device to boot from. A possible solution would be to boot from the 10 GB drive and to use the 320 GB drive as storage. The Qube does not have a lot of room to spare, however, and powering 2 IDE drives might kill the external power supply. Fortunately I had a Compact Flash to IDE adapter lying around, so I decided to try and use this as boot device.

This seemed to work just fine. The Compact Flash adapter requires an fdd power cable, which I could salvage from an old 486DX100. The fdd cable was soldered to a molex to molex cable and looks more or less like the figure below.

The Compact Flash card now contains the boot partition of 100 MB. Using a larger boot partition or the whole Compact Flash (1 GB) did not work. The rest of the file system is mounted from the 320 GB disk, to limit the number of writes to the Compact Flash.

Conclusion


Enhancing an old Qube's capabilities was a very pleasant experience. It was a lot more fun than installing the Wyse and I must say, it looks a lot cooler. Right now, the Qube isn't doing anything yet, but I will be using it as a Samba / NFS server to store backups. Keep reading this blog, as I will post some more on the Qube in the near future.